Skip to content
GROWTH DEPT.

Media buying

Your AI team buys your media. You approve.

Six ad platforms, checked every morning. Your AI team works out what should change, shows you before and after in Slack, and makes the change the moment you say yes. Every move is logged.

Blended return on ad spend, with your AI team's changes marked

Weekly, last 12 weeks, one made-up brand · spend up 36% over the same weeks · every marker is a change you approved in Slack

  • Blended return
  • Your floor
1.0×1.6×2.3×3.0×3.6×W1W3W5W7W9W12Blended return 2.7×Your floor 1.6×123
  1. W4· 3 ad sets paused
  2. W7· Duvet-03 scaled
  3. W10· 6 new ads live · tests cost a week

Example numbers.

  • Meta
  • Google Ads
  • TikTok
  • Snapchat
  • AppLovin
  • Amazon Ads

Six platforms

One media buyer who never sleeps, on every platform you spend on.

Your AI team runs all six the same way: it looks at every ad every morning, works out what should change, and shows you before and after. The details differ by platform. The discipline does not.

Changes your AI team made · per platform, per day

One example week. Every square is a day it read every ad; the shade is how many changes it made.

MonTueWedThuFriSatSun
Meta
7548632
Google
3243511
TikTok
2136210
Snap
1212301
AppLovin
1021100
Amazon
4335422
Changes in a day01–23–56+

Example week. A blank square is a day it read every ad and changed nothing.

  • Meta

    Return, last 12 weeks2.9×
    What your AI team does here
    • Every ad judged against the others in its set, every morning
    • Budgets moved to the winners, losers paused, new ads tested weekly

    Last change

    Prospecting · UGC-07Pause

    $300/day → paused

  • Google Ads

    Return, last 12 weeks2.1×
    What your AI team does here
    • Search, Shopping, Performance Max and YouTube built from a plan you can read first
    • Wasted searches blocked, winning searches given their own budget

    Last change

    Search · SheetsBlock

    “free sheets” → blocked

  • TikTok

    Return, last 12 weeks1.7×
    What your AI team does here
    • Creator videos that sell on TikTok Shop become Spark ads and Shop ads
    • Budget follows the creators whose videos keep selling

    Last change

    @thecozyhome videoLaunch

    Shop post → Spark ad · $50/day

  • Snapchat

    Return, last 12 weeks2.2×
    What your AI team does here
    • Your Meta winners rebuilt as Snapchat ads, never launched twice
    • Bids moved in small steps so one bad day never becomes a bad week

    Last change

    Catalog · cost per saleLower

    $28 → $26

  • AppLovin

    Return · Live since week 62.1×
    What your AI team does here
    • Each video reported on its own, so you can see what each one earns
    • On-brand end cards made and swapped in when a new video arrives

    Last change

    Video 04 end cardSwap

    spring card → new card

  • Amazon Ads

    Return, last 12 weeks4.2×
    What your AI team does here
    • Sponsored Products, Brands and Display run against your target
    • Search terms that waste money cut, ones that sell get their own campaign

    Last change

    “cooling sheets queen deep pocket”Scale

    shared campaign → own campaign · $60/day

Return lines and last changes are examples, drawn the way the hourly change log shows them.

Slack What a morning looks like

Your AI team proposes. You approve. The work gets done.

No dashboard to open. Your AI team brings the decision to Slack with the numbers behind it, and nothing changes until you say so.

Search Harbor & Pine
H

approvals

6:00 AMYour AI team checked every ad on Meta, Google, TikTok, Snapchat, AppLovin and Amazon
Johnsonapp9:00 AM
Morning @Sarah. Five changes on Meta: three ad sets have been under your 1.6× floor for three days while the two winners have room to grow. Nothing changes until you approve.
Meta · 5 changes ready for your approvalJohnson
  • Prospecting · Broad · UGC-070.9×

    3 days under your 1.6× floor

    Pause$300 → paused
  • Retarget · 7d · Bedskirt1.1×

    3 days under floor · 7-day window

    Pause$150 → paused
  • Catalog · All products1.0×

    Break-even for 5 days

    Pause$200 → paused
  • Prospecting · Broad · Duvet-033.4×

    Above floor 9 days, room to grow

    Scale$400 → $625
  • Retarget · 30d · Sheets2.8×

    Above floor 12 days

    Scale$250 → $475
Stops $650/day of waste · moves $450/day to winners · both raises are above your +25% daily cap, so they need your tapApproveSkip
Sarah9:04 AM
Approve all five. Duvet-03 is the one I would have scaled myself.
Johnsonapp9:04 AM
Done. Three paused, two scaled, $450 a day moved to the winners. Every change is logged with before and after. Next check-in at 10:00.
21
9:05 AM5 changes made on Meta · all logged
Johnsonapp4:10 PM
Afternoon read on the two scales: Duvet-03 is holding 3.3× at $625; Sheets · 30d dropped to 1.9×, still above your floor. If it is under 1.6× at tomorrow’s read I will propose moving it back to $250.
Message #approvals

Names and numbers are examples.

How much it's allowed to do

You set the limits for every AI employee. Per platform. In writing.

Every platform starts at Watch. You move it up one step at a time, once you've seen what your AI team would have done. Any platform can be moved back down in a message.

  1. Step 1 of 3

    Watch

    Your AI team suggests. Nothing changes. You see exactly what it would have done, and why.

  2. Step 2 of 3

    Approve

    Suggestions arrive in Slack at 9:00 as one card per platform, with before and after on each. You tap Approve or Skip. An unanswered card is a Skip.

  3. Step 3 of 3

    Run

    Inside three numbers you set — a daily budget ceiling, a return floor, a daily scale cap — your AI team acts on its own and reports every hour.

The limits you set before it runs

On Run, your AI team acts on its own only inside three numbers you sign off on, per channel. They're yours to change any time. The black line is the limit; the bar is today. Example numbers.

  • Daily budget ceiling

    Ceiling $9,000 a day · $7,240 spent today

    Your AI team never spends past it. Near the ceiling, it stops scaling and tells you.

  • Return floor

    Floor 1.6× · running 2.7×, well above

    Ad sets under the floor for three days are paused or proposed for pause.

  • Daily scale cap

    Max change per day +25% · largest move today +12%

    How far your AI team may grow an ad set on its own in one day. Anything bigger comes to you as a proposal, like the two raises in the approval card above. Small steps also mean the platform never has to relearn who to show the ad to, so a raise never costs you a week of results.

The worst day on Run

With these three numbers, here is the most a bad day on Meta can cost. Every change can be reversed. Spend already out the door cannot, which is why the ceiling exists.

Most it can spend in a day
$9,000
the ceiling, whatever happens
Biggest single move
+25%
of one ad set's budget
Most a loser can cost
3 days
at its current budget, then it is paused

The line it never crosses

The limits cover spend. This covers everything else. Even on Run, the right-hand column always waits for someone on your team.

Your AI team may, inside your limits

  • Pause an ad set under your floor
  • Grow an ad set, up to your daily cap
  • Move budget between ad sets you already approved
  • Block a search term that wastes money
  • Nudge a bid toward the return you set

Only with a tap from your team, even on Run

  • Launch a new campaign or a new ad
  • Change a product price
  • Edit a live Amazon listing
  • Send a customer an email or a text
  • Add a new ad platform
  • Spend past your ceiling, or raise it

The kind of numbers it sends

Return up, waste down, budget where it earns the most.

Your AI team posts charts like these in Slack and keeps a Google Sheet behind each one that refreshes itself every hour. You always know where the money went and what it came back as.

Return on ad spend by platform

Weekly, last quarter · spend up 36% over the same weeks, return held above your floor

  • Meta
  • Google
  • Amazon
  • TikTok
1.0×1.9×2.8×3.7×4.6×W1W4W7W10W13
  • Meta 2.9×
  • Google 2.1×
  • Amazon 4.2×
  • TikTok 1.7×

Where this month's budget went

Last 30 days

$228kad spend
  • Meta43%
  • Google21%
  • Amazon19%
  • TikTok8%
  • Snapchat5%
  • AppLovin3%

Ad spend by platform

Monthly, last six months · August spend +36% vs March at the same blended return

  • Meta
  • Google
  • Amazon
  • TikTok
  • Snapchat
  • AppLovin
$0$62k$123k$185k$246kMarAprMayJunJulAug

Example numbers for a made-up brand. Yours read from your own ad accounts, live to the hour.

One ad, sixty days

What your AI team does with an ad after you approve it.

A real CGK Linens ad, and the sixty days that follow a launch: a small test, a Thursday read, more budget for a winner, the tired version spotted early and the next cut swapped in.

CGK Linens ad
CGK LinensReal ad · served on Meta
Format
Video · 4:5
Staged
Day 1 · $50/day
Best day
Day 19 · 3.4×
Peak budget
$400/day
Retired
Day 37 · next cut in
Staged by our AI team, approved in Slack
  1. Thu

    Staged

    $50 a day in the testing campaign. Approved in Slack in one tap.

  2. Day 7

    First read

    2.9× against a 1.6× floor. Budget raised to $150.

  3. Day 19

    Winner

    3.4× at $400 a day. Re-cut for TikTok, Snapchat and AppLovin.

  4. Day 35

    Tiring

    Same people seeing it four times. Return slipping toward the floor.

  5. Day 37

    Next cut in

    A fresh version swapped in while the ad set was still healthy.

Return on this ad, day by day

Against your 1.6× floor · the first week is noise, your AI team waits for the Thursday read · next cut in on day 37

  • Return
  • Your floor
0.5×1.3×2.0×2.8×3.6×D1D5D15D35D60Return 3.1×Your floor 1.6×123
  1. D7· Thursday read · first week is noise
  2. D35· Tiring
  3. D37· Next cut in

The ad is real. The timeline and numbers are an example of the system, not a result we promise.

Ads we've run

Real ads, for real brands we run.

Static and video, every one served on Meta for a brand Growth Dept runs. Our AI team staged, tagged and budgeted them; the team approved them in Slack.

  • CGK Linens3 ads
  • 4374 ads
  • Vita Hustle5 ads

10 static · 2 video

Swipe to see more. 12 ads.

Vita Hustle ad, static
Vita HustleStatic · MetaFeed and Reels · 4:5 · static
437 ad, static
437Static · MetaFeed · 1:1 · static
Vita Hustle ad, video
Vita HustleVideo · MetaFeed and Reels · 4:5 · video 1:05
CGK LinensSponsored ·
CGK Linens ad, No-lift bed skirt
cgk.comNo-lift bed skirtShop now
CGK LinensStatic · MetaFeed · 1:1 · static
437 ad, static
437Static · MetaFeed · 1:1 · static
Vita Hustle ad, static
Vita HustleStatic · MetaFeed and Reels · 4:5 · static
CGK LinensSponsored ·
CGK Linens ad, Queen sheet set
cgk.comQueen sheet setShop now
CGK LinensStatic · MetaFeed · 1:1 · static
437 ad, video
437Video · MetaFeed and Reels · 4:5 · video 0:05

Real ads from brands we run today · results vary by brand.

Graded on what it really sold

Not the platform's own number.

Every ad platform grades its own homework, and every one of them takes credit for the same sale. Your AI team grades each ad on what it actually brought in across your whole business, including the Amazon orders the platform can't see. Same ad, two scorecards. Decisions are made on the honest one.

  • The platform's number is shown next to your AI team's, labeled, never mixed in.
  • Amazon orders an ad drove are counted, even though Meta cannot see them.
  • An ad that looks great in Meta and poor everywhere else gets paused.
  • Northbeam or Triple Whale stays yours. Your AI team reads it; it does not replace it.

Same five ad sets, two scorecards

Return on ad spend, last 7 days · what Meta reports vs what your AI team counts across every store

  • What Meta reports
  • What it actually brought in
0.0×0.9×1.8×2.8×3.7×UGC-07Duvet-03Sheets · 30dCatalogBedskirt · 7d
  • NorthbeamCounted by Northbeam across every store
  • Amazonplus the Amazon orders the ad drove

Example numbers. Your AI team decides on the blue bars.

Search Harbor & Pine
H

approvals

Johnsonapp9:00 AM
UGC-07 shows 3.4× in Meta and 0.9× counting everything, including the Amazon orders it did not drive. Duvet-03 is the opposite: 2.9× in Meta, 3.4× once Amazon is counted. Proposing pause on the first and more budget for the second.

Every change is logged

Every change has a name, a reason and a record.

Once an hour, your AI team posts every change made on every platform, by anyone on the team, with the before and after value and who did it. A quiet hour posts nothing.

  • Before and after on every budget, bid, status and search term.
  • Changes by your people and your AI employees sit side by side.
  • When a person changes something, your AI team leaves it alone for two days.
  • The full history is kept on your machine, forever.
Search Harbor & Pine
H

media-buying

10:00 AMHourly change summary
Johnsonapp10:00 AM
Five changes this hour: four by me, one by Maya. Before and after on each. A quiet hour posts nothing.
Changes in the last hour · 5Johnson
  • Meta · Prospecting · Duvet-03Daily budget
    $400 → $625

    Johnson · approved by Sarah

  • Meta · Prospecting · UGC-07Status
    Active → Paused

    Johnson · approved by Sarah

  • Google · Search · SheetsBlocked search
    — → “free sheets”

    Johnson · inside your limits

  • Meta · Retarget · 30d · SheetsDaily budget
    $475 → $500

    Maya

  • Snapchat · Catalog adsTarget cost per purchase
    $28 → $26

    Johnson · inside your limits

Maya raised the Sheets budget itself at 9:47. I’ll leave that ad set alone for two days so we don’t work against each other.

Message #media-buying
Search Harbor & Pine
H

media-buying

Maya2:14 PM
@Johnson the Sheets scale looks early, put it back.
Johnsonapp2:14 PM
Done.
Undone · Retarget · 30d · SheetsJohnson
$500/day → $475/dayUndone · by Maya

Back where it was at 9:04. Logged as undone by Maya. I will leave this ad set alone for two days.

1

Every change keeps its before, so any of them can be walked back in a sentence. Names and numbers are examples.

Questions

The ones founders ask on the first call.

Will your AI team touch my ad accounts on day one?

No. Every platform starts at Watch: for at least a week it only tells you what it would have done and why. You move it up to Approve when you like what you see, and to Run only for platforms where you've signed off on the limits.

What happens when my media buyer and your AI team disagree?

Your person wins. If someone on your team changes a budget, bid or status, your AI team leaves that ad set alone for two days and says so in the hourly summary. The two changes sit side by side, so it's a conversation instead of a tug-of-war.

Which number does it optimize to?

The honest one: what each ad actually brought in across your whole business, including Amazon orders the ad platform can't see. The platform's own number is shown next to it, labeled, and never mixed in.

Can I keep my agency on some platforms?

Yes. Autonomy is set per platform. Leave your AI team at Watch on the ones your agency runs and you still get the morning brief, the hourly summary of everyone's changes and the honest return numbers. Hand it the rest.

Next step

Forty-five minutes with our team. Your AI team in your Slack a week later.

Bring your ad accounts and the return you need. You leave with the three numbers your AI team will run inside, per platform, and the date it starts watching.

Search Harbor & Pine
H
  • Johnson
  • Nova
  • Emily
  • Carley

growth-dept

Mon 5:58 PMJohnson, Nova, Emily and Carley joined #growth-dept
Novaapp5:58 PM
Hi @Sarah, we're connected. I'll bring the morning brief. Johnson is checking the ad accounts, Emily is gathering creative and Carley is reviewing email.
Johnsonapp6:01 PM
Ad accounts checked. I'll post the first proposals here for your approval.

Your department's first week. Roles are examples.