This recipe produces a fully configured Meta Ads campaign in Ads Manager — with the correct objective mapped to business goals, audiences built from pixel data, customer lists, and interest signals, compliant creative assets uploaded to spec, and Pixel + Conversions API tracking verified for accurate attribution. The output is a launch-ready campaign delivering ads across Facebook, Instagram, Messenger, and Audience Network with proper conversion tracking. [src1]
Which path?
├── User is non-technical AND budget < $2,000/mo
│ └── PATH A: Ads Manager GUI — manual setup, Advantage+ audiences
├── User is non-technical AND budget >= $2,000/mo
│ └── PATH B: Ads Manager + third-party optimizer (AdEspresso/Revealbot)
├── User is semi-technical AND any budget
│ └── PATH C: Ads Manager + GTM for Pixel/CAPI + manual audiences
└── User is developer AND any budget
└── PATH D: Marketing API + server-side CAPI + automated rules
| Path | Tools | Cost | Speed | Output Quality |
|---|---|---|---|---|
| A: GUI Basic | Ads Manager, Events Manager | $0 + ad spend | 2-3 hours | Good — relies on Advantage+ AI |
| B: GUI + Optimizer | Ads Manager, AdEspresso or Revealbot | $49-$99/mo + ad spend | 2-3 hours | High — automated testing and optimization |
| C: GTM Integration | Ads Manager, Google Tag Manager | $0 + ad spend | 3-4 hours | High — precise tracking control |
| D: API + Code | Marketing API, server-side CAPI | $0 + ad spend | 4-6 hours | Highest — full automation and custom events |
Duration: 30-60 minutes · Tool: Meta Events Manager, Google Tag Manager (optional)
Install the Meta Pixel base code on every page of your site. Then configure the Conversions API for server-side event deduplication. [src2]
<!-- Meta Pixel base code — add to site <head> -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
</script>
<!-- Standard events -->
fbq('track', 'Purchase', {value: 29.99, currency: 'USD'});
fbq('track', 'Lead', {content_name: 'demo-request'});
Configure CAPI via partner integrations (Shopify, WooCommerce, GTM server-side) or direct API. Include matching event_id for deduplication. [src6]
Verify: Events Manager > Test Events shows both Pixel and Server events with matched event_id. EMQ score ≥ 6.0. · If failed: Check CAPI gateway config. If EMQ < 6.0, add more parameters (email hash, phone hash, fbp, fbc cookies).
Duration: 15-30 minutes · Tool: Meta Ads Manager
Select the objective matching your business goal from Meta's 6 objectives: Awareness, Traffic, Engagement, Leads, App Promotion, Sales. [src1]
Business Goal → Objective Mapping:
├── Brand awareness/reach → Awareness
├── Website/app visits → Traffic
├── Likes, comments, video views → Engagement
├── Form fills, messages, calls → Leads
├── App installs or in-app actions → App Promotion
└── Purchases or signups on site → Sales
Campaign structure:
Campaign (1 objective, 1 budget strategy)
├── Ad Set 1: Prospecting (broad/Advantage+)
├── Ad Set 2: Retargeting (website visitors 30d)
└── Ad Set 3: Lookalike (1% of purchasers)
For e-commerce with $2,000+/month budget, use Advantage+ Sales campaigns which auto-optimize audience, placement, and creative across up to 150 combinations.
Verify: Objective matches business KPI. 2-4 ad sets with distinct audiences. Each ad set has 3-6 creative variants. · If failed: If only 1 ad set with 1 ad, add at least 2 more creative variants.
Duration: 30-45 minutes · Tool: Meta Ads Manager > Audiences
Build three audience layers: Custom Audiences (warm), Lookalike Audiences (modeled), and Advantage+/interest-based (cold). [src5]
Custom Audiences (retargeting):
├── Website traffic (Pixel-based)
│ ├── All visitors — last 30 days
│ ├── Product viewers — last 14 days
│ └── Cart abandoners — last 7 days
├── Customer list (CRM upload)
│ ├── All customers (email, phone, name)
│ └── High-LTV customers (top 20%)
└── Engagement audiences
├── Video viewers 75%+ — last 60 days
└── Instagram engagers — last 90 days
Lookalike Audiences:
├── Purchasers → 1% Lookalike (start here)
├── High-LTV → 1% Lookalike
└── Expand to 3-5% only when 1% saturated (frequency > 3.0)
In 2026, use Advantage+ Audience as default for cold prospecting. Provide audience suggestions but allow Meta's AI to expand beyond them.
Verify: Custom Audiences show "Ready" with 1,000+ matched users. Lookalikes built from purchasers preferred. · If failed: If "Too Small" (< 100), extend lookback to 180 days or upload larger customer list.
Duration: 30-60 minutes · Tool: Meta Ads Manager, Canva (optional)
Upload creative assets matching Meta's 2026 specifications. Minimum 3 variants per ad set. [src4]
Image specs:
Feed: 1080x1080 (1:1) or 1080x1350 (4:5), JPG/PNG, max 30 MB
Stories: 1080x1920 (9:16), safe zone: avoid top 250px + bottom 340px
Video specs:
Feed: 1080x1080 min, 15-60s, MP4/MOV, max 4 GB
Reels: 1080x1920 (9:16 required), 15s sweet spot
Ad copy:
Primary text: 50-150 chars (125 before truncation)
Headline: up to 27 chars (40 max)
CTA: Shop Now | Learn More | Sign Up | Get Offer | Book Now
Verify: All images pass ad preview without warnings. Video thumbnails display correctly. CTA matches campaign objective. · If failed: Check for policy violations. Re-export at recommended resolution.
Duration: 15-20 minutes · Tool: Meta Ads Manager
Set campaign budget, delivery schedule, and placement selection. [src3]
Budget strategy:
├── Testing phase (first 2 weeks): $20-$50/day per ad set
├── Scaling: increase 20-30% every 3 days (avoid resetting learning)
└── Advantage+ Sales: $100+/day for AI optimization
Placements: Use Advantage+ Placements (let Meta optimize)
Facebook Feed, Instagram Feed, Stories, Reels, Messenger, Audience Network
Verify: Budget generates 50+ optimization events/week per ad set. Advantage+ Placements enabled. · If failed: If budget below $10/day per ad set, consolidate ad sets.
Duration: 15-30 minutes · Tool: Meta Ads Manager, Events Manager
Publish the campaign and verify all tracking fires correctly in production.
Pre-launch checklist:
├── Campaign objective matches business goal
├── Audiences status: "Ready" with sufficient size
├── Creative preview correct on all placements
├── Pixel + CAPI events verified in Test Events
├── UTM parameters on destination URLs
├── Payment method active
├── Special Ad Category if applicable
└── Campaign status: Active
Post-launch (within 1 hour):
├── Status: "Active" (not stuck "In Review")
├── Impressions > 0
├── Conversion events matching in Events Manager
└── UTM params visible in Google Analytics
Verify: Ads delivering, impressions accumulating, conversion events matching between Ads Manager and Events Manager. · If failed: If stuck "In Review" for 24+ hours, check policy violations. If no impressions after 2 hours, broaden targeting or increase budget.
{
"output_type": "meta_ads_campaign",
"format": "configured_platform",
"components": [
{"name": "campaign_id", "type": "string", "description": "Meta campaign ID"},
{"name": "objective", "type": "string", "description": "awareness|traffic|engagement|leads|app_promotion|sales"},
{"name": "ad_sets", "type": "array", "description": "Ad set configs with audience, budget, placement"},
{"name": "ads", "type": "array", "description": "Ad creatives with copy, media, CTA"},
{"name": "pixel_id", "type": "string", "description": "Meta Pixel ID installed on site"},
{"name": "capi_configured", "type": "boolean", "description": "Conversions API active with deduplication"},
{"name": "daily_budget", "type": "number", "description": "Total daily budget in USD"}
],
"expected_ad_set_count": "2-4",
"expected_ad_count_per_set": "3-6"
}
| Quality Metric | Minimum Acceptable | Good | Excellent |
|---|---|---|---|
| Event Match Quality (EMQ) score | > 6.0 | > 7.5 | > 9.0 |
| Creative variants per ad set | 3 | 5 | 8+ |
| Custom Audience match rate (list upload) | > 30% | > 50% | > 70% |
| Campaign Setup Score (Ads Manager) | > 50/100 | > 70/100 | > 90/100 |
| Learning phase exit (50 events/week) | Within 14 days | Within 7 days | Within 3 days |
If below minimum: For EMQ below 6.0, add more customer information parameters to CAPI events. For match rate below 30%, clean customer list data. For slow learning phase exit, consolidate ad sets and increase budget. [src2] [src3]
| Error | Likely Cause | Recovery Action |
|---|---|---|
| Ad rejected — policy violation | Creative contains prohibited content or missing Special Ad Category | Review Meta Advertising Standards. Remove flagged content. Enable Special Ad Category for housing/employment/credit. Request manual review. |
| Pixel not firing — no events in Test Events | Pixel code not installed or blocked by consent manager | Verify pixel base code in page source. Check consent banner fires pixel after consent. Use Meta Pixel Helper Chrome extension. |
| CAPI events duplicated (double-counting) | Missing event_id for deduplication | Add matching event_id to both browser Pixel and server CAPI events. Meta deduplicates on event_name + event_id. [src2] |
| Custom Audience "Too Small" | Fewer than 100 matched users | Extend lookback window (30 → 180 days), upload larger list, or use broader engagement source. |
| Campaign stuck in "Learning Limited" | Insufficient conversion volume (< 50/week per ad set) | Consolidate ad sets. Switch to higher-funnel optimization event. Increase daily budget. [src3] |
| High CPM (> $40) with low engagement | Audience too narrow, creative fatigue, or seasonal competition | Broaden to 3-5% Lookalike or Advantage+ Audience. Refresh creative. Check for Q4/holiday competition. [src3] |
| Low CTR (< 0.5%) | Weak creative or poor audience-message match | Test new hooks in first 3 seconds of video. Try different value propositions. Match ad copy to landing page. |
| Component | Starter ($500/mo) | Growth ($2,000/mo) | Scale ($10,000+/mo) |
|---|---|---|---|
| Ad spend (media) | $500/mo | $2,000/mo | $10,000+/mo |
| Platform tools | $0 | $0 | $0 |
| Third-party optimizer | $0 | $49-$99/mo | $99-$299/mo |
| Creative production | $0 (DIY) | $200-$500/mo | $1,000-$3,000/mo |
| Tracking setup | $0 | $0-$200 (one-time) | $500-$2,000 (custom CAPI) |
| Total monthly | $500 | $2,249-$2,799 | $11,599-$15,299 |
Benchmark CPMs (US, 2026): Awareness $8-$15, Traffic $12-$20, Leads $25-$40, Sales $20-$30. Average CPC: $0.50-$2.00. [src3]
Pixel-only setups miss 40-60% of conversion events due to iOS privacy, ad blockers, and cookie restrictions. Campaigns optimizing on incomplete data bid incorrectly and waste budget. [src2]
Install both Meta Pixel (browser-side) and Conversions API (server-side) with matching event_id parameters. Target EMQ score of 7.5+.
Splitting budget across many ad sets prevents any from exiting the learning phase. Each ad set needs ~50 optimization events per week. [src3]
Use fewer ad sets with at least $20-$50/day each. Let Advantage+ Placements handle optimization. Consolidation gives Meta's algorithm enough data.
Square creative creates black bars in Stories and Reels, reducing engagement by ~41%. Meta prioritizes vertical 4:5 and 9:16 formats. [src4]
Upload 1:1 or 4:5 for feeds and 9:16 for Stories/Reels. Use placement asset customization to assign the right creative to each surface.
Use this recipe when an agent needs to actually build and launch a Meta Ads campaign — not plan a strategy or discuss targeting theory. Requires a live website, ad creative assets, and a Meta Business Suite account with payment method. Covers complete setup from pixel installation through campaign launch.