Blocking meal-time words as exclusions. Dinner and lunch look like general dining terms worth excluding, so they get blocked. Planners then search corporate dinner venue, holiday lunch, and private dinner party, and the campaign stops reaching the exact searches it exists for. On event campaigns these words carry two meanings and have to be handled at the phrase level, never blocked outright.
Sending event traffic to the reservations page. A planner needing a room for 40 is not trying to book a table for two. Pointing that traffic at a booking widget converts a qualified inquiry into a bounce.
Judging the channel on what a click costs. Event searches cost more than general dining searches because the intent is worth more. A higher click cost on a term that produces inquiries is not a problem to be solved.
Counting form opens instead of sends. A form that opens is not a lead. If the count ticks up when the form appears rather than when it is sent, the report will show inquiries that never existed, and the ads will go looking for more people who open forms and walk away.
Letting directions into the event report. This is the one that hides longest. The form never proved it could send, so the ads counted map direction taps as inquiries and kept spending to get more of them. The report looked healthy for months. If your private-event report contains the word directions, the inquiries in it are not inquiries.
My advice: If the calendar is empty and the report looks busy, believe the inbox.