How to Track Restaurant Marketing ROI: From Clicks to Settled Checks
Track restaurant marketing ROI across reservations, offers, awareness, email, influencers, and POS sales without confusing sales with profit.
Restaurant marketing ROI is the profit created by marketing divided by what the marketing cost. Most restaurant owners can do the math. The hard part is knowing which sales came from their marketing and how much it cost to bring those customers in.
The right tracking method depends on what you are marketing. A reservation leaves a booking record. An offer can capture an identified guest before the visit. An awareness video may influence somebody who never clicks anything. Treating all three as if they produce the same evidence is how a dashboard ends up calling clicks, reservations, attributed sales, and profit “ROI.”
Restaurant owners and agencies ask for something much plainer:
“I want to see actual data from socials to sales.”Restaurant agency prospect
The path from social to sales can be built. It just changes with the campaign.
Start with the action the campaign asks a guest to take
Every campaign should make one response easier to identify. That might be a reservation, an offer claim, an online order, a reply, a loyalty signup, or a code used at checkout.
| Campaign | What you can identify first | What should happen next |
|---|---|---|
| Reservation ad | Booking with a campaign source | Confirm arrival and connect the party to its check |
| Feast offer-based strategy | Offer claimed during an in-person purchase | See the purchase amount associated with the campaign |
| Email or SMS | Recipient who clicked, replied, or claimed | Follow that person to the visit and check |
| Influencer or organic post | Tagged response when one exists | Track the response; measure broader awareness separately |
| Awareness ad | Often no identifiable response | Compare covers, checks, item sales, and revenue with a credible baseline |
The platform metric is not useless. It answers an earlier question. Impressions show reported delivery. Clicks show response. Reservations show intent. Arrivals show completed visits. Settled checks show sales.
Confusion starts when an earlier event is renamed as a later one.
Reservations are easiest when the booking source survives to the host stand
For a reservation campaign, keep a campaign label on the booking link and make sure it appears in a record the restaurant can export or review. Then compare three counts:
- How many campaign reservations were made?
- How many of those parties arrived?
- What did the arrived parties spend?
That separates cancellations and no-shows from completed meals. It also prevents a table for four from being confused with four separate reservations.
The exact booking fields depend on the restaurant's reservation system and setup. Test the link before spending and confirm the source can still be seen in the booking record. A past Feast OpenTable setup required special handling to preserve campaign information through a restaurant website, which is why a generic “we track reservations” claim is not enough.
An offer can connect an ad response directly to a POS check
An offer creates a more direct trail for a restaurant without reservations:
Ad → guest signs up → guest visits and claims the offer with a purchase
This is how we do it at Feast: a guest signs up through the campaign, then visits the restaurant to claim the offer with a purchase. Signing up and claiming are different. In Feast, the offer cannot be claimed without that in-person purchase.
We connect the purchase to the campaign through the restaurant's POS integration, so you can see what the guest spent, not just that someone clicked your ad or signed up.
Awareness requires a comparison because many guests never identify themselves
Somebody can watch a restaurant video, remember the name, and walk in three days later without clicking, claiming, or mentioning the ad. Direct matching will miss that person.
The practical answer is to compare what happened during the campaign with what the restaurant would normally expect. Look at the same locations, days of week, meal periods, and operating conditions. Keep covers, check count, average check, and revenue separate.
If revenue increased while covers fell, the restaurant did not necessarily acquire more customers; the guests who came may simply have spent more. A Feast multi-location review found exactly that pattern, which is why covers and revenue cannot substitute for each other.
A before-and-after change is still an observation. Holidays, weather, price changes, closures, events, and other marketing may explain part of it. A stronger incremental estimate needs a credible comparison group or another design that approximates what would have happened without the campaign.
Direct attribution, observed lift, and incrementality are three different answers
Use these labels consistently:
- Directly attributed sales: settled checks connected to an identified campaign response under a stated matching rule.
- Observed lift: the difference in covers, checks, guests, item sales, or revenue against a like-for-like baseline.
- Incremental sales: the additional sales a credible test estimates would not have happened without the marketing.
Direct attribution is strongest when the individual trail is clear, but it misses anonymous guests. Observed lift sees the whole restaurant, but other changes can move it. Incrementality tries to answer the causal question, but it usually requires more data and a better comparison.
None of those is profit yet.
Calculate ROI only after the sales evidence is honest
Once the restaurant has a defensible sales number, calculate:
Marketing ROI = (incremental contribution before marketing − campaign cost) ÷ campaign cost × 100
Contribution is revenue left after the variable costs required to produce those sales. Campaign cost can include media, creative production, offer fulfillment, influencer compensation and rights, software, agency fees, and additional paid labor when they apply. Count each cost once.
For an illustrative example, suppose a campaign produced an estimated $4,000 in incremental sales. If the food, packaging, processing, and extra paid labor tied to those sales cost $1,400, the incremental contribution before marketing is $2,600. If the campaign cost $1,000, it produced $1,600 after campaign cost:
($2,600 − $1,000) ÷ $1,000 = 160% marketing ROI
That is a hypothetical example, not a restaurant benchmark. The restaurant's own margins decide what is good.
ROAS is narrower. It usually compares attributed revenue with ad spend. A hypothetical 4x ROAS can still be unprofitable when food, discount, production, software, and labor costs are high. It can also understate a campaign when many influenced guests never identify themselves.
The hard part is getting the numbers, not calculating ROI
You can see what you spent on ads. You can see what your restaurant sold. What is often missing is the connection between the two: which customers came from the campaign, and what did they spend?
Without that connection, you can divide sales by ad spend, but you still do not know whether you are counting business your marketing brought in. A busy week might include regulars, walk-ins and guests who saw your ad. Your sales total alone does not separate them.
At Feast, we connect offer-based campaigns to in-person purchases so you have sales figures to compare with your marketing costs. For awareness campaigns, we also look at changes in restaurant sales, with the limits explained above. The point is to give you the numbers you need to decide what to keep spending on.
Know when to spend more, improve a campaign, or try something else
Knowing your marketing ROI helps you decide what to do with your next marketing dollar. You can see whether a campaign is bringing in business at a cost your restaurant can afford, and use the results to decide what to change.
- Invest more when a campaign is working. If the additional sales leave money after marketing and serving costs, increase the budget gradually and check that the return holds.
- Improve a campaign when you can see what is holding it back. If people click but few sign up, review the offer and the page explaining it. If reservations come in but guests do not show up, look at confirmations and reminders before paying for more bookings.
- Try a different strategy when the results do not justify more spending. If tracking is working, customers have had time to visit, and the campaign still costs too much for the business it brings in, stop it and put a defined test budget toward a different approach.
This is what we help restaurants do at Feast: connect marketing to sales so you can make informed decisions about what to spend, what to improve and what to stop. Instead of committing more money because an ad looks promising, you can test with a controlled budget, learn from the results and invest more confidently in what works.
Feast's Revenue Analyzer helps you understand how your marketing relates to sales by bringing your campaign history and POS data into a seasonal revenue model built around your restaurant.
Feast makes it possible to scale your marketing with confidence and iterate with clarity: you can use your restaurant's results to decide where to invest more and what needs a different approach.
See how Feast can help you understand your marketing's impact on revenue.