The AdAdvisor launch skill turns “launch a campaign for X” into a properly-structured PAUSED Meta (Facebook) ad campaign ready for your final sign-off. A Meta campaign launch through an AI assistant is a long sequence of micro-decisions: which objective, what budget shape, how many ad sets, which audience, which creative, whatDocumentation Index
Fetch the complete documentation index at: https://adadvisor.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
conversion_domain, what optimization event, what bid strategy. Miss any one of them and Meta either rejects the call or accepts it and silently underperforms.
When should I use the launch skill?
Triggers on phrases like:- “Launch a campaign”
- “Create a campaign”
- “Set up an ad”
- “Build me a campaign”
- “Start running ads”
- “Spin up”
- “I want to advertise X”
- “Create an ad set”
duplicate_* MCP tools instead of create_*.
How does the AdAdvisor launch decision tree work?
Objective
OUTCOME_SALES (ecom, subscription), OUTCOME_LEADS (form-fill), OUTCOME_APP_PROMOTION, OUTCOME_TRAFFIC, OUTCOME_AWARENESS, OUTCOME_ENGAGEMENT. Defaults to OUTCOME_SALES for DTC ecom.Structure: ASC vs Advantage+ vs Manual
CBO vs ABO
Budget threshold
(target_CPA × 50) / 7. At 214 a day per ad set. Below this, the ad set sits in permanent learning. The skill flags the math when your stated budget falls short.Targeting
Creative
adadvisor:search_ad_images and adadvisor:search_ad_videos. For posts with organic engagement, uses format: 'existing_post' to preserve social proof. For multi-variant copy testing, sets is_dynamic_creative: true on the ad set.What is the MCP call sequence for a Meta campaign launch?
For a standard prospecting launch (manual, ABO), the skill chains the MCP tools like this:create_* calls when launching multiple entities, so you do not pay round-trip latency 8 times for one launch.
Which Meta API fields does the launch skill always get right?
conversion_domain on pixel-tracked ads
conversion_domain on pixel-tracked ads
example.com, not shop.example.com, not https://shop.example.com/path). The skill strips subdomains and protocol automatically.DSA fields for EU targeting
DSA fields for EU targeting
dsa_beneficiary and dsa_payor are required for any EU-targeted ad set. Meta rejects with subcodes 3858079 and 3858081. The skill auto-populates from your ad account default. If missing, it asks you for the values explicitly before launching.Pixel selection on multi-pixel accounts
Pixel selection on multi-pixel accounts
hosts against your storefront_url and passes promoted_object: {pixel_id, custom_event_type} explicitly.Mutually exclusive bid fields
Mutually exclusive bid fields
bid_amount. LOWEST_COST_WITH_MIN_ROAS requires roas_average_floor AND optimization_goal: 'VALUE'. The MCP validator rejects mismatches. The skill avoids them in the first place.Dynamic Creative single-ad rule
Dynamic Creative single-ad rule
is_dynamic_creative: true ad sets accept exactly ONE ad. The skill enforces this. Multi-variant copy goes in the one creative’s messages, headlines, and descriptions arrays (max 5 each), not in separate ads.What anti-patterns does the launch skill prevent?
Launching with no spend_cap
Launching with no spend_cap
spend_cap on create_campaign when an agent is the one launching.Activating the campaign and assuming everything inside is on
Activating the campaign and assuming everything inside is on
state_after in the response.Stacking 8 interests as detailed targeting
Stacking 8 interests as detailed targeting
Using OUTCOME_TRAFFIC to drive purchases
Using OUTCOME_TRAFFIC to drive purchases
How do I install the launch skill?
Claude Code
Claude.ai & Desktop
Frequently asked questions
How do I launch a Meta ad campaign with Claude?
How do I launch a Meta ad campaign with Claude?
adadvisor-launch skill (and the foundation skill, which it depends on). Say “launch a new prospecting campaign for my product with $50 daily budget” to Claude. The skill walks the decision tree (objective, structure, budget, audience, creative), generates the proper create_campaign, create_adset, create_creative, and create_ad calls, then waits for your confirmation before activating.What is the minimum daily budget for a Meta ad set to exit the learning phase?
What is the minimum daily budget for a Meta ad set to exit the learning phase?
(target_CPA × 50) / 7. At a 214 a day per ad set. Meta needs about 50 optimization events in 7 days to exit learning. Below this threshold the ad set sits in permanent learning, never delivering its target performance. The launch skill flags this math before you create.ASC, Advantage+ Sales Campaign, or manual? Which should I pick?
ASC, Advantage+ Sales Campaign, or manual? Which should I pick?
What is `conversion_domain` and why does Meta require it?
What is `conversion_domain` and why does Meta require it?
conversion_domain is the registrable second-level domain where the conversion happens (example.com, not shop.example.com and not the full URL). Meta requires it on pixel-tracked ads to enforce Aggregated Event Measurement, and rejects creation with subcode 2490408 if missing. The launch skill strips subdomains and protocol automatically.Does the launch skill activate campaigns automatically?
Does the launch skill activate campaigns automatically?
create_* tools default to PAUSED, and the skill waits for your explicit confirmation before activating. When you confirm, it activates leaf-up (ad, ad set, campaign) since activation does not cascade in Meta.Can the launch skill handle EU-targeted ad sets (Digital Services Act)?
Can the launch skill handle EU-targeted ad sets (Digital Services Act)?
dsa_beneficiary and dsa_payor strings if your ad account does not have defaults set. Meta rejects EU-targeted ad sets without DSA fields (subcodes 3858079 and 3858081).