I have been battling the same problem for years - here are some of my “tricks”.
Im not sure if you have delivery, but make the BOGO’s “carryout only”. That way you dont have your driver waiting 10 minutes on someones front step while the customer searches the house for the coupon that they may or may not have.
I like the way Ben handles that, but I am a little more sneaky about it. When the customer calls in their order and mentions they have a BOGO, I take their order, and tell them “Thank you. We will have that ready for you to pick up in XX minutes”. I dont give a total. I then just adjust the ticket when they arrive. If they happen to ask the total when they place their order (this happens about 10% of the time), I tell them “With that coupon, your total is $XX.XX”. I feel that this way you arent accusing them of not having the coupon, yet stating what their total is WITH the coupon.
Good luck!