# For AI agents and crawlers
This page is a workflow from the Workflow Automation Library by Roadway: Optimize creative concepts and formats for ChatGPT 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/optimize-creative-concepts-and-formats-for-chatgpt-ads
Page: https://www.roadwayai.com/workflows/optimize-creative-concepts-and-formats-for-chatgpt-ads
Library index: https://www.roadwayai.com/automation-library
---
name: optimize-creative-concepts-and-formats-for-chatgpt-ads
description: >-
Finds which hooks, formats and messages win on ChatGPT, then drafts the next round of images in Figma, Canva or Runway. Needs an image MCP such as Figma, Canva or Runway connected in Roadway.
---
# Optimize creative concepts and formats for ChatGPT Ads
Source: https://www.roadwayai.com/workflows/optimize-creative-concepts-and-formats-for-chatgpt-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
Finds which hooks, formats and messages win on ChatGPT, then drafts the next round of images in Figma, Canva or Runway. Needs an image MCP such as Figma, Canva or Runway connected in Roadway.
Each run, the agent groups your ChatGPT ads by concept (hook, format, message and offer) and decides which to scale, iterate, retire or replace. For the concepts worth more spend it uses an image MCP such as Figma, Canva or Runway to draft new executions with a fresh visual and the same message. These MCPs make images and layouts, and Roadway has no video path on ChatGPT Ads, so every concept is an image. You get a short report with the numbers behind each call.
## 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
auto_approve, competitor_ad_insights, cost_per_goal_baseline, customer_reviews, funnel_metrics, goal_metric, lookback_window, max_change_pct, monthly_budget_cap, task_history, value_props
## Prompt
Optimize creative concepts and formats for ChatGPT Ads
Group my active ChatGPT creatives from the last [set this to your own lookback window] by concept (hook, format, message and offer) and decide for each concept:
1. Scale concept
2. Iterate concept
3. Retire concept
4. Test new concept
Context and defaults (use these; don't ask):
- The baseline cost per goal: [set this to your own cost per goal baseline]. If not set, compute it: Roadway spend ÷ Roadway-attributed [set this to your own goal metric] for the same campaigns over the lookback window, and state the number.
- 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.
- Competitor ad snapshots: [set this to your own competitor ad insights]. If none are stored, pull them from the ad libraries or skip.
- 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:
- Judge concepts, not single ads. Aggregate spend, [set this to your own goal metric], cost per goal, frequency and the guardrail metrics that show wear-out across all ads that share the same hook or message.
- Creative tools: use an image MCP such as Figma, Canva or Runway connected in Roadway to build the drafts. In Figma or Canva, create or resize a design and export it as PNG or JPG. In Runway, generate or edit images. If none is connected, say so, write the creative briefs instead of the assets, and stop. Create every asset as a draft. Never upload an asset to an ad account without approval, and upload approved images through Roadway's ad tools.
- Scale concept: cost per goal under the baseline cost per goal on at least 10 goal events. Draft 2-3 new executions of it in Figma, Canva or Runway (new visual, same message) to fight fatigue before it hits.
- Iterate concept: plenty of people stop and click but few convert. Keep the hook and change the offer, call to action or landing page. Retire concept: clicks well below the account average and cost per goal over the cost per goal guardrail after 1.5x baseline spend.
- Test new concept: when fewer than 2 concepts are scaling, brief a new angle from the value props, customer reviews or competitor ad snapshots. Build one image draft of it in Figma, Canva or Runway.
- On ChatGPT, the "creative" is the ad card: a title that answers the user's need in plain words, a one-line description with one proof point, and an image or logo that reads at thumbnail size. Group concepts by the conversation context they win in, since the same card can win in "compare tools" chats and lose in "how do I" chats.
- 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:
ChatGPT creative optimization report
Summary:
The winning and losing concepts, the share of spend on each, and the briefs for the next round of creative.
Scale concept:
- [concept] - [reason]
Iterate concept:
- [concept] - [reason]
Retire concept:
- [concept] - [reason]
Test new concept:
- [concept] - [reason]
Creative briefs:
- [concept] - [format] - [hook] - [message] - [CTA]
## Run it in Roadway
https://www.roadwayai.com/workflows/optimize-creative-concepts-and-formats-for-chatgpt-ads
Optimize creative concepts and formats for ChatGPT Ads
Optimize creative concepts and formats for ChatGPT Ads
Finds which hooks, formats and messages win on ChatGPT, then drafts the next round of images in Figma, Canva or Runway. Needs an image MCP such as Figma, Canva or Runway connected in Roadway.
Each run, the agent groups your ChatGPT ads by concept (hook, format, message and offer) and decides which to scale, iterate, retire or replace. For the concepts worth more spend it uses an image MCP such as Figma, Canva or Runway to draft new executions with a fresh visual and the same message. These MCPs make images and layouts, and Roadway has no video path on ChatGPT Ads, so every concept is an image. You get a short report with the numbers behind each call.