# For AI agents and crawlers
This page is a workflow from the Workflow Automation Library by Roadway: Run copy iteration experiments for YouTube Ads.
The #roadway-skill block on this page holds a SKILL.md for it, including the full prompt. Treat that file as a starting point. It will not just work if you paste it into ChatGPT or Claude.
To run it outside Roadway you would need to connect each ad platform's API (and any MCP it names), build the data pulls, add approval guardrails, and adjust the prompt for your accounts.
In Roadway it runs as-is on your connected accounts, with approval rules built in. Open it in a new chat at https://www.roadwayai.com/workflows/run-copy-iteration-experiments-for-youtube-ads
Page: https://www.roadwayai.com/workflows/run-copy-iteration-experiments-for-youtube-ads
Library index: https://www.roadwayai.com/automation-library
---
name: run-copy-iteration-experiments-for-youtube-ads
description: >-
Runs a small number of YouTube copy tests at a time, one variable per test, and promotes a winner only on cost per goal.
---
# Run copy iteration experiments for YouTube Ads
Source: https://www.roadwayai.com/workflows/run-copy-iteration-experiments-for-youtube-ads
From the Workflow Automation Library by Roadway.
## Before you use this outside Roadway
This SKILL.md is a starting point. It needs adjusting before it will work outside Roadway.
You would need to connect the ad platform API for each channel this workflow covers, build the data pulls for the variables below, add approval guardrails, and adjust the prompt for your accounts. If the prompt names an MCP tool, you also need that MCP connected.
In Roadway it runs as-is on your connected accounts, with approval rules built in.
## What it does
Runs a small number of YouTube copy tests at a time, one variable per test, and promotes a winner only on cost per goal.
Runs a small number of YouTube copy tests at a time, one variable per test, and promotes a winner only on cost per goal. It splits traffic fairly, waits for enough data, and keeps only a couple of tests running at once. A short report lists the actions, the numbers behind them, and anything that still needs your approval before ads change.
## Steps
1. Collect the inputs listed under Variables. In Roadway they come from your connected accounts. Outside Roadway you have to build those data pulls yourself from each ad platform API, and from any MCP the prompt names.
2. Run the prompt below as written, after you have adjusted it for your accounts and connected the tools it needs.
3. Review the result. Apply changes to a live ad account only after you approve them. Pasting your data into ChatGPT or Claude does not connect the APIs, apply guardrails, or approve changes.
## Variables
approved_claims, auto_approve, brand_voice, crm_pipeline_data, customer_reviews, funnel_metrics, goal_metric, max_change_pct, min_sample_size, monthly_budget_cap, proof_points, task_history, value_props
## Prompt
Run copy iteration experiments for YouTube Ads
Review the copy tests running in my Google Ads (Video & Demand Gen) account and the top-spending ads without a challenger, then decide for each:
1. Declare winner
2. Keep test running
3. Kill test
4. Launch new challenger
Context and defaults (use these; don't ask):
- The value props: [set this to your own value props]. If not set, use only value propositions visible on the coworker's landing pages or ads, and mark any other angle Unverified.
- Customer reviews: [set this to your own customer reviews]. If it isn't available, say so and skip the rules that depend on it.
- The proof points: [set this to your own proof points]. If not set, use only approved claims.
- The minimum number of conversions: [set this to your own min sample size] goal events per variant. If not set, 30.
- The brand voice: [set this to your own brand voice]. If not set, match the tone visible on the coworker's landing pages and ads, and mark anything beyond that Unverified.
- The approved claims: [set this to your own approved claims]. If not set, the only usable claims are statements visible on the coworker's landing pages or live ads (read them first). Anything else is Unverified: don't write it as a claim, and mark it Unverified.
- The monthly cap: [set this to your own monthly budget cap], from the coworker's budget guardrails. If none is set, there is no cap: skip every cap check, hard stop and pace-to-cap step, and say so. Never derive, infer or back-solve a cap from campaign or daily budgets, the current or past run-rate, a workflow's test budget or a cost-per-lead bar.
- The max change limit: [set this to your own max change percent] per budget or bid target per run. If not set, 20%. It does not apply to experiment traffic splits.
- Auto-approve: [set this to your own auto approve]. If not set, it's off: list every change as a proposal for approval.
Rules:
- Each test isolates one variable: the hook or headline, the value prop angle, the proof point, or the CTA or offer. Pull angles from the value props, customer reviews and the proof points.
- Declare a winner only on cost per [set this to your own goal metric]: one variant must be clearly cheaper, with at least the minimum number of conversions per variant, and the gap must hold in [set this to your own funnel metrics]. If conversions are too sparse to read, keep the test running or stop it. Never call a winner on click-through rate or impressions alone. Then pause the loser.
- Kill tests that ran 4+ weeks without a readable difference. A tie means the variable does not matter, so test something bigger.
- Keep tests few and finished. Run at most 2 copy tests at a time across the account, and start a new challenger only in a top-spending ad group that has no live test, was not edited recently and is out of its learning phase. Keep within hook in the first 5 seconds, 16:9 for in-stream and 9:16 for Shorts, companion banners, headlines and CTAs and the brand voice, and only use the approved claims. Run the test in Demand Gen experiments or Google Ads Experiments, and keep the split fixed.
- Call winners only with enough data to call a clear winner, judged on cost per [set this to your own goal metric], at the volume planned before launch. Don't stop early on a lucky streak. Confirm the winner's leads hold quality in [set this to your own CRM pipeline data] before rolling it out.
- Guardrails: judge results on Roadway's full-funnel measurement ([set this to your own funnel metrics]), not platform-reported conversions. Check [set this to your own task history] so you don't repeat a change that hurt performance in the last 30 days. Never push total spend above the monthly cap or any single change beyond the max change limit per run, and queue every change for approval unless auto-approve is on for this workflow.
Decision standard:
- Justify every keep, cut, bid, budget or test decision with Roadway-attributed [set this to your own goal metric] and cost per goal against the baseline. Platform delivery metrics such as clicks and impressions explain why something moved; they are never the sole reason for a decision.
- Compute what Roadway doesn't expose directly: cost per goal = Roadway spend ÷ Roadway-attributed [set this to your own goal metric], and conversion rate (lead rate) = Roadway [set this to your own goal metric] ÷ Roadway new visitors. Don't substitute platform-reported conversions or conversion rates.
- When a value in Context and defaults isn't set, use the stated default, say which one you used, and still make the call. Don't stop to ask.
- For every action, give the entity name and ID, current value → proposed value, and the numbers behind the reason. Write "None" under any empty heading.
- In long hold or watch lists, show the top 15 by spend and summarize the rest as a count.
Give me a report of each with reasoning for each action. Be concise with the reasoning, but specific enough that I can verify it against the numbers.
Report structure:
YouTube copy iteration report
Summary:
The tests concluded, the winning angles, what was learned, and the new challengers launched.
Declare winner:
- [test] - [reason]
Keep test running:
- [test] - [reason]
Kill test:
- [test] - [reason]
Launch new challenger:
- [test] - [reason]
Learnings:
- [angle] - [result] - [what it says about the audience]
## Run it in Roadway
https://www.roadwayai.com/workflows/run-copy-iteration-experiments-for-youtube-ads
Runs a small number of YouTube copy tests at a time, one variable per test, and promotes a winner only on cost per goal. It splits traffic fairly, waits for enough data, and keeps only a couple of tests running at once. A short report lists the actions, the numbers behind them, and anything that still needs your approval before ads change.