‹ Caitlin's SandboxCONCEPT · NOT BUILT · FIGURES ARE ILLUSTRATIVE

The Campaigns tab once campaigns are live. Same cards as the demo, plus a pause switch, a timeline and a way into live edit mode. Try the switches.

4 campaigns · 3 running, 1 paused · £13,000 over 92 days
LIVE CAMPAIGNS
GCalderbrook - January IntakeGoogle · Performance Max
● Live
1 Oct31 Dec
83 days left£30.00/day · £18.42 spent today
fCalderbrook - January IntakeMeta · Leads
◐ Learning, day 3
1 Oct31 Dec
83 days left£40.00/day · £22.10 spent today
♪Calderbrook - January IntakeTikTok · Traffic
● Live
1 Oct31 Dec
83 days left£60.00/day · £31.75 spent today
Calderbrook - January IntakeMicrosoft Ads · Search
Paused by you
1 Oct31 Dec
83 days left£12.00/day · paused since 7 Oct

The same editor as the demo, opened on a running campaign. The banner, the toolbar and the change tray are new; everything else is the existing editor.

LIVE EDIT MODEThis campaign is running. Nothing changes on Google until you review and publish.
G

Calderbrook - January Intake

PERFORMANCE MAX · 1 ASSET GROUP
● Live · day 9 of 92
CAMPAIGN STRUCTURE

A dot marks unpublished changes. Adding asset groups or ad sets to a live campaign stays out of live edit mode for now.

Campaign
Campaign ✓ Ready
CampaignApplies within minutes
Flight · start date locked once live
1 Oct 2026
→
+35% in one go. Google may restart learning, so results can wobble for a few days. Smaller steps are gentler, and you can spread this change over two days when you review. The learning phase explained
Conversion action · locked while live
Lead form submission
Changing what counts as a conversion resets what Google has learned. To try a different goal, duplicate this campaign instead.
TargetingMay restart learning
Locations
United KingdomLondonManchester · new
Brand - campaign levelRe-reviewed by Google
SitelinksRe-reviewed by Google
Campaign › January Intake - Core audience
January Intake - Core audience ✓ Ready
CopyEdited text is swapped in as a new asset and re-reviewed
Headlines · 6 of 15
Best performer
Edited
Low performer
Editing a headline replaces it, so its history starts again. Low performers are the ones worth changing; leave the best performer alone.
3 pending changes · Daily budget, Locations, Headline 2

Nothing reaches the platform until this screen. Every warning links to the Help Centre article that explains it.

The user chooses the move; Snifferdog™ makes both changes and checks they landed. Try moving money out of TikTok to see the minimum spend rule.

What the user sees once changes are sent. Each platform confirms separately, and everything lands in Change history.

3 changes published to Google
Budget goes to £35.25 tomorrow and £40.50 on Sunday. The edited headline is with Google for review.
Google£30.00 → £40.50 a dayStep 1 of 2 tomorrow
Meta£40.00 → £32.00 a day✓ Confirmed by Meta
TikTok£60.00 → £68.00 a day✓ Confirmed by TikTok

Change history

The same log as the Analytics tab
WhenChangeStatus
Today 14:52Google · daily budget £30.00 → £40.50 over 2 days · by youScheduledUndo
Today 14:52Google · added Manchester · by youAppliedUndo
Today 14:52Google · headline 2 edited · by youIn reviewUndo
Today 14:40Moved £8 a day from Meta to TikTok · by youBoth confirmedUndo
7 Oct 09:12Microsoft Ads · paused · by youApplied
Snifferdog™ will check these changes on Tuesday
It compares the week before and after. If results drop, it suggests putting the changes back. Nothing changes without your say-so.

Decisions so far

  • Campaigns tab: option A. The demo's existing card, plus a pause/play switch, a timeline showing days left, and a Live edit mode button. Nothing else on the card.
  • Live edit mode: a copy of the demo editor with a live banner, a toolbar for the common jobs (budget, dates, pause, this campaign's analytics) and a tray of pending changes. No CMS needed.
  • Review: nothing reaches a platform until the user publishes. Every warning links to the Help Centre.
  • Move budget: user-initiated only, with each platform's minimum enforced and explained.
  • Copy: Snifferdog™ is the AI and does any analysis or flagging. Tove is a guide only and never analyses, recommends or acts. Write “Snifferdog™ will flag it”, never “Tove will flag it”.

Ground rules for the build

  • Changes are held in Snifferdog™ until the user publishes, then sent in one batch per platform to stay inside rate limits.
  • Read minimum budgets from each platform rather than hard-coding them. They vary by currency, bid strategy and account, and they change.
  • Money already spent today can't be undone. A lower budget only limits what's left of the day.
  • Every change, including pause and resume, is written to Change history with who made it, when, and whether the platform confirmed it.
  • Anything that resets a campaign's learning gets an amber warning and a link to The learning phase explained.

What can be changed on a live campaign

YES allowedNO not allowed, or we lock itTO CONFIRM not verified in platform docs; devs to check
ChangeGoogle AdsMetaTikTokMicrosoft AdsLive edit mode v1
Pause and resumeYESYES
Resuming after 7+ days paused is widely reported to restart learning.
YESYESInclude. Switch on the card and in the toolbar.
Daily budgetYES
Set at campaign level. On a busy day Google can spend more than the daily budget, balanced out over the month.
YES
On the ad set, or the campaign if campaign budget is on. When lowering, the new budget must be at least 10% more than what's already been spent. Big changes can restart learning.
YES
Minimums: $50 a day per campaign, $20 a day per ad group (TikTok quotes dollars; we enforce £50). TikTok advises raising by no more than 30% at a time (40% while learning), and no more often than every two days.
YES
Minimum £0.05 a day.
Include, with an amber warning above 20% and the option to spread it over two days.
Switch daily ↔ lifetime budgetNot applicableTO CONFIRM
Not covered in the API reference.
NO
Budget type can't change once live.
Not applicableLock.
End dateYESYESTO CONFIRMTO CONFIRMInclude.
Start dateNO
Can't be changed once the campaign has started.
TO CONFIRMTO CONFIRMTO CONFIRMLock once live on every platform.
Locations and languagesYESYES
Any targeting change restarts learning. EU targeting needs the DSA beneficiary and payor fields or the update fails.
YES
Set on the ad group. TO CONFIRM learning impact.
YESInclude, with a learning warning.
Bid strategy, optimisation goal, conversion actionPossible, but changing a bid strategy setting restarts calibration, which can take around 50 conversions or 3 conversion cycles.Possible, but changing the optimisation event restarts learning.TO CONFIRMTO CONFIRMLock. Offer “Duplicate as a new draft” instead.
Ad copyYES
Search ad headlines and descriptions can be updated in place. Performance Max text is added or removed as assets rather than edited.
YES
Creative edits, even typo fixes, go back to review and restart learning.
TO CONFIRM
Expect re-review.
TO CONFIRM
Expect editorial review.
Include, with a “history starts again” note and performance labels.
Images and videoAdd or remove assets in the asset group.New creative means re-review and learning.TO CONFIRMTO CONFIRMv1.1.
Add asset groups, ad sets, ad groups or adsYESYES
Adding an ad is listed as a significant edit, though testing suggests this is changing.
YESYESNot in live mode v1. Full editor only.
Campaign type or objectiveNONO (treat as locked)NONOLock. Duplicate instead.

Moving budget between platforms

TikTok minimum spend: £50 a day per campaign

TikTok won't accept a campaign daily budget under its minimum. If a move left TikTok on £49 a day, TikTok would reject it and that £49 would sit there unspent. So a move out of TikTok can only take it down to £50, or the user moves all of it and TikTok is paused. Both options are explained on the screen. TikTok's help quotes $50; we're using £50 until devs confirm the figure in a GBP account.

  • Order: lower the first platform, check it landed, raise the second, check that landed. If either fails, put both back and tell the user. Two separate API calls, never assumed to succeed together.
  • Minimums: TikTok £50 per campaign (and £20 per ad group). Meta's minimum depends on the bid strategy and what's being paid for, and takes spend so far into account, so read it from Meta. Google has no fixed published minimum; we use £1 as a floor. Microsoft £0.05.
  • Gentle limits: amber warning above 20% of the source budget. For TikTok, warn above a 30% rise and check the last change was at least two days ago.
  • Exclusions: paused campaigns aren't offered, and moves are discouraged while either side is learning or in its first or last three days.
  • Money: each ad account is billed separately, so a move changes spending rates, not money between accounts. Check the receiving account's balance or spending limit first, especially prepaid TikTok accounts.
  • Comparisons: platforms count conversions differently, so the screen never ranks them on raw cost per lead.

Help Centre

Open questions for the devs

  • TikTok's minimums in a GBP account: is it £50 and £20, or a converted figure?
  • Every TO CONFIRM cell in the table above.
  • Rate limits per platform, and how changes are batched and retried.
  • How undo works when the platform has already spent against the new budget.
  • Where Change history lives, given ad data isn't stored: our own log, the platforms' change history APIs, or both.

Sources

Checked 9 Oct 2026. Platform rules change, so re-check before the build starts.

One level down the structure tree in live edit mode: every ad set and ad gets its own switch, and selecting an ad opens it on the right. Same pending-changes tray and review step as everything else. Try pausing all the ads in the Retargeting ad set.

Calderbrook - January Intake › Live edit mode › Meta◐ Learning, day 3
CAMPAIGN STRUCTURE
Ad set · Core audience
Ad set · Retargeting

The last running ad in an ad set can't be paused on its own; pause the ad set instead.

Ad 3 is tiring. Its click-through rate has dropped by 38% over 7 days while the same people keep seeing it. Snifferdog™ suggests swapping in a new image. Swap Ad 3
Ad 1 · Campus video● Running · £14.20 per lead
VIDEO 9:16
On Meta and TikTok, changing the text, image or landing page creates a new version of the ad behind the scenes. It goes back for review and its results start again. To protect an ad that's working, add a new version alongside it instead.
Placements · Core audienceMeta ad set
Changing placements on a running ad set restarts learning. This ad set is still learning (day 3), so it may be worth waiting. Learn more

Ad sets and ads (screen 6)

  • Pausing at every level (API-04): every platform has a status on ad sets, ad groups and ads, so this extends the existing campaign-level pause. Snifferdog™ blocks pausing the last running ad in an ad set, and the last running keyword in an ad group, because either stops delivery without the user realising.
  • Add, swap and pause ads (API-25): adding means uploading from the Library and creating the ad in the existing ad set. Swapping means adding the new ad, then pausing the old one once the new one is approved, so there's no gap.
  • Landing pages and copy (API-23, 25): on Meta and TikTok any change creates a new creative behind the scenes; on Google the final URL can be changed on the ad. Either way the ad is reviewed again.
  • Protecting what works (API-40, 43): the default is “add a new version alongside”, not edit. We say “with minimal disruption”, never “won't reset learning”.
  • Fatigue nudges (API-28): flagged by Snifferdog™ when click-through falls while frequency rises. Most useful on TikTok, where ads tire fastest. Thresholds to agree with the devs.
  • Meta placements (API-27): default to Meta choosing (Advantage+ placements); manual placements are optional and restart learning.
  • Naming: the tree uses each platform's own word (ad set on Meta, ad group on TikTok, Google and Microsoft, asset group on Performance Max).