Growth

Paid Ads Copy Variant Loop

Ads loop: generate copy variants, spend enough for signal, kill losers, scale winners.

Use when

Paid search or social ads are running and performance is flat, and you need a disciplined cut-losers / double-winners loop without letting the agent freely blow budget.

Intermediatedifficulty
Growthcategory
Greg Isenberg + Ellie interview: Making $$$ with Loop Engineering — ads agency-style experiment loop; AI stronger on copy variants than video creatives; humans as optional creative APIsource

Cadence

Every 2–3 days while spend is live; weekly when spend is low

Verification

Each active variant has enough spend or impressions for a decision rule, losers are paused, winners keep or increase budget share, and every copy/creative change is logged with the metric that justified it.

Structured loop spec

FieldValue
NamePaid Ads Copy Variant Loop
CategoryGrowth
TriggerEvery 2–3 days while spend is live; weekly when spend is low
ObjectiveAds loop: generate copy variants, spend enough for signal, kill losers, scale winners.
Allowed inputsRelevant files, source notes, logs, tests, screenshots, metrics, or task state for this loop
Allowed actionsDefine the KPI (CPA, ROAS, CTR, or qualified leads) and a minimum spend/impression threshold before a variant can be judged.; Inventory live ads: creative type, copy, audience, budget, and last 7–14 day metrics. Mark approval boundaries (max daily spend, no new ad accounts, no billing changes).; Propose 2–5 copy-first variants (or drop human-made assets into a folder). Prefer text/headline tests over unvetted AI video unless a human supplies the asset.; Launch or schedule only within the spend cap. One change family per round (copy angle, not copy + audience + bid all at once).; On the next tick, apply the decision rule: pause below-threshold losers, keep/scale winners, log the result. Do not invent metrics.; Human-gate any budget increase, new campaign creation, pixel/account changes, or public brand claims. Stop when KPI target is met, spend cap hits, or two full cycles produce no winner.
VerificationEach active variant has enough spend or impressions for a decision rule, losers are paused, winners keep or increase budget share, and every copy/creative change is logged with the metric that justified it.
Stop conditionStop when the verifier passes, the budget is exhausted, no progress is made, a blocker appears, or approval is required.
BudgetSet a time, turn, token, retry, file, or dollar cap before running the loop.
Approval boundaryHuman approval required before publishing, sending, deleting, spending, changing accounts, touching production, or making reputational/legal/financial commitments.
Safe outputDraft, report, checklist, table, or approval-gated recommendation
Works withClaude, ChatGPT, Gemini, any tool-using AI assistant

Steps

  1. Define the KPI (CPA, ROAS, CTR, or qualified leads) and a minimum spend/impression threshold before a variant can be judged.
  2. Inventory live ads: creative type, copy, audience, budget, and last 7–14 day metrics. Mark approval boundaries (max daily spend, no new ad accounts, no billing changes).
  3. Propose 2–5 copy-first variants (or drop human-made assets into a folder). Prefer text/headline tests over unvetted AI video unless a human supplies the asset.
  4. Launch or schedule only within the spend cap. One change family per round (copy angle, not copy + audience + bid all at once).
  5. On the next tick, apply the decision rule: pause below-threshold losers, keep/scale winners, log the result. Do not invent metrics.
  6. Human-gate any budget increase, new campaign creation, pixel/account changes, or public brand claims. Stop when KPI target is met, spend cap hits, or two full cycles produce no winner.

Prompt

Run the Paid Ads Copy Variant Loop. KPI and spend caps must be explicit before any change. Read current ad set performance. Generate or select a small batch of copy-first variants (humans may supply images/video). Launch only inside the approved budget and one change family per round. After each review window, pause losers that cleared the minimum-spend threshold and failed the KPI, keep or scale winners, and write the decision into an experiment log. Never change billing, ad accounts, pixels, or daily spend ceilings without human approval. Stop on KPI hit, budget exhaustion, no signal after two cycles, or any red-zone account action.

Run in Claude Code

Paste this into Claude Code (or any tool-using agent) to run the loop bounded: one change per round, the same verification every round, durable state files, and explicit stop conditions.

Run the "Paid Ads Copy Variant Loop" loop from AI Loop Library (https://ailooplibrary.com/loops/paid-ads-copy-variant-loop/) as a bounded loop.
Goal: Ads loop: generate copy variants, spend enough for signal, kill losers, scale winners.
Rules: one change per round; run the same verification every round (Each active variant has enough spend or impressions for a decision rule, losers are paused, winners keep or increase budget share, and every copy/creative change is logged with the metric that justified it.); append each round to docs/loops/paid-ads-copy-variant-loop/progress.md and update docs/loops/paid-ads-copy-variant-loop/state.json; stop on verifier pass, 8 rounds, 3 consecutive failed verifications, no progress, a blocker, or anything needing human approval (money, production, outbound, deletion). Finish with a proof report: rounds used, changes made, verification output, remaining risk, and the next human decision.

Get the MCP server + agent pack

Tags

adsMetaGoogle AdscopyA/Bapproval gatedscheduled loop

Related

Back to all examples