Somebody sends an email on Tuesday, the weekend is busy, and by Monday the email is why. That is the standard method and it is not a method.
Restaurant campaign measurement is genuinely harder than the ecommerce version. The conversion happens in a room rather than a browser, often through a third-party booking platform, and sometimes by a guest walking through the door without telling anybody anything at all.
You will not get to certainty. You can get to a number you would defend in front of an owner, which is a lower bar and a much more useful one.
Three things people mean by attribution
All three get called attribution. They are different claims with very different strengths, and being clear about which one you are making is most of the work.
- A traced booking. The guest clicked your link, used your code, or replied to the message, and there is a record joining the two. The only clean one.
- A windowed booking. The guest received the message and then booked within some period afterwards. Not proof. Evidence, if the window was set honestly and in advance.
- Lift. The people who received the message booked at a higher rate than a comparable group who did not. The strongest claim available to you, and the one almost nobody bothers to set up.
Traced bookings: build the trace before you send
You cannot add a trace afterwards. Ten minutes before the send buys you a number you can stand behind for the rest of the year.
- A unique booking link per campaign, so the reservation carries the campaign with it into your book.
- A phrase to mention, for the guests who telephone. "Say you saw the October note."
- "Reply to this and I will hold it" — the highest-quality trace there is, because it arrives in a named person's inbox with the guest's own name on it.
- A code, if there is an offer. Codes work, but they change behaviour, so a code-only trace measures the offer rather than the message.
Attribution windows: pick one, write it down, keep it
A window is the period after a send during which you are willing to credit a booking. There is no correct length. There is only a consistent one, chosen before you know the result.
For a win-back to a lapsed guest a long window is defensible, because those guests genuinely think about it for weeks. For "two seats left on Thursday," anything past Thursday is nonsense.
Set it once per campaign type and never adjust it retrospectively to improve a number. That habit is exactly how a marketing report stops being read by the people it was written for.
Win-back / lapsed regular 30 days Occasion, asked early until the occasion date Event or one-off night until the night itself General newsletter 14 days And the rule that matters more than the numbers: the window is set BEFORE the send, and written down in the same place as the campaign.
The holdout, which is the only honest version
Choose your audience, then hold back a random tenth and send them nothing. Compare bookings across both groups inside the same window.
This feels wasteful and is not. It buys the answer to the question sitting underneath every campaign report: would these people have come anyway. Regulars book regularly. A win-back sent to people who were already about to book produces a beautiful report and no additional covers, and you will never know which one you have without a holdout.
Two cautions. The holdout has to be genuinely random rather than "the ones we forgot to import." And on small lists the gap between the two groups will be noise for a long time — if your audience is a few hundred people, run the same holdout across several campaigns and pool the results rather than reading each one as a verdict.
Why opens are close to meaningless
Open tracking works by loading a hidden image. Several mail providers now load that image on the guest's behalf whether or not a human looked at anything, which means your open figure is partly a measurement of which email clients your guests happen to use.
Even before that, an open was never a cover. Nobody in the history of restaurants has been seated because they opened an email.
Keep the number as a diagnostic rather than a result. A sudden collapse in opens usually means a deliverability problem, which is worth knowing about quickly. A strong open figure on a campaign that produced no bookings means your subject line worked and your message did not.
What a campaign report should contain
One page, the same shape every time, filed where the next person can find it.
And resist comparing any of it to a published benchmark. The restaurants publishing campaign figures are not running your concept to your list, and you have no way to check how they counted.
CAMPAIGN Lapsed regulars, October SENT everyone meeting the lapsed definition HOLDOUT a random tenth, sent nothing WINDOW 30 days, fixed on 14 October Traced bookings = replies + unique-link bookings Covers from traced = sum of party sizes Revenue from traced = sum of closed checks Booking rate, sent = booked ÷ sent Booking rate, holdout = booked ÷ held back LIFT = sent rate − holdout rate Then one sentence, in plain English, on what you would do differently next time. That sentence is the part anyone will actually read.