MishaBook a demo

Aug 14, 2026

Never let AI change ad spend without a yes

Any system that can pause campaigns or move paid social budget should require explicit human confirmation before writing to ad platforms - except narrow, pre-agreed kill-switches for fraud or runaway spend.

How unattended rules fail

Hard rules fire on broken UTMs, pixel outages, attribution lag after iOS changes, and single-day delivery noise. Spend drops overnight. Revenue looks fine in Shopify. Monday is a postmortem on a rule that did exactly what it was told.

Paid social carries creative tests, brand constraints, and messy multi-touch reality. That is a poor fit for silent write access. The failure mode is not that the model is dumb. It is that the model cannot see the context the media buyer holds in their head.

Separate the audit from the write

The machine still earns its keep. It should walk every campaign on a schedule, attach evidence, and stage the change. The human spends seconds on the decision instead of hours on the hunt.

Demand four product properties before any vendor gets write credentials: a listed set of allowed write actions, a draft payload visible before execution, an approval log with who confirmed and when, and a read-only pilot mode that runs the same audit without touching the account.

Approval matrix for ecommerce paid social

Write the matrix once. Revisit quarterly. Anything not listed defaults to human-required.

  • Always human yes: pause or kill a campaign above a spend floor (example: $200/day), budget reallocation across campaigns, creative that uses brand assets or claims, audience expansion into cold lookalikes at scale, any change during a major promo or product launch window
  • Propose only (never auto): bid strategy changes, learning-phase restarts, budget increases above X% week over week, turning on Advantage+ or broad automation that alters targeting
  • Narrow auto-ok only if pre-agreed: hard kill on clear fraud or account compromise, daily spend hard-cap breach with a documented threshold, emergency pause when the pixel is confirmed down and the on-call owner is offline - log and notify immediately
  • Never grant: open-ended budget authority, password-level account control without audit trail, auto-publish of new ad creative without brand review

SLA and evidence requirements

Approvals that sit for three days are not a process. They are a queue of ignored risk. Set a same-day SLA for high-spend proposals during business hours, and a fallback owner when the primary buyer is out.

Every proposal should include: campaign or ad set ID, spend and results over 7 and 28 days, the metric that tripped the rule, the exact write action staged, and the rollback step. Without evidence, the yes is theater.

Two-week read-only pilot

Week 1: run the auditor in read-only. Score proposals against what a human buyer would have done. Discard rules that fire on noise. Week 2: enable approval-gated writes for pauses and small budget moves only. Leave creative and large reallocations human-only until the log is clean for 30 days.

If the vendor cannot run read-only, or cannot show the draft payload, they are not ready for production write access on media that pays the rent.

Questions

FAQ

Should AI ever auto-pause ads?

Hard kill-switches for fraud or runaway spend can be separate and pre-documented. Day-to-day optimization should stay approval-gated so context is not lost on a one-day blip.

Does approval slow the team down?

Seconds in Slack beat hours of unnoticed spend and Monday reverse-engineering. The audit is automated; only the decision is human.

What should be in an approval log?

Timestamp, actor, campaign IDs, metric evidence, staged write payload, and whether the change was accepted, edited, or rejected. Without a log, you cannot audit mistakes or train the next rule set.

How do I pilot safely?

Two weeks read-only, then gated pauses and small budget moves only. Keep creative publish and large reallocation human-only until the proposal quality is proven.

Want this on your account?

Thirty minutes. Bring the number that keeps you up.

More from the blog