Sample campaign plan · Growth

Winter Table.
More covers for Saffron Table.

This is the plan a Growth client receives before a dollar is spent: the goal, the money, the ads, the forecast, the rules, and the one message that approves it. Saffron Table is a sample client with sample numbers. The method is the real one.

01 · The brief

One result.
One budget.
One price.

Saffron Table seats 70, runs at 61 percent on weeknights and turns tables away on Saturdays. December is strong; January and February are the problem. The owner can take about 450 more covers a month without adding staff.

Goal

176 bookings a month

About 440 extra covers a month at 2.5 guests a table, from 1 December to 28 February. Counted in OpenTable, not in ad platforms.

Budget

$3,000 a month in ads

Paid by the restaurant straight to Meta, Google and TikTok. Never held, never marked up. A monthly cap is set on every account so it cannot be exceeded.

Target

$17 a booking, $22 cap

A booking is worth about $82 at the table, at the $32.75 average check. We agreed the ads may cost up to $22 a booking; anything over that for three days, with at least five bookings, is paused without asking.

Secondary goals

Private dining for the holidays. The back room seats 24 and sold out two weekends last December by word of mouth alone. Target: 20 enquiries, 6 parties, at up to $45 an enquiry.

First-party guests. Every booking from an ad lands on a page that asks for a birthday, so by March the restaurant owns a list it can fill quiet Tuesdays with for free.

02 · Where the money goes

One budget,
three jobs.

Instagram makes people hungry. Google catches the ones already looking. TikTok reaches the under-35s who decide where their group eats. The split moves ten percent a week toward whichever is cheapest per booking.

Meta · Instagram and Facebook$1,500

Reels of the food and the room, a holiday-party lead form, and retargeting everyone who visited the menu.

Google · Search and Maps$1,100

"Private dining Brooklyn", "Persian restaurant Brooklyn", the restaurant's own name, and Maps directions within three miles.

TikTok · Spark Ads$400

Boosting the two best organic videos a month to 18–34s within five miles. Small, because it is measured last.

What is not in the budget

The landing page, the film day, the ads themselves, the tracking and the dashboard. Those are the Growth retainer. Ad money buys reach and nothing else.

How the split changes

Every Monday the worst-performing platform gives ten percent of its budget to the best one, inside the $3,000. Below $300 a month a platform is paused and the money moves. That is a standing rule, approved once.

03 · The ads

Three hooks,
three formats, nine ads.

Every ad is shot in the restaurant, written in the owner's voice, and carries the same promise: a table, tonight, three blocks from the train. The three mockups below are one hook in each format; the matrix shows the rest.

Instagram feed · mockup
SsaffrontablebkSponsored

The lamb has been on the bone since 6am. The room is warm, the train is three blocks away, and there is a table with your name on it tonight.

Dinner is
solved.
Saffron Table · Atlantic Ave · book in 20 seconds
saffrontable.nyc/winterBook a table
TikTok Spark Ad · mockup
POV: it's Tuesday and you refuse to cook
The $19 thali
that fixed
my week

@saffrontablebk Chef Noor plates the Tuesday thali in one take. Sound on. Book from the link, we hold it 15 minutes.

Book nowReserve
HookInstagram Reel (9:16, 12 s)Feed or carousel (1:1)Search ad
Dinner is solvedLamb coming off the bone, the room filling, the booking screenThree dishes, three prices, one button"Dinner tonight near Atlantic Ave" with the hours and the walk from the train
The back roomThe room empty at 5, full at 8; the host closes the doorCarousel: the room, two menus, last December's dates sold out"Private dining Brooklyn 12–24" with set-menu prices and the hold-a-date link
The Tuesday thaliChef Noor plates it in one take, price on screenThe thali from above with the line "Tuesdays, $19, until it sells out""Persian lunch Brooklyn Heights" with the thali and the pickup time

Each hook runs as two copy variants. Samia bot, our software, rotates in the next approved variant when an ad's frequency passes 3.5 in seven days or its click rate drops 30 percent from its first week. Faces of staff appear only with written consent; no generated people, ever. Every number in an ad, the review count included, is checked against its source before launch; a mismatch holds the ad.

04 · The forecast

What a booking
should cost.

These are planning assumptions, written down before launch so that the Monday numbers have something honest to be compared with. A forecast is a promise to measure, not a promise of results.

PlatformSpendCost per 1,000 viewsClick rateClicksPage to bookingBookingsCost per booking
Meta$1,500$141.2%1,2908%103$14.60
Google$1,100$2.40 a click6.5%45812%55$20.00
TikTok$400$80.9%4504%18$22.20
Month one$3,0002,198176$17.05

About $14,400 in covers

176 bookings at about $82 a table, the $32.75 average check. Against $3,000 of ads and the $6,500 retainer, that is about $1.50 in covers for every dollar if the forecast holds, before the back room.

Plus the back room

20 enquiries, six parties at about $1,800 each: another $10,800, from $600 of the Meta budget and the search ads.

If it does not hold

The Monday text says so in plain numbers. Over $22 a booking for three days, with at least five bookings, and the ad set is paused, rebuilt and relaunched at our cost. That is the Growth promise.

05 · The rules that run it

Approved once.
Runs itself.

Samia bot, our software, pulls every number nightly and applies these rules every morning. It never writes a new ad or spends outside the budget on its own; those wait in a queue for a person. Everything else runs inside the rules you approved, and every action is logged on the dashboard with the number that triggered it.

  • Pause over the cap. Any ad set over $22 a booking for three days, with at least five bookings, is paused and its budget moves to the best performer.
  • Shift toward what works. Each Monday, ten percent of the budget moves from the worst platform to the best, inside the monthly $3,000.
  • Rotate tired ads. Frequency over 3.5 in seven days, or click rate down 30 percent from week one, and the next approved variant goes live.
  • Respect learning. Nothing is touched within 72 hours of a change, so the platforms can settle.
  • Hard caps. A monthly spending limit is set on every ad account, so even a platform error cannot overspend.
  • Floors. No ad set below $20 a day; below that, it is paused rather than starved.
  • Calendar. Ads pause on the two closed days and ramp 30 percent in the ten days before New Year's Eve.
  • Ask first. New creative, a new audience, a budget change above 10 percent, or any claim about price or health waits for a yes.

06 · Before a dollar is spent

Bookings,
not clicks.

The number on the dashboard is the number in OpenTable. Ad platforms get told about bookings so they can find more of them, but they never get to grade their own homework.

One tag container

Google Tag Manager on the site, with Analytics, the Meta pixel and the TikTok pixel inside it. Consent mode on. Nothing fires before a visitor agrees.

Bookings sent back

OpenTable confirmations reach Meta's Conversions API, Google's enhanced conversions and TikTok's Events API from the server, so blocked browsers do not hide results.

Tracked phone numbers

A number per platform, forwarding to the restaurant's own line. Calls over 40 seconds count as a booking enquiry; the recording is kept 30 days.

One naming rule

Every link carries source, platform, campaign and ad in the same order, so the dashboard can say which ad filled which table without guessing.

07 · The calendar

Twelve weeks,
four approvals.

The client reads four things in three months: this plan, the ads before launch, the first Monday text, and the monthly report. Everything else happens.

  • Week 0 · 16–20 November
    Access and tracking. The onboarding form, partner access on each platform, tag container live, phone numbers live, a baseline month of OpenTable pulled. Nothing runs until bookings count.
  • Week 1 · 23–27 November
    The film day and the page. Four hours in the restaurant on a quiet Tuesday. The Winter Table landing page is built on the restaurant's own domain. Approval two: the nine ads.
  • Week 2 · 1 December
    Live. All three platforms, all nine ads, at half budget for five days while the platforms learn. First Monday text on 7 December.
  • Weeks 3–6 · December
    Holiday peak. The back-room ads take over the Meta budget. Budget ramps 30 percent before New Year's Eve, pauses on the 24th and 25th.
  • Weeks 7–10 · January
    The quiet months, which is the point. The Tuesday thali and the first-party email list carry January. Approval three: the January report and the February plan, in one message.
  • Weeks 11–12 · February
    Review. Cost per booking against the $17 forecast, covers against 440, what the list is worth. Approval four: the spring plan.

08 · One message to approve

This is the whole
approval.

A plan should be short enough to approve from a phone. This is the message the owner of Saffron Table would receive, and "yes" is all it takes.

Text message · 20 November

Winter Table, ready to go. $3,000 a month across Instagram, Google and TikTok, 1 Dec to 28 Feb. Goal 176 bookings a month at $17 each, cap $22. Nine ads, all shot at the restaurant, no prices in the Reels, licence line on every search ad. Standing rules: pause anything over $22 a booking for three days with at least five bookings, shift 10% a week to the best platform, never above the cap, pause on the 24th and 25th. You will get numbers every Monday at 8am. Reply YES to launch on 1 December, or call me with changes.

Everything in that message is on the dashboard the same morning, and every action the rules take is logged there with the time and the number that triggered it.

Start here

A plan like this
for your business.

Three questions, two minutes. We reply within one working day; after a thirty-minute call you get a two-page plan and a fixed price, written the way this one is.

Notes from the agency

An email when we have something useful to say.

What is working for owner-run businesses, in plain numbers. No schedule and no selling. Leave any time by replying.