# For AI agents and crawlers
This page is a workflow from the Workflow Automation Library by Roadway: Build landing page variants from winning ad angles for Meta 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/build-landing-page-variants-from-winning-ad-angles-for-meta-ads
Page: https://www.roadwayai.com/workflows/build-landing-page-variants-from-winning-ad-angles-for-meta-ads
Library index: https://www.roadwayai.com/automation-library
---
name: build-landing-page-variants-from-winning-ad-angles-for-meta-ads
description: >-
Builds draft landing page variants from the ad angles that win on Meta (Facebook & Instagram), so each winning promise has a page that matches it. Needs a page builder MCP such as Webflow, Framer, Lovable or Ploy connected in Roadway.
---
# Build landing page variants from winning ad angles for Meta Ads
Source: https://www.roadwayai.com/workflows/build-landing-page-variants-from-winning-ad-angles-for-meta-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
Builds draft landing page variants from the ad angles that win on Meta (Facebook & Instagram), so each winning promise has a page that matches it. Needs a page builder MCP such as Webflow, Framer, Lovable or Ploy connected in Roadway.
Each run, the agent ranks your Meta (Facebook & Instagram) ads by cost per goal and finds the winning angles that no live page speaks to yet. For each one it uses a page builder MCP such as Webflow, Framer, Lovable or Ploy to create a draft page, with the ad promise in the headline, the offer in the subhead and your form and legal blocks kept as they are. It never publishes. You review and publish the draft, and the test split is set up with a second ad or your site's testing tool, since the page builder MCP does not route traffic.
## 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, funnel_metrics, goal_metric, landing_page_template, lookback_window, max_change_pct, min_sample_size, monthly_budget_cap, task_history, winning_angles
## Prompt
Build landing page variants from winning ad angles for Meta Ads
Take the winning ads in my Meta Ads Manager account over the last [set this to your own lookback window] and decide for each winning ad angle:
1. Build variant page
2. Update existing variant page
3. Reuse the current page
4. Skip
Context and defaults (use these; don't ask):
- The winning ad angles: [set this to your own winning angles]. If not set, rank active ads by Roadway-attributed [set this to your own goal metric] and cost per goal against the baseline over the lookback window, and use the hook, offer and proof point of the top ads.
- The page template: [set this to your own landing page template]. If not set, copy the structure of the best converting live landing page for the same intent.
- 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 minimum number of conversions: [set this to your own min sample size] goal events per variant. If not set, 30.
- 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:
- Page builder: use a page builder MCP such as Webflow, Framer, Lovable or Ploy connected in Roadway to create each page as a draft. If none is connected, say so, write the page brief instead of the page, and stop. Never publish a page. Publishing is a person's call.
- Build a variant page when an ad angle beats the account baseline on cost per goal with at least the minimum number of conversions, and no live page speaks to that angle. One angle gets one page.
- Match the page to the ad: the headline repeats the ad promise, the subhead carries the offer, and the proof point from the ad sits above the fold. Keep the form, pricing and legal blocks from the template.
- Keep the campaign's URL parameters and tracking tags working on every new page, and name each page after its angle so results can be traced back.
- Update an existing variant page when its angle has shifted since the page was built (new offer, new proof point, new price), instead of building a second copy.
- Reuse the current page when it already converts at or above the account rate for that intent.
- Test a new page against the current page by running two otherwise identical ads, one pointing at each page, with ad rotation set to rotate evenly where the channel allows it. This split is approximate, not guaranteed. If a landing page testing tool is connected (for example Unbounce, which can set the split itself), use it instead. The page builder MCP cannot split traffic. Do not change the split, budget or bid while the test runs. Call a winner only when each arm has at least [set this to your own min sample size] goal events and at least 14 days of data, then point the ads at the winner page (queued for approval) and keep the old page live for a holdback week.
- Never ship an Unverified claim on a page.
- 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:
Meta Ads landing page variant plan
Summary:
The winning ad angles, the pages to build or update, and the goal rate each page should beat.
Build variant page:
- [angle → page] - [reason]
Update existing variant page:
- [angle → page] - [reason]
Reuse the current page:
- [angle → page] - [reason]
Skip:
- [angle] - [reason]
Page drafts:
- [page name] - [headline] - [angle] - [campaign it will serve] - [page builder used]
## Run it in Roadway
https://www.roadwayai.com/workflows/build-landing-page-variants-from-winning-ad-angles-for-meta-ads
Build landing page variants from winning ad angles for Meta Ads
Build landing page variants from winning ad angles for Meta Ads
Builds draft landing page variants from the ad angles that win on Meta (Facebook & Instagram), so each winning promise has a page that matches it. Needs a page builder MCP such as Webflow, Framer, Lovable or Ploy connected in Roadway.
Each run, the agent ranks your Meta (Facebook & Instagram) ads by cost per goal and finds the winning angles that no live page speaks to yet. For each one it uses a page builder MCP such as Webflow, Framer, Lovable or Ploy to create a draft page, with the ad promise in the headline, the offer in the subhead and your form and legal blocks kept as they are. It never publishes. You review and publish the draft, and the test split is set up with a second ad or your site's testing tool, since the page builder MCP does not route traffic.