Restaurants · 3 min read

One campaign per location: Meta ads for restaurant groups

A restaurant group does not have one audience. It has one per store. How to structure Meta ads so each location gets its own radius, budget, offer, and report.

By Arsany Ibrahim ·

Loaded fries on checkered paper at The Kluckin Chicken, photographed in the kitchen

A restaurant with several locations is several restaurants. Each has its own neighborhood, its own lunch crowd, its own slow night, and a manager who wants to know what the ads did for their register. A single citywide Meta campaign cannot answer that manager, so it gets cut the first slow month.

We run Meta for The Kluckin Chicken, a Nashville-style hot chicken brand with four Los Angeles locations. The account is built one campaign per store. This post is the structure and the reasons for it.

The radius is the audience

A location draws from a short drive, and the radius is smaller than most owners assume. Each campaign is targeted to a radius around its own store, set by how far people actually travel for that location rather than by a round number. Two stores whose radii overlap get the overlap split, not doubled.

Inside the radius, the campaign runs when people are deciding what to eat. Dayparting toward lunch and dinner decisions means the budget is spent in the hours when a hungry person is a short drive away, not at three in the morning.

The budget is per store

Each campaign carries its own budget, so a manager can see what their store’s ads cost this week. A store that is already full at lunch does not need to pay for lunch ads. A store with a slow Tuesday can carry an offer for Tuesday. When budgets are pooled, the platform sends the money to whichever store converts cheapest, which is usually the one that needed it least.

Creative is shared, offers are not

The ad library is one library. Food shot in the kitchen, under the light it is served in, with the checkered paper and the sauce doing the work: made for dipping, one pull, pour on the good stuff. Every store runs the same creative because the food is the same and the creative is what stops the thumb.

Offers are per store. An offer that can be redeemed at one location on one night is a number that store’s manager can count at the end of the shift. That count is the tracking. Where the restaurant has online ordering, the pixel and the conversions API attribute those orders too, and the campaign pushes people to order direct rather than through a delivery app, because a direct order is worth more and can be measured.

The report is per store

Offer redemptions per store, per week, next to what that store’s ads cost. Online orders from ads where the ordering system allows it. Cost per redemption by creative, so the dipping ad and the shake ad can be compared and the weaker one retired.

That is the whole report. No reach, no frequency. A manager reads their row and knows whether the ads paid for themselves.

Where this goes wrong

The common mistakes are a single campaign with every store’s address as a location, which lets the platform pick favorites; an offer that is valid everywhere, which nobody can count; and creative that is a logo on a colored background, which nobody stops for. Each of those is a structural fix, not a budget fix.

If you run a restaurant group

Open your ad account and count the campaigns. If there are fewer campaigns than stores, no manager can see their own number. Then look at the last offer you ran and ask whether one store could have counted it. The Marketing Audit looks at structure, creative, and tracking together and comes back with a plan per store. The earlier post on ads you can count at the register covers the creative side.



Want this applied to your funnel?