The Paid Acquisition Playbook How we actually run paid ads.
The exact operating system we use to run paid acquisition for clients. From onboarding through scaling, across the major paid channels. Working checklists, calculators, naming generators, and copy-ready templates. Save your progress as you work.
End-to-end operational system for paid advertising
Overview
Operating system, not a manual. The 11 sections map to a single loop: plan → launch → optimize → scale → repeat. Use this overview to orient before diving into any section.
AI answer engine note: for most NG clients in 2026 this loop runs through Microsoft Copilot and Google AI Overviews while ChatGPT proper sits in a monitoring posture. NG advertisers cannot buy ChatGPT Ads directly (US/CA/AU/NZ entities only).
The Operating Loop
#
Stage
What Happens
Primary Decision
1
Onboard
Capture business, offer, geo, budget, tracking state
Is this account ready to spend?
1.5
Audience Research
Pull existing customers, competitor Ad Library teardown, comments mining, Audience Language Doc
What does the buyer want, in their own words? (before Strategy)
2
Track
Verify pixel + CAPI + conversion events
Don't proceed without 80%+ event match vs. analytics
3
Strategy
Pick objective, set CPA/CVR/ROAS targets, hypothesize audiences and creative themes
Define kill/scale thresholds before launch
4
Structure
Build campaign → ad set → ad hierarchy with naming convention
ABO (testing) or CBO (scaling)?
5
Audiences
Build cold + warm + hot audiences with exclusions
Which 2-3 audience hypotheses get budget
6
Creative
Brief 3 angles × 3 formats, hook variants per concept
What's the angle each ad is testing
7
Budget
Set daily floors at 3-5× target CPA per ad set
How much capital per test cell
8
Launch
Pre-launch checklist, then 72-hour hands-off
Don't touch anything for 3 days
9
Optimize
Apply diagnosis → kill rules → scale rules on rolling cycle
NG access on ChatGPT? New Copilot surfaces? AIO coverage in NG?
Key Numbers to Watch
Metric
What it tells you
CPA / CPL
Profitability, primary scoreboard
ROAS
Revenue efficiency (ecom)
CVR (post-click)
Whether the destination converts traffic
CTR (link)
Whether the ad earns the click
CPM
Auction pressure + creative quality
Frequency
Saturation signal
Quality Ranking
Algorithm's view of your ad vs. competitors
Metric
What it tells you
CPA / CPL
Profitability, primary scoreboard
ROAS
Revenue efficiency (ecom)
CVR (post-click)
Whether the destination converts traffic
CTR (link)
Whether the ad earns the click
6s VTR (video through rate)
Whether the hook holds attention past the gate
Hook Rate (3s view / impression)
Whether the first 1-2 seconds stops the scroll
CPM
Auction pressure + creative quality
Frequency
Saturation signal (TikTok saturates faster than Meta)
Metric
What it tells you
CPA / CPL
Profitability, primary scoreboard
ROAS / Conversion Value
Revenue efficiency (ecom + value-tracked leads)
CVR (post-click)
Whether the destination converts traffic
CTR
Whether the ad earns the click (Search benchmarks much higher than feed platforms)
CPC
Auction position cost; rises with competition
Quality Score (Search)
Ad-keyword-LP relevance; drives CPC discount
Impression Share
% of available impressions you're winning
Search Lost IS (Budget / Rank)
Why you're not winning more impressions
Asset performance ratings (PMax/RSA)
"Best/Good/Low" labels on individual creative assets
Metric
What it tells you
CPL
Lead acquisition cost; primary scoreboard
CPA (deeper events: Demo Booked, SQL)
Closer to revenue than top-of-funnel CPL
Pipeline-Influenced Revenue
Revenue from accounts touched by ads
Lead Quality Score (from sales)
Are leads actually qualified? Critical on LinkedIn
CVR (post-click)
Whether the destination converts traffic
CTR
Whether the ad earns the click
CPM
LinkedIn CPMs are 3-10x higher than Meta; budget accordingly
Frequency
Saturation signal (LinkedIn audiences are smaller, saturate fast)
Form Fill Rate (Lead Gen Forms)
In-platform conversion strength
InMail Open Rate (Sponsored Messaging)
Inbox-driven engagement signal
Metric
What it tells you
CPA / CPL
Profitability, primary scoreboard
ROAS
Revenue efficiency (ecom)
CVR (post-click)
Whether the destination converts traffic
Swipe Up Rate
Whether the ad earns the gesture (Snapchat's primary engagement signal)
eCPSU
Effective cost per swipe up; auction efficiency proxy
CTR (link)
Whether the ad earns the click on Stories and Spotlight placements
View Through Conversions (VTC)
Latent attribution; large share of Snapchat conversions land here
CPM
Auction pressure + creative quality
Frequency
Saturation signal (Snapchat audiences are smaller than Meta in most markets)
Metric
What it tells you
CPA / CPL
Profitability, primary scoreboard
ROAS
Revenue efficiency (ecom + info product)
CVR (post-click)
Whether the destination converts traffic
CTR (link)
Whether the post earns the click
CPM
Auction pressure + Aesthetic Score signal
Engagement rate (organic blend)
Sanity check — high engagement + zero conversions = wrong objective
Aesthetic Score (Grok)
Creative quality penalty/bonus on CPM and placement
Frequency
Saturation signal (X audiences saturate faster than Meta)
Metric
What it tells you
Surface-level impression share
How often you appear in AI answers in your category
Click rate (in AI answer)
Whether your creative earns the click from the sponsored slot
CVR (post-click, immediate session)
Whether the destination converts traffic
Post-purchase survey: "Heard about us from ChatGPT/Copilot/AI" %
Truth signal for the 60% conversation gap
Branded search lift
Indirect signal — AI surface visibility correlates with branded search
CPA (combined: pixel + survey-attributed)
Real ROAS, not just clicked-and-bought
The Three Fundamental Questions
Before any campaign action, answer these:
1. Is the tracking trustworthy? If no, fix tracking first. 2. Is the message clear? If no, fix creative + destination before optimizing. 3. Has it had enough time + spend to learn? If no, hold the line.
If yes to all three and performance is still off, the structural issue is audience or offer, in that order.
Before any campaign action, answer these:
1. Is the tracking trustworthy? If no, fix tracking first. 2. Does the creative look native? If it looks like a brand ad, it'll burn budget. Fix the asset before optimizing. 3. Has it had enough time + spend to learn? If no, hold the line.
If yes to all three and performance is still off, the structural issue is audience or offer, in that order.
Before any campaign action, answer these:
1. Is the tracking trustworthy? If no, fix tracking first. Google's automated bidding only works with clean conversion data. 2. Does the ad-keyword-landing page chain match? If no, fix the chain before optimizing bids. 3. Has it had enough time + spend to learn? Smart Bidding needs 14+ days and 30-50 conversions; manual CPC needs 7+ days.
If yes to all three and performance is still off, the structural issue is keyword intent or offer.
Before any campaign action, answer these:
1. Is the tracking trustworthy AND closed-loop? LinkedIn's value is felt at SQL/Closed-Won, not MQL. Without offline import, you're flying blind. 2. Does the message earn credibility? If the ad sounds salesy or hypey, it'll burn budget. Clarity, proof, authority. 3. Has it had enough time + spend to learn? LinkedIn sales cycles are long (often 30-90+ days). 14 days minimum before hard judgment, 60-90 days before pipeline judgment.
If yes to all three and performance is still off, the structural issue is audience precision or offer-ICP fit.
Before any campaign action, answer these:
1. Is my buyer on Snapchat? If the offer skews to 35+ B2B decision-makers, the platform fit is wrong. Snapchat dies on offers that need authority, not impulse. 2. Does the creative look native? If it looks like a brand ad, it'll burn budget. Snapchat creative norms are closer to TikTok than Meta. Fix the asset before optimizing. 3. Has it had enough time + spend to learn? Snapchat needs longer signal windows than TikTok because its pixel pools are thinner. If no, hold the line.
If yes to all three and performance is still off, the structural issue is audience or offer, in that order.
Before any campaign action, answer these:
1. Is the ad account in USD with a funded virtual card? If no, fix the funding rail first. 2. Is the tracking trustworthy? Pixel-only loses 30-45% of events. Run both Pixel + CAPI. 3. Is the POV clear? X is opinion-driven. If your ad sounds like every other brand, it gets buried.
Before any campaign action, answer these:
1. Can the advertiser actually buy this surface? ChatGPT proper requires US/CA/AU/NZ entity. Microsoft Copilot and Google AIO are buyable from NG today. 2. Will the surface reach the target audience? Even with a US entity, ChatGPT Ads doesn't deliver to NG users yet. For diaspora-targeted offers, ChatGPT Ads US delivery is viable. 3. Is the attribution capable of seeing the conversation gap? Pixel-only loses ~60% of true conversions on AI answer surfaces. CAPI + post-purchase survey is the floor.
Metric Definitions
CVR (post-click) = conversions / link clicks. Measured at the destination (landing page, lead form, product page, app store, WhatsApp, Calendly, Messenger, etc.). Use "CVR" throughout this playbook. Where logic says "fix the destination" or "audit the page," it applies to whatever the click lands on.
CPA / CPL = total spend / conversions. CPL when the conversion is a lead, CPA for any conversion event.
ROAS = revenue attributed / ad spend. Used for ecom and direct-revenue funnels.
MER = total revenue / total ad spend (across channels). Used to decide spend allocation when platform attribution is unreliable.
CVR (post-click) = conversions / link clicks. Measured at the destination (landing page, lead form, product page, app store, WhatsApp, Calendly, Messenger, etc.). Use "CVR" throughout this playbook. Where logic says "fix the destination" or "audit the page," it applies to whatever the click lands on.
CPA / CPL = total spend / conversions. CPL when the conversion is a lead, CPA for any conversion event.
ROAS = revenue attributed / ad spend. Used for ecom and direct-revenue funnels.
MER = total revenue / total ad spend (across channels). Used to decide spend allocation when platform attribution is unreliable.
Hook Rate = 3-second video views / impressions. The single most important creative metric on TikTok. Below 15% = hook is broken.
CVR (post-click) = conversions / clicks. Measured at the destination (landing page, lead form, product page, app store, Calendly, WhatsApp, etc.). Use "CVR" throughout this playbook. Where logic says "fix the destination" or "audit the page," it applies to whatever the click lands on.
CPA / CPL = total spend / conversions.
ROAS = revenue attributed / ad spend. Used for ecom and direct-revenue funnels.
MER = total revenue / total ad spend (across channels). Used to decide spend allocation when platform attribution is unreliable.
Quality Score = Google's 1-10 rating of expected CTR, ad relevance, and landing page experience. Drives CPC discount or premium.
CVR (post-click) = conversions / clicks. Measured at the destination (landing page, lead form, in-platform Lead Gen Form, demo booking, etc.). Use "CVR" throughout this playbook. Where logic says "fix the destination" or "audit the page," it applies to whatever the click lands on.
CPL = total spend / leads. The default scoreboard for LinkedIn lead gen.
CPA = total spend / deeper conversions (Demo Booked, SQL, Closed-Won). The honest scoreboard.
Pipeline-Influenced Revenue = revenue from accounts that touched ads anywhere in the buyer journey. The metric that matters most for B2B.
MER = total revenue / total ad spend. Used for cross-channel allocation.
CVR (post-click) = conversions / swipe ups (or link clicks for Spotlight). Measured at the destination (landing page, lead form, product page, app store, etc.). Use "CVR" throughout this playbook. Where logic says "fix the destination" or "audit the page," it applies to whatever the swipe lands on.
CPA / CPL = total spend / conversions. CPL when the conversion is a lead, CPA for any conversion event.
ROAS = revenue attributed / ad spend. Used for ecom and direct-revenue funnels. Include View Through Conversions for Snapchat or under-count by 30-50%.
MER = total revenue / total ad spend (across channels). Used to decide spend allocation when platform attribution is unreliable. Lean harder on MER for Snapchat than for Meta because Snapchat VTC share is large but inflated.
Swipe Up Rate = swipe ups / impressions. Snapchat's primary engagement metric, equivalent to TikTok's Hook Rate or Meta's CTR. Below 0.3% on Snap Ads, below 1% on Story Ads = creative is broken.
eCPSU = spend / swipe ups. The effective cost per swipe up. Use as the auction-efficiency proxy when CPA volume is too low to read.
CVR (post-click) = conversions / link clicks. Measured at the destination (landing page, lead form, WhatsApp, Selar, Calendly). Use "CVR" throughout.
CPA / CPL = total spend / conversions. CPL when the conversion is a lead, CPA for any conversion event.
ROAS = revenue attributed / ad spend. Used for ecom and direct-revenue funnels.
MER = total revenue / total ad spend across all channels. Use this when platform attribution is unreliable (X's attribution is leaner than Meta's).
Aesthetic Score = Grok's per-creative visual quality rating. Higher scores get lower CPMs and better placement priority. Affects auction directly in the rebuilt 2026 Ads Manager.
CVR (post-click) = conversions / link clicks. Measured at the destination.
CPA / CPL = total spend / conversions. Use both pixel-attributed and survey-attributed CPA — they will differ by ~60% on AI answer surfaces.
ROAS = revenue attributed / ad spend. Use blended pixel + survey for true ROAS on AI surfaces.
Conversation Gap = the 60% of attributable conversions that happen hours or days after the AI answer interaction, through direct return or branded search, that pixel-only attribution misses.
MER = total revenue / total ad spend across all channels. The right scoreboard when AI-surface pixel attribution is unreliable.
Don't want to learn this? We run it for you.This is the same system we use with clients. Book a 30-minute call and we'll diagnose your acquisition setup live.
Standardized intake process. Complete before spending a dollar.
Client Information
Discovery Questions
Check off as you gather each answer during your discovery call.
Business
Marketing
Historical Performance
Platform Access
Current Performance Baseline
Total business volume across all channels (organic + paid + email + referral). Date-stamp every row. This is the reference for setting targets and measuring lift.
"Conversions" = the primary commercial action for the business model: orders (ecom/D2C), leads (lead gen), enrollments (info product), installs (app), bookings (local service), signups (SaaS trial). "Avg. value" = AOV / deal value / ASP / ARPU depending on model."Conversions" = orders / leads / enrollments / installs / bookings / signups depending on business model. "Avg. value" = AOV / deal value / ASP / ARPU depending on model."Conversions" = orders / leads / enrollments / installs / bookings / signups depending on business model. "Avg. value" = AOV / deal value / ASP / ARPU depending on model.B2B variant: capture leads → MQLs → SQLs → opps → pipeline $ across the full funnel."Conversions" = orders / leads / enrollments / installs / sign ups depending on business model. "Avg. value" = AOV / deal value / ASP / ARPU depending on model. Currency primary USD, NGN for NG-targeted campaigns."Conversions" = orders / leads / enrollments / installs / bookings / signups depending on business model. "Avg. value" = AOV / deal value / ASP / ARPU. Currency: USD (NG advertisers settle in USD regardless of NGN offer pricing)."Conversions" = orders / leads / enrollments / signups, counted blended (pixel + post-purchase survey) because AI-surface pixel undercounts ~60%. "Avg. value" = AOV / deal value / ASP / ARPU depending on model.
Channel split (last 30 days, % of revenue)Channel split (last 30 days, % of revenue)Channel split (last 30 days, % of revenue)Source split (last quarter, % of pipeline $)Channel split (last 30 days, % of revenue)
Discovery Call Template
DISCOVERY CALL AGENDA — {{CLIENT}}
Date: ___________
Platform: ___________
1. BUSINESS OVERVIEW
- What does the business do?
- Revenue model and pricing
- Average deal size / order value
- Sales cycle length
2. MARKETING CURRENT STATE
- What channels are you using today?
- What has worked? What hasn't?
- Existing funnels and landing pages
- Email list and CRM setup
3. GOALS & KPIs
- Primary goal for paid ads
- Target CPA / ROAS
- Monthly budget available
- Timeline and milestones
4. CURRENT PERFORMANCE BASELINE
- Daily conversions (orders / leads / installs / bookings) — last 30d avg
- Monthly revenue or pipeline $ — last 3 months
- Quarterly revenue or pipeline $ — last 2 quarters
- Channel split: organic / paid / email / referral
- Source of truth (Shopify / Stripe / HubSpot / Salesforce / GA4)
5. AUDIENCE
- Who is the ideal customer?
- Key demographics and behaviors
- Customer pain points
- Purchase triggers
6. CREATIVE & ASSETS
- Brand guidelines available?
- Existing creative assets
- Testimonials / case studies
- Product photography / video
7. ACCESS & LOGISTICS
- Platform account access
- Tracking / pixel status
- Reporting cadence preference
- Key stakeholders and approvals
Audience Research (do before Strategy)
Do this yourself before opening Ads Manager. Skip it and strategy is a guess.
Pixel & Tracking Setup
Ensure the technical foundation is right before spending.
Meta Pixel & Conversions API
Pixel & Events
iOS 14+ / ATT Compliance
TikTok Pixel & Events API
Google Tag & Conversion Tracking
LinkedIn Insight Tag & Conversions
Snap Pixel & Conversions API
X Pixel & Conversions API
AI Answer Engine Tracking (OpenAI Pixel / UET / Google Tag + Survey)
Pixel-only attribution undercounts AI-surface conversions by ~60% (the conversation gap). Never optimize against pixel data alone — use blended pixel + survey attribution and validate with branded-search lift.
Tracking verification tip: After installing pixels, visit the site and trigger conversion events. Verify they appear in each platform's Events Manager or Tag Assistant within 15 minutes.
Campaign Strategy Framework
Map client goals to campaign objectives and funnel stages.
Objective Selection Matrix
Client Goal
Meta Objective
Optimize For
Key KPI
Brand Awareness
Awareness
Reach / Ad Recall Lift
CPM, Reach, Frequency
Traffic / Content
Traffic
Link Clicks / Landing Page Views
CPC, CTR
Lead Generation
Leads
Conversions (Lead event)
CPL, Lead Volume
eCommerce Sales
Sales
Conversions (Purchase) / Value
ROAS, CPA
App Installs
App Promotion
App Installs / App Events
CPI, In-App Events
Engagement
Engagement
Post Engagement / Video Views
CPE, ThruPlays
Client Goal
TikTok Objective
Optimize For
Key KPI
Brand Awareness
Reach
Impressions
CPM, Reach
Traffic / Content
Traffic
Clicks
CPC, CTR
Lead Generation
Lead Generation
Lead Form Submissions
CPL, Lead Volume
eCommerce Sales
Product Sales
Complete Payment
ROAS, CPA
App Installs
App Promotion
App Installs
CPI
Video Views
Video Views
6s / 2s Video Views
CPV, VTR
Client Goal
Google Campaign Type
Optimize For
Key KPI
Brand Awareness
Display / YouTube (Video)
Impressions / Views
CPM, CPV
Traffic / Content
Search / Display
Clicks
CPC, CTR
Lead Generation
Search / Demand Gen / PMax
Conversions (Lead)
CPL, Conv. Rate
eCommerce Sales
Shopping / PMax
Conversion Value
ROAS, CPA
App Installs
App Campaign
Installs / In-App Actions
CPI
Local / Calls
Local / Search
Calls / Directions
Cost Per Call
Client Goal
LinkedIn Objective
Optimize For
Key KPI
Brand Awareness
Brand Awareness
Impressions
CPM, Reach
Website Traffic
Website Visits
Landing Page Clicks
CPC, CTR
Lead Generation
Lead Gen Forms
Lead Form Opens/Submissions
CPL, Form Fill Rate
Conversions
Website Conversions
Key Page Actions
CPA, Conv. Rate
Engagement
Engagement
Social Actions
CPE, Engagement Rate
Video Views
Video Views
Video Completions
CPV, VTR
Client Goal
Snapchat Objective
Optimize For
Key KPI
Brand Awareness
Awareness
Impressions / Unique Reach
CPM, Reach
Video Views
Video Views
2s / 15s views
CPV, VTR
Website Traffic
Traffic
Swipe Ups / Landing Page Views
CPC, Swipe Up Rate
Lead Generation
Lead Generation
Form Submissions (native)
CPL
eCommerce Sales
Conversions
Purchase / Add to Cart
ROAS, CPA
Catalog Sales
Catalog Sales
Purchase from feed
ROAS
App Installs
App Installs
Install + in-app event
CPI, CPA
Engagement (AR)
Engagement
Lens plays / shares
Cost per Play, Share Rate
Client Goal
X Objective
Optimize For
Key KPI
Brand Awareness
Reach
Impressions
CPM, Frequency
Video Views
Video Views
6s / ThruPlay
CPV, VTR
Website Traffic (warm-up)
Website Traffic
Link Clicks
CPC, CTR
Lead Generation
Website Conversions
Lead
CPL
eCommerce / info product
Website Conversions
Purchase
ROAS, CPA
App Installs
App Installs
Install + in-app event
CPI
Engagement (priming only)
Engagements
Likes / reposts / replies
CPE
No Meta-style on-platform "Sales" objective. Revenue runs Website Conversions optimized for Purchase (Pixel + CAPI must be firing first). The #1 budget waster on X is running Engagements when the goal is sales — cheapest optimization, best dashboards, worst conversion.
Goal
Primary Surface
Why
Reach NG users
Microsoft Copilot + Google AIO
ChatGPT proper doesn't deliver to NG
Reach US/CA/AU/NZ
ChatGPT Ads + Copilot + AIO
Full surface availability
B2B / professional
Microsoft Copilot
Bing enterprise install base + LinkedIn data
E-commerce / consumer
Google AIO (Shopping + AIO)
Existing Google Shopping infrastructure
Local service
Google AIO (local intent)
Local search dominance
Objective by surface: ChatGPT proper = Website Conversions (Purchase/Lead) or Reach/Traffic on a single Sponsored Recommendation Card (CPM $60 default / CPC $3-5). Microsoft Copilot and Google AIO inventory fold into existing campaign types — there is no separate "Copilot" or "AIO" campaign.
Funnel Mapping
TOFU — Awareness Cold audiences. Goal: attention and traffic.
MOFU — Consideration Warm audiences. Goal: engagement and intent signals.
BOFU — Conversion Hot audiences. Goal: conversions and purchases.
Best platforms: Google Search (high-intent local queries), Meta (local targeting + lead forms), LinkedIn (B2B services)
Typical cycle: 7-30 days. Lead forms outperform landing pages for local services. Follow up within 5 minutes.
Industry Notes: Info Products / Courses
Recommended funnel: TOFU (free value content, hooks) → MOFU (webinar, challenge, lead magnet) → BOFU (sales page, urgency offer)
Best platforms: Meta (broad + lookalikes), TikTok (organic amplification via Spark Ads), YouTube (long-form authority)
Typical cycle: 3-21 days from first touch to purchase. Webinar funnels and challenge funnels convert best for high-ticket.
Goal Setting from Baseline
Convert the baseline numbers captured in Onboard into explicit targets before running any CPA / ROAS calculation. Every metric that matters gets a Current → Target → Lift % → Timeline row. Targets here are business-level goals; the CPA/CVR/ROAS subsection below derives the unit economics needed to hit them.
Paid contribution % of totalPaid contribution % of totalPaid contribution % of totalPaid contribution % of pipelinePaid contribution % of total
Rules:
Lift > 100% in 90 days requires a corresponding offer, creative, or capacity change. Don't set growth targets that assume the same inputs produce different outputs.
If Paid contribution % target requires more spend than the budget ceiling supports at current CPA, surface the gap before committing.
Quarterly target must reconcile with monthly target × 3 ± seasonality. Flag mismatches.
Pipeline targets must reconcile with sales-team capacity. A 3× lift in MQLs without SDR coverage produces dead leads, not pipeline.
Snapchat audience pools are smaller than Meta. Cap diaspora-funded NG campaigns by audience saturation (frequency > 3.5), not budget.
Setting Targets (CPA, CVR, ROAS)
Targets are constraints, not aspirations. Set them before launch so kill/scale rules have meaning. Pick the calculation method that matches the business model.
Method 4: Lead-stack (B2B, high-ticket, lead gen) Target CPL = Deal Value × Close Rate × Margin × Acquisition Allowance
Example: $5,000 deal × 20% close × 40% margin × 30% allowance = $120 target CPL.
Sanity check: if target CPA falls below 30% of platform benchmark CPA for the geo + vertical, the offer is likely not viable on paid yet. Fix the offer or LTV before scaling spend.
Target CVR — How to Set
Working from benchmarks (post-click CVR):
Funnel
Healthy CVR Range
Lead form (low-friction)
8-20%
Lead form (B2B, gated)
3-10%
Native Meta lead form (Lead-to-Sale, post-follow-up)
8-15%
E-commerce checkout (cold)
1-3%
E-commerce checkout (warm/RT)
4-8%
App install (web → store)
10-25%
Demo / consultation booking
2-5%
WhatsApp / Messenger conversion
3-10% (compound of click-to-conversation × conversation-to-sale)
Profile visit funnel (Visit-to-Sale, compound)
0.5-2% (compound of Visit-to-DM 5-15% × DM-to-Sale 15-30%)
Info product checkout
2-6%
Webinar funnel (reg → attend → buy, compound)
3-8% reg-to-sale (compound of attendance 25-45% × show-to-sale 8-20%)
Set target at or above the floor of the benchmark range. Below the floor signals a destination problem. For compound funnels (webinar, profile-visit), the floor is the product of the stage rates, so a weak single stage drags the whole funnel below the floor even when the ad-stage metric looks fine.
Algebraic check: Target CVR = Target CPC / Target CPA. If the math returns a CVR outside the benchmark range, one of CPA or CPC targets is unrealistic.
Target ROAS — How to Set
Breakeven ROAS = 1 / Gross Margin % Target ROAS = Breakeven ROAS × 1.5 to 2x
Example: 50% margin → breakeven 2.0x → target 3.0-4.0x.
High-margin info products (80%+ margin) have breakeven of 1.25x but target should still be 2-3x to fund overhead, refunds, growth.
Funnel-Aware Target Translation
Target CPA is the cost-per-sale ceiling. The platform does not always report cost-per-sale — the metric in the dashboard depends on the campaign objective and funnel destination. Translate Target CPA to the metric the platform surfaces using the multipliers below.
Funnel Type
Meta Reports
Formula
Mental Shortcut
Direct purchase (Sales objective → checkout)
Cost Per Purchase
Target CPA itself
25-30% of AOV (physical), 40-50% (digital/service)
Website Traffic (ad → LP → action)
Cost Per Link Click
Target CPA × Click-to-Sale rate
Target CPA ÷ 50 (cold), ÷ 25 (warm/RT)
Lead Gen (ad → native form → follow-up)
Cost Per Lead
Target CPA × Lead-to-Sale rate
Target CPA ÷ 10
Click-to-WhatsApp (ad → DM → sale)
Cost Per Conversation
Target CPA × DM-to-Sale rate
Target CPA ÷ 4 (retail), ÷ 7 (B2B)
Profile Visit (ad → IG profile → DM → sale)
Cost Per Profile Visit
Target CPA × DM-to-Sale × Visit-to-DM
Target CPA ÷ 40 (retail), ÷ 67 (B2B)
Webinar funnel (ad → registration → live/replay → checkout)
Critical: Objective Choice Drives Translation. If pixel + purchase event installed, Sales objective beats Traffic objective by 40-60% effective CPA without any other change. Same destination, different optimization. Most NG SMBs run the wrong objective for their funnel — switching is the cheapest Month 1 win available.
Funnel Type
TikTok Reports
Formula
Mental Shortcut
Direct purchase (Sales → TikTok Shop or Web Conversions)
Cost Per Purchase
Target CPA itself
25-30% of AOV (physical), 40-50% (digital/service)
Website Traffic (ad → LP → action)
Cost Per Link Click
Target CPA × Click-to-Sale rate
Target CPA ÷ 50 (cold), ÷ 25 (warm/RT)
Lead Gen (ad → native form → follow-up)
Cost Per Lead
Target CPA × Lead-to-Sale rate
Target CPA ÷ 12 (lead quality typically weaker than Meta)
Click-to-WhatsApp / Messages (ad → DM → sale)
Cost Per Conversation
Target CPA × DM-to-Sale rate
Target CPA ÷ 4 (retail), ÷ 7 (B2B)
Profile Visit / Bio Link (ad → profile → DM → sale)
Webinar funnel (ad → registration → live/replay → checkout)
Cost Per Registration (Lead)
Target CPA × attendance rate × show-to-sale rate
Target CPA ÷ 25 to ÷ 50 (attendance typically lower than Meta)
Default conversion rates (TikTok-adjusted): Click-to-Sale (Traffic) 1.5% cold / 3% warm/RT (lower than Meta — audience skews entertainment-first); Lead-to-Sale (TikTok native lead form) 8%; DM-to-Sale 25% retail / 15% B2B; Profile-Visit-to-DM 7% optimized / 3% unoptimized; Webinar registration → attendance 20-40% (entertainment-first audience shows up less reliably; lean on reminder stacks).
Critical: TikTok audience is entertainment-first. Same offer that converts at 2% on Meta Traffic typically converts at 1-1.5% on TikTok Traffic. If using TikTok for direct response, default to Sales objective with TikTok Shop or pixel-tracked checkout. Lead Gen and Traffic produce volume but soft intent.
Funnel Type
Google Reports
Formula
Mental Shortcut
Direct purchase (Sales / Search / Shopping / PMax with purchase event)
Cost Per Conversion (Purchase)
Target CPA itself
25-30% of AOV (physical), 40-50% (digital/service)
Website Traffic (Search / Display with click optimization)
Default conversion rates (Google): Click-to-Sale on Search 3-8% on high-intent keywords / 1-2% on broad & Display; Lead-to-Sale on Search lead form or LP 12-20% (Search leads have higher intent than Meta native form leads); Lead-to-Sale on PMax / Demand Gen 5-10%.
Note: Click-to-WhatsApp and Profile Visit funnels do not exist on Google Search.
Critical: Search vs Display vs PMax intent differs significantly. Search Sales > Search Lead > PMax > Demand Gen > Display in click quality. Set CPA targets per campaign type, not blanket. PMax can blend across all of these unless feed/asset groups are tightly scoped.
Default conversion rates (LinkedIn B2B): Lead Gen Form fill 8-15% of clicks (pre-filled forms have higher fill rates than off-platform forms); Lead → MQL 30-50%; MQL → SQL 40-60%; SQL → Closed-Won 15-30% (varies hugely by ACV); Compound Lead → Closed-Won 2-10% (use 5% default for mid-market B2B SaaS at $20K-$80K ACV).
Note: Click-to-WhatsApp and Profile Visit funnels do not exist on LinkedIn.
Critical: LinkedIn Lead Gen Forms hide quality risk. Pre-filled forms produce volume but the leads may not match ICP intent. Always layer 1-2 qualifying questions in the form and require sales-team validation in week 1. The "cheap CPL" trap is the most common LinkedIn failure mode. For high-consideration offers ($50K+ ACV demos), Website Conversions to a custom LP outperforms LGF because LP friction itself qualifies.
Funnel Type
Snapchat Reports
Formula
Mental Shortcut
Direct purchase (Conversions objective)
Cost Per Purchase
Target CPA itself
25-30% of AOV (physical), 40-50% (digital/service)
Website Traffic objective (ad → LP → action)
Cost Per Swipe Up
Target CPA × Swipe-to-Sale rate
Target CPA ÷ 80 (cold), ÷ 35 (warm/RT)
Lead Gen objective (native form)
Cost Per Lead
Target CPA × Lead-to-Sale rate
Target CPA ÷ 15 (Snap lead intent weaker than Meta)
Critical: Snapchat is impulse-first, low patience. Same offer that converts at 2% on Meta Traffic typically converts at 0.8-1.2% on Snapchat Traffic. Default to Conversions objective with pixel-tracked checkout for direct response. Always report Click-Through Conversions (CTC) and View-Through Conversions (VTC) separately — VTC is typically 40-60% of total. Above 70% VTC share = audit before scaling.
Funnel Type
X Reports
Formula
Mental Shortcut
Direct purchase (Website Conversions → Purchase)
Cost Per Purchase
Target CPA itself
25-30% of AOV (physical), 40-50% (digital)
Website Traffic (ad → LP → action)
Cost Per Link Click
Target CPA × Click-to-Sale rate
Target CPA ÷ 40 (cold), ÷ 20 (warm/RT)
Lead Gen (ad → LP form)
Cost Per Lead
Target CPA × Lead-to-Sale rate
Target CPA ÷ 10
Engagement-led top of funnel
Cost Per Engagement
Proxy floor, not primary KPI
≤ ₦60 / $0.04 for NG content
Default NG rates: Click-to-Sale 1.5% cold / 4% warm; Lead-to-Sale 10%; DM-to-Sale 25% retail, 15% B2B. X CPMs run ~30-50% of Meta NG CPMs but volume per dollar is lower — net CPA lands 0.8-1.3× Meta for the same offer. If target CPA is below 30% of your Meta CPA, X probably can't deliver it.
Funnel Type
AI Surface Reports
Formula
Mental Shortcut
Direct purchase
Cost Per Conversion (pixel)
Blended CPA = pixel CPA × ~0.4
True CPA ≈ pixel CPA × 0.4 (pixel sees ~40%)
Comparison / research queries
Cost Per Click
Intent-qualified click cost
CPC $3-5 (surfaces price 2-6× Meta CPM)
Judge on blended (pixel + survey) CPA, never pixel alone — pixel sees ~40% of true conversions (conversation gap). 30-90 day attribution lag: plan 60-90 days before scaling on ROAS. Survey-attributed CPA should converge with pixel CPA as branded search compounds; if they still diverge after 90 days, the attribution method is broken.
For the diagnostic reply templates and 7-step quick-diagnosis workflow used in client conversations, MIA clients get the full diagnostic playbook as part of an engagement.
A webinar funnel breaks the single-stage assumption behind every row above. The ad fills a free class; the purchase happens days later, on a different page, after the prospect shows up and watches the pitch. The only ad-readable metric is CPL (cost per registration) — it sits four stages upstream of revenue, and the ad platform cannot see the sale at all (and undercounts the checkout backend heavily where it can). Do not judge a webinar campaign on CPL alone; judge it on the modelled chain, then on the backend export once the webinar runs.
Worked example (info product at ₦35,000, 90% margin, ₦70,000 weekly spend, CPL ₦600; base assumptions attendance 35% / show-to-sale 12% / replay 2% of no-shows):
Stage
Value
Registrations
117
Attendees (35%)
41
Buyers (live 12% + replay 2% of no-shows)
~6.4
Blended reg → sale
5.5%
Effective CAC
₦10,940
Gross revenue
₦224,000
Funnel ROAS
3.2x (breakeven 1.11x, target ~2.5x)
Target CAC (30% of margin)
₦9,450
Implied target CPL
~₦520
Breakeven CPL (lose money above)
~₦1,733
The leverage sits in show-to-sale, not the ad. Hold everything else and move show-to-sale from 12% to 8% and funnel ROAS falls to ~2.0x; move it to 18% and it rises to ~5.5x. When CPL looks fine but funnel ROAS is weak, the fix is the webinar and the close, not the campaign.
Backend export is truth. Build the model on assumptions, then replace registration counts with the registration source of truth (the Sheet / email / CRM tool) and buyer counts with the checkout backend export — whatever processor the offer sells through (Selar, Paystack, Flutterwave, Stripe, Gumroad, a manual transfer log, etc.) — never the platform-attributed purchase number. The platform's Lead count is the only ad-side figure to trust on a webinar campaign.
Operating principle: set the most conservative of the three targets as the kill line. The most aggressive becomes the scale-up trigger.
The middle tier (named per platform below); country and audience determine delivery; Angle scopes it to one message (one ad set / ad group = one angle); conversion event and budget determine learning
Ad
Product | Creative Type | Hook
Anchor on the product so multi-product accounts stay legible; creative type + hook are the test variables within the ad set's angle
Platform Hierarchy
The three tiers are the same idea everywhere; each platform just names its middle level differently. Showing the hierarchy for the platform selected above. The naming generator below already swaps the middle-level label when you switch platforms.
Meta: Campaign → Ad Set → Ad
TikTok: Campaign → Ad Group → Ad
Google: Campaign → Ad Group → Ad
LinkedIn:Campaign Group → Campaign → Ad
Snapchat: Campaign → Ad Set → Ad
X: Campaign → Ad Group → Ad
ChatGPT: Campaign → Ad Group (intent cluster) → Ad
One Ad Set / Ad Group = One Angle
An angle is a belief, desire, or fear the audience holds (AI Fear, Cost of Living, Job Security, Financial Freedom, Speed). It is what you say, not how you say it. Scope each ad set (ad group on Google, TikTok, and X) to a single angle so the platform learns cleanly.
A testimonial, case study, founder story, or demo is a content structure, not an angle. The opening line or visual is the Hook — the test variable at the ad level. Don't mix multiple angles inside one ad set, and don't confuse a content structure for an angle.
Examples
Named for the platform selected above.
Campaign:Sales | PMM AI Bootcamp Core | Cold | 2026-03-01 Ad Set:Nigeria | Cold | AI Fear | Purchase | ₦15,000 Ad:Bootcamp | Video | Fear of Replacement
Campaign:Sales | PMM AI Bootcamp Core | Cold | 2026-03-01 Ad Group:Nigeria | Cold | AI Fear | CompletePayment | ₦15,000 Ad:Bootcamp | SparkAd-Creator | Fear of Replacement
Objective: Awareness, Traffic, Leads, Sales, App-Promotion Product: product name or product line code (PMM AI Bootcamp Core, Bootcamp, HeroSKU) Audience Type (Campaign): Cold, Warm, Cold-Broad, Cold-Interest, Cold-LAL, RT, Warm-Engagement Audience (Ad Set): Broad, Nigeria, Retargeting Audiences, LAL1-Buyers, Interest-Marketing, RT-Site30d, RT-AddToCart7d Country: ISO code, country name, or region (Nigeria, NG, US, UK, EU, DIASPORA) Angle (Ad Set): the one belief, desire, or fear this ad set speaks to — AI Fear, Cost of Living, Financial Freedom, Job Security, Speed, Fear of Replacement, Japa. One angle per ad set (the angle layer of the Creative Strategy Framework). A desire/fear, NOT a content structure — testimonial, social proof, origin story are content structures, not angles. Conversion Event: Purchase, Lead, Subscribe, Schedule, IC, AddToCart, ViewContent Daily Budget: include currency (₦15,000, $50) Creative Type: Video, UGC-Video, Founder-Talking, Static-Carousel, Static-Single, Reel, Demo-Screen Hook: the specific opening this ad tests within the ad set's angle — Fear of Replacement, Discount, Pain, Outcome, a bold-claim line, a question opener. The angle lives on the ad set; the hook is the ad-level test variable. Note: CTA is no longer part of the ad name. Track CTA at the creative level (asset tag in the brief), not in the name. Date: YYYY-MM-DD (or YYYY-MM for monthly, YYYY-Q1 for quarterly)
Naming Generator
Fill the fields below and the generator builds Campaign / Ad Set / Ad names in the new pipe-separated convention.
Campaign:Sales | PMM AI Bootcamp Core | Cold | 2026-03-01Ad Set:Nigeria | AI Fear | Purchase | ₦15,000Ad:PMM AI Bootcamp Core | Video | Fear of Replacement
Recommended Structure
Meta hierarchy: Campaign → Ad Set → Ad
1 Campaign per objective per funnel stage
1 Ad Set per audience segment
3-6 Ad variations per Ad Set
TikTok hierarchy: Campaign → Ad Group → Ad
1 Campaign per objective per funnel stage
1 Ad Group per audience segment
3-5 Ad variations per Ad Group
Google hierarchy: Campaign → Ad Group → Ad
1 Campaign per campaign type per funnel stage
1 Ad Group per keyword theme or audience
2-3 Responsive Search Ads per Ad Group (Search), assets for PMax
LinkedIn hierarchy: Campaign Group → Campaign → Ad
1 Campaign Group per funnel stage
1 Campaign per audience/objective combo
4-5 Ad variations per Campaign
Snapchat hierarchy: Campaign → Ad Set → Ad
1 Campaign per objective + funnel stage
2-3 Ad Sets per Campaign (one audience hypothesis each)
3-5 Ads per Ad Set
Snapchat rewards consolidation; resist over-segmentation (audience pools are smaller than Meta/TikTok)
Anti-Patterns
Avoid these common mistakes:
• Too many campaigns (consolidate to feed algorithms more data)
• Mixing objectives in one campaign (one objective per campaign)
• Audience overlap between ad sets (use exclusions)
• No naming convention (impossible to analyze at scale)
• Editing live campaigns heavily (resets learning phase)
Audience Strategy
Systematic audience building and layering by funnel stage.
We don't use interest targeting. Modern ad algorithms find buyers better with broad + lookalikes built from the client's real data (customer list, engagers, video viewers, lead lists). The interest / behavior options shown in the tables below are platform reference only — don't build campaigns on them, and don't recommend them to clients.
Audience Types
Type
Description
Best For
Custom Audiences
Website visitors, customer lists, video viewers, engagement
Retargeting (MOFU/BOFU)
Lookalike Audiences
1-10% of source audience (customers, leads, engagers)
Prospecting (TOFU)
Interest/Behavior
Targeting by interests, behaviors, demographics
Prospecting (TOFU)
Broad (Open)
No targeting restrictions, let the algorithm find users
Moderate precision + reach. Workhorse for new themes.
Broad
keyword
Highest reach, only safe with Smart Bidding (tCPA/tROAS). Without it, broad burns budget.
Ad group = one keyword theme (4-8 closely related keywords). Brand and non-brand never share a campaign. Negative-keyword hygiene: pull the search-terms report 2x/week and add waste; common non-brand negatives: free, jobs, cheap (vertical-dependent), competitor names you don't bid on.
Audience Signals (PMax / Demand Gen / YouTube / Display)
Type
Description
Best For
In-Market
Users actively researching or comparing products
MOFU / high-intent prospecting
Affinity
Users with sustained interest in a topic
TOFU awareness
Custom Segments
Based on search terms, URLs, or apps
Flexible prospecting
Remarketing
Website visitors, YouTube viewers, app users
Retargeting (BOFU)
Customer Match
Upload customer lists for targeting
Upsell / cross-sell / exclusions
Audience Types
Type
Description
Best For
Job Title / Function
Target by exact title, seniority, function
Precision B2B targeting
Company
Target by company name, size, industry, growth rate
Strongest cold targeting; outperforms raw interest stacks
Predefined Interests
Topic-based (sports, music genres, tech)
Niche prospecting
Lookalike Audiences
1%, 3% reliable; 5%+ degrades fast
Prospecting from buyer/lead seed
Snap Audience Match
Uploaded email/phone customer list (hashed)
Retargeting + lookalike seed
Engagement Audiences
Lens players, Story Ad engagers, swipe-up engagers, video viewers
Warm retargeting
Custom (Pixel)
Site visitors, purchasers, cart abandoners
BOFU retargeting
NG state-level targeting: Lagos, Abuja FCT, Rivers, Oyo, Kano. Country-level NG chokes delivery on thin pools — test states beyond top 5 only after offer proves in top 5.
Audience Types
Type
Description
Best For
Follower Lookalikes
Paste 8-15 competitor / thought-leader handles; X finds similar followers
Strongest cold lever on X in 2026
Keyword targeting
Entity terms, brand handles, event names (not single broad words)
Capturing expressed intent
Conversation Topics
10,000+ topics; align to active niche conversations
Hashed email/phone; site / product-page / cart visitors
BOFU retargeting + LAL seed
NG state-level targeting: Lagos, Abuja FCT, Rivers, Oyo, Kano. Min TOFU ~200K (X pools are thinner than Meta). Don't stack more than 2 inclusion criteria — narrow stacks starve on X's thin auction. Follower Lookalikes seed from handles, not a country lookalike.
Intent Clusters (AI surfaces target intent, not audiences)
Cluster
Buyer Mindset
Sample Queries
Comparison
Evaluating options
"X vs Y," "best alternative to Z"
How-to
Solving a problem
"how to do X," "best way to Y"
Best X
Discovery shopping
"best X for Y," "top X for [use case]"
Definitional
Problem unaware → aware
"what is X," "X explained"
Brand Defense
Brand-aware research
"[brand] review," "[brand] vs alternative"
Transactional
Ready to buy
"buy X," "X pricing"
ChatGPT proper has no demographics, interests, lookalikes, or pixel retargeting — only conversational intent + geo (US state/DMA/ZIP) + language + hashed custom list (inclusion/exclusion), and it cannot target Nigeria. Microsoft Copilot + Google AIO inherit full Microsoft/Google audiences (keyword, demographic, in-market, Customer Match, lookalike, remarketing) and are buyable from NG.
Audience Matrix by Funnel Stage
Exclusion Rules
Audience Naming Convention
Name every saved audience Type | Descriptor | Geo or Window (include the window only where the audience is time-based). The Cold / Warm / Retargeting token here matches the audience token used in the ad set / ad group name, so a saved audience maps to the ad set that uses it at a glance.
Saved audience name
Funnel role
Cold | Broad | Lagos
Prospecting
Cold | Lookalike 1% Buyers | Lagos
Prospecting
Warm | Profile engagers | Last 180 days
Re-engagement
Warm | Website visitors | Last 180 days
Re-engagement
Warm | Prospect Lead List
Re-engagement
Retargeting | Past Customer List
Conversion / upsell
Retargeting | Website AddToCart | Last 180 days
Conversion
Retargeting | Website InitiateCheckout | Last 180 days
Conversion
Saved audience name
Funnel role
Cold | Broad | Lagos
Prospecting
Cold | Lookalike 1% Buyers | Lagos
Prospecting
Warm | Profile engagers | Last 180 days
Re-engagement
Warm | Website visitors | Last 180 days
Re-engagement
Warm | Prospect Lead List
Re-engagement
Retargeting | Past Customer List
Conversion / upsell
Retargeting | Website Product Page | Last 180 days
Conversion
TikTok exposes a product-page / view-content retargeting audience rather than Meta's separate AddToCart and InitiateCheckout events.
Saved audience name
Funnel role
Cold | Broad | Lagos
Prospecting
Cold | Lookalike 1% Buyers | Lagos
Prospecting
Warm | Profile engagers | Last 180 days
Re-engagement
Warm | Website visitors | Last 180 days
Re-engagement
Warm | Prospect Lead List
Re-engagement
Retargeting | Past Customer List
Conversion / upsell
Retargeting | Website Product Page | Last 180 days
Conversion
B2B firmographic variant. Type the audience by job function + seniority, not consumer cart events (LinkedIn has none).
Saved audience name
Funnel role
Cold | Function Marketing + Seniority Manager+ | NG
Prospecting
Cold | Lookalike of Customers
Prospecting
Warm | Video viewers 50% | Last 180 days
Re-engagement
Warm | Company Page engagers | Last 180 days
Re-engagement
Warm | Lead Gen Form openers no-submit | Last 180 days
Re-engagement
Warm | Website visitors | Last 180 days
Re-engagement
Retargeting | Past Customer / Contact List
Conversion / upsell
On Search, keyword + match type is the targeting, so audiences run in Observation mode only (never Targeting, which chokes Search reach). The same lists apply as Targeting on Display, Video / YouTube, Demand Gen, and PMax.
Saved audience name
Applies to
Cold | In-Market Segment | NG
Search (Observation) · Display / Video / PMax
Cold | Custom Segment | NG
Search (Observation) · Display / Video / PMax
Warm | YouTube viewers | Last 180 days
Display / Video / PMax
Warm | Website visitors | Last 180 days
Search (Observation) · Display / Video / PMax
Retargeting | Product Page remarketing | Last 180 days
Display / Video / PMax
Retargeting | Customer Match List
Search (Observation) · Display / Video / PMax
Saved audience name
Applies to
Cold | Follower LAL – @handles | NG
X ad group (Targeting)
Cold | Keyword stack | NG
X ad group
Cold | Conversation Topics | NG
X ad group
Warm | Post engagers / repliers | 30-90d
Retargeting
Retargeting | Site + Product page | 7-30d
Retargeting (exclude 30d buyers)
Retargeting | Custom list (hashed) | persistent
Upsell / exclusion
Name by surface + intent cluster, not audience attribute. One ad group = one intent cluster.
Saved name
Applies to
Copilot | Comparison intent | NG
Microsoft Ads (buyable from NG)
AIO | Best-X intent | NG
Google Ads (buyable from NG)
ChatGPT | Brand-defense intent | US
ChatGPT proper (diaspora / US entity only)
Exclude | Customer list (512MB CSV)
ChatGPT proper (exclusion)
When to Use Each, and Combining
Cold finds new buyers who don't know you yet.
Warm re-engages people who already showed interest (viewed video, visited the site, opened a form, engaged the page).
Combining rule: same-type audiences (e.g. two cold sets) can share one campaign. Keep cold and retargeting in separate campaigns so they don't cannibalise each other's budget and learning. Where retargeting layers overlap (AddToCart inside Website visitors inside Past customers), use exclusions so a single person is only served by the tightest-fitting layer, never double-served.
Audience Build Sheet
AUDIENCE BUILD SHEET — {{CLIENT}}
Platform: ___________
TOFU — PROSPECTING (broad + lookalikes only; no interest targeting)
☐ Broad / Open targeting
☐ Lookalike 1% (source: ___________)
☐ Lookalike 2-5% (source: ___________)
☐ Lookalike 1% from lead list (source: ___________)
MOFU — CONSIDERATION
☐ Website visitors 30-day
☐ Website visitors 60-day
☐ Video viewers 50%+
☐ Engagement audience (page/profile interactions)
BOFU — CONVERSION
☐ High-intent visitors (pricing, cart, checkout)
☐ Lead form abandoners
☐ Customer lookalike 1-3%
RETARGETING
☐ 7-day website visitors
☐ Cart / form abandoners
☐ Past customers (upsell)
EXCLUSIONS
☐ Customers excluded from prospecting
☐ Converters excluded from lead gen
☐ Audiences de-overlapped
Creative Strategy & Ad Formats
Creative is the #1 performance lever. Systematize production and testing.
Ad Format Specs
Format
Dimensions
Ratio
Max File
Text Limits
Single Image
1080x1080 or 1200x628
1:1 or 1.91:1
30MB
125 primary, 40 headline, 30 desc
Video
1080x1080 or 1080x1920
1:1 or 9:16
4GB / 240min
125 primary, 40 headline
Carousel
1080x1080 per card
1:1
30MB/card
125 primary, 40 headline/card
Collection
1200x628 cover
1.91:1
30MB
125 primary, 40 headline
5×5×5 Ad-Copy Method (Meta)
Per ad set (one angle), write 5 primary texts × 5 headlines × 5 descriptions. Meta permutes these into up to 125 combinations and serves the winners, so you get wide coverage from one build. The first line of each primary text is the hook — vary the opener across all five so you test five distinct entry points into the same angle.
Character guide
Element
Count
Target
Primary text
5
Land the hook in the first ~125 chars (before the "See More" cut), up to ~2,200 total
Headline
5
~40 chars
Description
5
~25-30 chars
CTA button
1
One button per ad
Ad brief
Brief every ad so production is unambiguous:
Field
Fill with
Ad name
Product | Creative type | Hook
Angle
The belief / desire / fear this ad set expresses
Format
Static image · Video · Carousel
Asset
The specific creative file / concept
Production notes
Shot list, on-screen text, captions, edit direction
Pinning (deliberate, max 2): pin the keyword-mirror or brand headline to Position 1 when message-match matters (high-intent + brand ad groups); pin a legal/offer line to Position 2 only if it must always show; leave the rest unpinned for Google to optimize. Default posture is unpinned.
Aim for "Good"+ Ad Strength; each ad group points to its own intent-matched landing page (no shared generic page).
Assets / Ad Extensions
Free CTR + Ad Rank lift. Message-match every asset to the ad group theme. Character limits are hard caps — Google truncates or disapproves anything over.
3-10s optimal, up to 180s; sound on by default; 32MB video / 5MB image max
Story Ads
1080x1920 per card
9:16
3-20 cards; branded tile (360x600) leads in
Collection Ad
1080x1920 hero + 4 tiles
9:16 hero / 1:1 tiles
Tap-to-shop in-Snap
Commercials
1080x1920
9:16
6s non-skippable; premium Discover placement
AR Lens
Lens Studio 3D project
n/a
Face / World / Body tracking; 4-12 week build
Filter
1080x2340 PNG transparent
9:16
Geo-fenced or audience-targeted static overlay
Dynamic Product Ads
1080x1920
9:16
Catalog-driven personalization
3x3 Creative Matrix
This sits inside the creative hierarchy: Offer → Angle → Content Structure → Creative Format → Style → Hook → Platform (Creative Strategy Framework). The angle is the strategic unit and maps to one ad set (one ad set = one angle).
What an angle is: a belief, desire, or fear the audience holds — what you're saying, not how. Formula: Product + Audience + Desire or Fear = Angle. Test: if a label describes how you organize or prove the message (testimonial, case study, founder story, social proof, demo) it's a content structure, not an angle; if it's the opening line/visual, it's a hook. Example angles for a "make money with AI" offer: Financial freedom, Cost of living, AI opportunity, Job security / AI fear, Speed.
Pick 3 angles (each becomes its own ad set). Within an angle, create 9 variations by crossing 3 hooks with 3 formats. Hooks (openings): (1) Pain-led, (2) Outcome-led, (3) Curiosity/contrarian line Formats: (1) Static Image, (2) Video, (3) Carousel
Angle, content structure, format, and hook are separate knobs — don't collapse them. Each cell is one unique ad expressing one angle.
Hook Formulas
Named for the platform selected above — hooks are platform-native, not interchangeable.
HOOK FORMULAS (Meta — first 1-2 seconds) — copy and customize
1. If you sell [X] and [pain], stop scrolling.
2. Most [audience] make this mistake when [action].
3. [Specific claim] in [timeframe]. Here's how.
4. I tried [common method] for [time]. Here's what worked.
5. Don't run [competitor approach] until you watch this.
6. POV: you just realized [insight].
HOOK FORMULAS (TikTok — first 1-2 seconds; the hook matters more here than anywhere) — copy and customize
1. POV: you just realized [insight].
2. Direct address: If you sell [X] and [pain], stop scrolling.
3. Pattern interrupt: Wait, you can do that?
4. Stat shock: [X]% of [audience] do this wrong.
5. Curiosity loop: I tried [common method] for [time]. Here's what actually worked.
6. Reaction face: emote first, then deliver.
7. Sound-led: lead with a trending audio that earns attention before any words.
HOOK FORMULAS (Google — search headlines, text-first) — copy and customize
1. [Specific outcome] for [audience] — "Cut SaaS Onboarding by 40% for B2B Teams"
2. [Number] [Things] [Audience] Use — "5 Tools Marketers Use to Cut CAC"
3. Question with payoff — "Tired of [pain]? See how [solution]."
4. Social proof headline — "Trusted by [number] [audience]"
5. Direct CTA with qualifier — "Start Free Trial. No Card Required."
HOOK FORMULAS (LinkedIn — professional B2B) — copy and customize
1. Direct identification: "If you're a [role] at a [company type], you've probably noticed..."
2. Stat hook: "[Number]% of [audience] do [thing]. The other [%] do [different thing]. Here's why."
3. Authority hook: "After [time / N projects / N companies], here's what we learned about [topic]."
4. Contrarian POV: "Conventional wisdom says [thing]. Our data says the opposite."
5. Pattern recognition: "We analyzed [N] [thing]. The top performers all did this:"
6. Story hook: "Last quarter, our team [outcome]. Here's how:"
Avoid: emoji-heavy openers, hype words ("game-changer," "revolutionary"), clickbait — anything that would feel out of place in a high-credibility newsletter.
HOOK FORMULAS (Snapchat — first 1-2 seconds, sound-on native) — copy and customize
1. POV: you just realized [insight].
2. Direct address: If you [pain] and [aspiration], swipe up.
3. Pattern interrupt: Wait, you can do that?
4. Stat shock: [X]% of [audience] do this wrong.
5. Curiosity loop: I tried [common method]. Here's what actually worked.
6. Reaction face: emote first, then deliver.
7. Sound-led: lead with the audio before any visual payoff.
8. AR-first: the Lens activation IS the hook (face / world / body tracking).
HOOK FORMULAS (X — first 1-2 seconds for video, first line for text) — copy and customize
1. Unpopular opinion: [claim that goes against category consensus]
2. Most [audience] are wrong about [topic]. Here's why.
3. [Specific result] in [timeframe]. Here's exactly how.
4. I spent ₦[amount] testing [common method]. It failed. Here's what worked.
5. If you sell [product] and [pain], stop scrolling.
6. POV: you just realized [insight].
7. [Number] of [category leaders] are doing this wrong.
HOOK FORMULAS (ChatGPT — answer-shaped, first ~50 chars) — copy and customize
1. [Number] [proof unit] use [product] for [outcome]
2. [Outcome] in [timeframe]. Here's the breakdown.
3. [Product] vs [alternative]: [specific advantage]
4. Most [audience] don't know about [solution]
5. The [specific] way to [outcome] without [pain]
6. Built for [audience]. Used by [proof unit].
LinkedIn CPCs are significantly higher than other platforms ($5-12 avg). Budget accordingly. LinkedIn is best for high-value B2B conversions where LTV justifies the cost.
Objective
Min Daily / Ad Set
Recommended Daily
Conversions (US/UK/CA)
$40
$50-80
Conversions (NG)
₦12K
₦15K-₦25K
Lead Generation (US/UK/CA)
$40
$50-80
Lead Generation (NG)
₦12K
₦15K-₦25K
Traffic (US/UK/CA)
$20
$30-50
Awareness / Video Views
$20
$25-40
App Installs
$40
$60-150
Snapchat needs 4-6× target CPA as daily budget per ad set (higher multiplier than Meta/TikTok's 3-5× because of weaker auction density and thinner pixel pools). NG floor is higher than Meta because Snapchat NG pixel pools are smaller.
Campaign Type (per ad group)
Floor NG ($/day)
Floor Diaspora ($/day)
Testing TOFU
$10-20
$25-50
Retargeting
$5-10
$15-30
Engagement (TOF only)
$5
$15
Scaling (consolidated winner)
$50+
$150+
X bills in USD (≈ $1 = ₦1,600). Budget per ad group = 3-5× target CPA AND must clear 40-60 weekly events of the optimization event. Cap Engagement-optimized ad groups at 10-15% of spend — cheap on X, but converts worst.
Surface — Campaign Type
Floor ($/day)
Notes
Microsoft Copilot — Search (Conversions)
$20
Buyable from NG, reaches NG users
Google AIO — Search (Conversions)
$20
Buyable from NG, reaches NG users
Google AIO — Performance Max / Demand Gen
$20-30
Broad coverage
ChatGPT proper — Traffic (US)
$25
Geo-gated: US/CA/AU/NZ entity only
ChatGPT proper — Conversions (US)
$50
Diaspora-targeted offers only
AI answer surfaces price 2-6× Meta CPM. For NG advertisers: ~40-50% Microsoft Copilot + ~40-50% Google AIO; ChatGPT proper 0% (NG) or 10-20% for diaspora offers via a US entity. Volume-limited by query frequency — budget past query volume just inflates CPM. Treat as experimental budget, not core spend.
Learning Phase Protection
Don't kill before learning phase exits. Learning phase = 50 optimization events in 7 days per ad set. If you can't hit that at current budget, lower the optimization event (Purchase → InitiateCheckout → AddToCart) or raise the budget. Killing while in learning resets the algorithm and wastes setup spend.
Don't kill before learning phase exits. Learning phase = ~50 conversions in 7 days per ad group. If you can't hit that at current budget, lower the optimization event (Complete Payment → Initiate Checkout → Add to Cart) or raise the budget. Killing while in learning resets the algorithm and wastes setup spend.
Don't kill before Smart Bidding exits learning. Learning phase = 30 conversions in 30 days per campaign for tCPA / tROAS / Maximize Conversions. If you can't hit that at current budget, switch to Maximize Clicks or Manual CPC, lower the optimization event, or raise the budget. Killing or changing bid strategy mid-learning resets it.
Don't kill before pacing stabilizes. LinkedIn has no formal learning phase, but campaigns need ~21 days of stable delivery and ~15-20 conversions/week before CPL is predictable. If you can't hit that at current budget, lower the optimization event (Lead Gen Form vs Website Conversion) or raise the budget.
Don't kill before learning phase exits. Learning phase = ~50 conversions in 7-10 days per ad set (slightly longer than Meta/TikTok because Snapchat pixel pools are thinner). If you can't hit that at current budget, lower the optimization event (Purchase → Add to Cart → View Content) or raise the budget. Killing while in learning resets the algorithm and wastes setup spend.
Don't kill before the allocator stabilizes. X's ML allocator stabilizes around 40-60 events of the optimization event per week per ad group. If you can't hit that, lower the optimization event (Purchase → Lead → AddToCart → ContentView) or raise the budget. X learning windows run longer than Meta — plan ~30 days to first stable read and hold through the 7-10 day warm-up.
Don't optimize against pixel data alone. AI surfaces are volume-limited by query frequency, so "learning" is really impression share on your intent cluster. Budget per ad group should clear 2-3× target CPA and enough impression share to read signal. Pixel undercounts ~60% (conversation gap) — judge on blended pixel + survey, not the dashboard.
CBO vs. Manual Budget
ABO for testing, CBO for scaling. ABO (ad-set/ad-group budget) forces a fair budget into every angle/audience so each generates enough signal to judge. CBO (campaign budget) lets the algorithm allocate to proven winners once you know what works.
Don't test on CBO. Launch a test on CBO and the algorithm concentrates budget on the first ad set to get early traction; the others never get a fair test, so you'll think you have one winner when you never gave the rest a chance. Test on ABO, then move proven winners to CBO to scale. (Applies to Meta, TikTok, Snapchat; Google, LinkedIn, X, and ChatGPT use the budget models below.)
Advantage+ Campaign Budget (CBO): Use when you have 3+ ad sets and want Meta to allocate budget to the best performer. Set a minimum spend per ad set if needed. Scaling only — not for testing.
Ad Set Budget (ABO): Use when testing new audiences/angles and you want equal spend across ad sets so each gets a clean read. Better for controlled experiments.
Campaign Budget Optimization: Available in TikTok. Works similarly to Meta CBO. Use when running 2+ ad groups.
Ad Group Budget: Use for controlled testing of individual audiences.
Shared Budgets: Pool budget across related campaigns. Good for search campaigns targeting similar themes.
Individual Campaign Budgets: Default and recommended for most setups. Gives you direct control over spend per campaign.
Daily Budget: Recommended for most campaigns. LinkedIn will spend up to 50% over your daily budget on high-opportunity days.
Lifetime Budget: Use for time-bound campaigns (events, promotions). LinkedIn paces spend across the campaign duration.
Campaign Budget Optimization (CBO): Use when you have 2+ ad sets proven and want Snapchat to allocate budget to top performers. Migrate to CBO after manual ABO testing has identified winning audiences.
Ad Set Daily Budget (ABO): Default for testing. Forces signal accumulation per ad set so you can read each audience hypothesis cleanly.
Ad Group Budget (ABO-style): X's default. Set budget at the ad group level so each audience hypothesis (Follower Lookalike seed, keyword stack, or list) gets a fair read.
Consolidate to scale: merge proven winners into fewer ad groups — X's thinner auction rewards concentration over fragmentation, so scaling is about density, not more ad groups.
Intent-based, not audience-based. Structure mirrors search: one ad group = one intent cluster (comparison / how-to / best-X / brand-defense), not an audience — there is no CBO-style audience allocation on ChatGPT proper.
Surface split, not CBO: allocate across surfaces (Microsoft Copilot / Google AIO / ChatGPT) rather than letting one algorithm pool budget. Treat ChatGPT proper as experimental budget, not core spend.
Launch Checklist
Pre-flight checklist before hitting publish. Do not skip steps.
Account & Tracking
Campaign Settings
Ad Set / Ad Group Settings
Ad Settings
Google Search — extra pre-launch
X — extra pre-launch
AI Answer Engine — extra pre-launch
Final Verification
Launch Day SOP
Timeframe
Action
+1 hour
Verify ads are delivering (status: Active). Check for disapprovals.
+4 hours
Check spend pacing. Verify pixel events firing on live traffic.
+24 hours
Review CPM, CTR, CPC. Flag any obvious issues. Do NOT make changes yet.
+48 hours
Review conversion data (if sufficient volume). Check frequency.
+72 hours
First optimization window. Pause underperformers if data is clear. Still in learning phase.
GO All checklist items verified
NO-GO Any red items unresolved
Optimization SOP
Decision rules for managing live campaigns. Remove emotion from optimization.
Optimization Decision Table
Once delivery is confirmed, read CPM first — it's the rawest signal of whether the platform thinks your ad is worth showing, and a high CPM inflates every cost beneath it. Then work down the creative-quality signal → CTR → CPC → CVR → ROAS. This table switches with the platform selector — each platform's creative-quality signal differs (Meta reads hook / hold / ThruPlay; TikTok the 2s/6s view rate; Google Quality Score and view rate; LinkedIn video view-rate and form-fill; Snapchat swipe-up and screen time; X Aesthetic Score and view rate).
Signal
Threshold
Diagnosis
Action
CPM (read first)
> 2x benchmark
Auction pressure, weak quality ranking, audience too narrow, or creative fatigue
Refresh creative or broaden audience signals before reading anything downstream — high CPM inflates CPC, CPA, and ROAS
CPM (read first)
< benchmark
Efficient delivery, healthy signal
Good foundation; read the rest of the funnel
Hook Rate (3s views ÷ impressions)
< 20% (NG) / 25% (diaspora)
First 1-2 seconds aren't stopping the scroll
Fix the hook — new opening line, visual, or pattern interrupt
Hold Rate (15s views ÷ 3s views)
< 15% (NG) / 20% (diaspora)
The middle loses people
Rewrite the middle — tighten pacing, cut slow sections
ThruPlay Completion (100% plays ÷ ThruPlays)
< 25% (15s) / 15% (30s) / 8% (60s)
Weak ending, drags, or video too long
Shorten, punch up the close, or test a shorter cut
CTR
< 0.5%
Creative not resonating
Test new hooks, visuals, or formats
CTR
0.5-1.5%
Average creative
Test variations, iterate on best performer
CTR
> 2%
Strong creative
Scale budget, duplicate to new audiences
CPC
> 2x benchmark
Audience or creative issue
Refresh creative or broaden targeting
CPA
> 1.3x target after 2x cycle
Funnel or targeting issue
Review landing page, audience, offer
CPA
< target for 3+ days
Winning combination
Scale 20% every 3 days
Frequency
> 2.5
Audience fatigue
Refresh creative or expand audience
CVR (post-click)
< 1%
Destination OR offer problem (not the ad). Slow load, weak CTA, message mismatch — or the offer/price isn't compelling enough to convert the click
Audit the page first (message-match, mobile speed, CTA clarity). If the page is sound, the offer or price is the leak — see the Conversion Playbook (offer + sales-page reasons)
CVR (post-click)
1-3%
Average destination performance
Test destination variants (headline, hero, CTA, social proof, form length)
CVR (post-click)
> 3%
Strong destination, ad and page aligned
Scale traffic, protect the destination, document what works
ROAS
< 1.0x
Losing money
Pause and diagnose (creative, audience, landing page)
ROAS
> 3.0x
Profitable
Scale budget, test similar audiences
Signal
Threshold
Diagnosis
Action
CPM (read first)
> 2x benchmark
Auction pressure, weak creative, audience too narrow, or fatigue
Refresh creative or broaden audience before reading anything downstream
2-second view rate
< 15% (NG) / 18% (diaspora)
Hook broken in the first 1-2 seconds
Rewrite the opening frame/line
6-second view rate
< 8% (NG) / 10% (diaspora)
Mid-creative loses people
Tighten the middle, cut slow sections
Video completion rate
< 25% (15s cut)
Weak ending or video too long
Shorten, punch up the close
CTR (destination)
< 0.5%
Creative not earning the click
Test new hooks, angles, formats
CTR (destination)
> 2%
Strong creative
Scale budget, duplicate to new audiences
CPC (destination)
> 2x benchmark
Creative or audience issue
Refresh creative or broaden targeting
Frequency
> 2.0
Creative fatigue
Refresh creative or expand audience
CVR (post-click)
< 1%
Destination or offer problem, not the ad
Audit the page first, then the offer/price
CPA
> 1.3x target after learning exits
Funnel or targeting issue
Review landing page, audience, offer
ROAS
< 1.8x
Below breakeven
Pause and diagnose
ROAS
> 2.5x
Profitable
Scale 20% every 3-4 days
Signal
Threshold
Diagnosis
Action
Eligibility / Ad Strength
Disapproved, or "Poor" 14 days+
Policy, budget, or a weak RSA is blocking delivery
Auction pressure, Aesthetic Score penalty, narrow audience, or fatigue
Fix Aesthetic Score / refresh creative or broaden audience
Aesthetic Score
Below Average
CPM penalized, placement demoted
Polish visual quality before iterating copy
3-second view rate
< 15% (NG) / 20% (diaspora)
Hook isn't stopping the scroll
Rewrite the first line/frame
6-second view rate
< 15% / 20%
Mid-creative loses people
Trim or rewrite the middle
CTR (link)
< 0.8% / 0.6% (diaspora)
Hook + claim not earning the click
Rewrite copy
CPC (link click)
> 2x benchmark
Creative or audience issue
Refresh creative or broaden targeting
High engagement + zero conversions
Engagement fine, conversions flat
Wrong objective (running Engagements, not Website Conversions)
Switch the objective — the single biggest fix on X
Frequency
> 2.5
Creative fatigue
Refresh creative or expand audience
CVR (post-click)
< 2%
Destination or offer problem
Audit the page first, then the offer
CPA
> 1.3x target after ~7-10 days
Funnel or targeting issue
Review landing page, audience, offer
ROAS
< 2x
Below breakeven
Restructure or pause
ROAS
> 3x
Profitable
Scale budget, test similar audiences
Signal
Threshold
Diagnosis
Action
Impression share (on intent)
< 10%
Surface ineligibility, low query volume, or bid too low
Refine the intent cluster or raise bid
CTR (in AI answer)
< 2% (ChatGPT) / 3% (MS/Google)
Copy not earning the click in the sponsored slot
Improve copy relevance to the intent
CPC
> 2x benchmark
Auction pressure or weak intent match
Debug the intent cluster or copy
CVR (post-click)
< 3%
Page pitches instead of answering the question
Make the page answer the query first, then offer
Survey AI-attribution %
Plateau or decline over 30-60 days
Surface saturating or survey methodology breaking
Validate the survey setup or pause
Pixel / blended CPA ratio
> 0.5 (suspicious)
No conversation gap — pixel over-crediting
Validate pixel + survey tracking
Branded search lift
Flat over 60-90 days
No surface visibility despite spend
Raise bid or refresh creative
Blended CPA (pixel + survey)
> 1.3x target after 14 days
Full-funnel issue
Diagnose intent, copy, offer
ROAS (blended)
< 2x
Below breakeven
Restructure or pause
ROAS (blended)
> 3x
Profitable
Scale on Copilot/AIO; keep ChatGPT in monitoring
Reading the Breakdowns
Delivery breakdowns show who and where the budget actually went. Pull them one at a time, and only once a segment has spent ~1x target CPA (below that, differences are noise). Before cutting any demographic, cross-check it against the client's real sales — the platform's cheapest segment isn't always the one that buys, and the platform can't see offline or off-platform revenue.
Breakdown
Read for
Placement
Which surface converts (Feed vs Reels vs Stories vs Audience Network)
Age
Which age bands buy vs. just click
Gender
Whether spend skews to a non-converting gender
Acting on it: once a placement clearly wins on low volume, switch the ad set from automatic (Advantage+) placements to manual and keep the winner. Advantage audience expansion overrides your age cap — turn expansion off to actually hold an age limit. When you cut a segment, duplicate the ad set and edit the copy rather than editing a live winner (editing resets learning).
Breakdown
Read for
Placement
TikTok feed vs Pangle / Global App Bundle (Pangle usually the leak)
Age
Which age bands buy vs. just view
Gender
Whether spend skews to a non-converting gender
Acting on it: once a placement wins on low volume, switch from automatic to Select Placement (manual) and hold the winner. Targeting / audience expansion overrides your age cap — turn it off to hold a limit. Duplicate rather than edit a live winner so you don't reset learning.
Breakdown
Read for
Placement
Which surface converts (Snap Ads vs Story Ads vs Discover / content)
Age
Which age bands buy vs. just swipe
Gender
Whether spend skews to a non-converting gender
Acting on it: once a placement wins on low volume, move from automatic to manual placement and keep the winner. Audience expansion overrides your age cap — turn it off to hold a limit. Duplicate rather than edit a live winner so learning doesn't reset.
Breakdown
Read for
Job function
Which functions actually convert / return good lead quality
Seniority
Whether spend reaches decision-makers or gets absorbed by ICs
Company size
Which segments fit the ICP and produce pipeline
Acting on it: read the firmographic breakdowns, not age/gender. Turn Audience Expansion and the LinkedIn Audience Network off to hold your firmographic limits — both leak spend to lookalike members and off-platform placements outside your target. Duplicate rather than edit a live winner.
Breakdown
Read for
Age
Demographic bands that convert vs. spend (across networks)
Gender
Whether spend skews to a non-converting gender
Household income
Whether high-value income tiers are under- or over-served
Placement
Display / Video / PMax only — cut junk sites & MFA placements. Not available on Search.
Acting on it: apply demographic bid adjustments / exclusions across networks; read placements only on Display, Video, and PMax (Search has no placement axis — keyword + match type is the control there). PMax can't be edited at the placement level directly — steer it with audience signals plus campaign-level exclusions (brand-safety, account-level placement, and negative-keyword lists).
Concentrate on the winning segment. Once the breakdowns name a clear winner (a placement, an age band, a firmographic slice), don't just trim the losers — duplicate the ad set / ad group scoped to the winning segment and move budget onto it. Scaling the proven segment beats spreading budget evenly across segments the data already flagged as weak. (Detailed scaling in the Scale section.)
Kill Rules
Don't kill before learning phase exits. Per-platform thresholds: Meta / TikTok ~50 events / 7 days per ad set/group; Google 30 conv / 30 days per campaign (Smart Bidding); LinkedIn ~21 days stable pacing, ~15-20 conv/week. Pausing or major edits during learning reset the algorithm and waste setup spend. See Learning Phase block below.
Kill an ad/ad set when:
• Spent 2x target CPA with zero conversions
• CTR below 0.5% after 1,000+ impressions
• CPA above 1.5x target after 50+ clicks
• CVR (post-click) below 1% after 200+ link clicks (audit the destination AND the offer before continuing spend — clicks without conversions point to the page or the offer, not the ad)
• ROAS below 1.0x after full conversion window
Scale Rules
Scale an ad/ad set when:
• CPA at or below target for 3+ consecutive days
• 5+ conversions per day (exited learning phase)
• ROAS consistently above 3x
• CVR (post-click) at or above 3% sustained over 7+ days (destination is converting, scale traffic confidently)
• Frequency below 2.0
Weekly Optimization Checklist
Common Fixes
High CPM (read first)
The rawest cost signal — fix before anything downstream, because high CPM inflates CPC, CPA, and ROAS.
1. Creative fatigue → refresh the creative (new hook, format, or concept)
2. Audience too narrow → broaden signals or go broad
3. Weak quality/relevance ranking → rebuild the creative (placement and audience tweaks won't move quality ranking)
4. Competitive auction window → accept it or shift the schedule
High CPC
1. Test broader audiences (reduce targeting restrictions)
2. Test new creative (different hooks, formats, visuals)
3. Improve ad relevance score / quality ranking
4. Test different placements (Stories, Reels often have lower CPC)
Low CTR
1. Rewrite hooks (make the first line more compelling)
2. Use more eye-catching visuals (faces, contrast, motion)
3. Test video if only running static images
4. Make the CTA clearer and more urgent
High CPA
1. Audit the landing page (speed, copy, form length)
2. Tighten audience targeting or test new segments
3. Test a stronger offer (discount, free trial, bonus)
4. Ensure conversion event is correct (not over-counting or under-counting)
5. Audit objective vs funnel: if running Traffic objective with a checkout destination and pixel installed, switch to Sales objective. Single biggest CPA reduction available without changing creative or audience.
Frequency Creep
1. Refresh creative (new visuals, hooks, formats)
2. Expand audience size (broaden targeting or add new segments)
3. Set frequency caps (if the platform allows)
High CPM (read first)
1. Creative fatigue → refresh the creative, or Spark a fresh organic post
2. Audience too narrow → broaden signals or go broad
3. Competitive auction window → accept it or shift the schedule
(TikTok has no quality ranking — the fix is the creative and the audience.)
High CPC (destination)
1. Broaden the audience (reduce restrictions)
2. Test native, UGC, trend-led creative
3. Strengthen the first 2 seconds — the 2-second view rate drives cost
Low CTR (destination)
1. Rewrite the hook (first 1-2 seconds)
2. Native, sound-on, captioned
3. Clearer CTA and on-screen text
High CPA
1. Audit the destination (landing page or WhatsApp flow)
2. Stuck in learning? Lower the optimization event (Complete Payment → Initiate Checkout → Add to Cart) or raise budget
3. Test a stronger offer
4. Confirm the pixel and events fire
Frequency Creep
1. Refresh creative — Spark new winners from organic
2. Broaden the audience
3. Rotate 3-4 fresh ads
High CPC / Low Quality Score
1. Raise Quality Score — tighten ad–keyword–landing-page relevance and mirror the query in the headline
2. Add negative keywords from the search-terms report
3. Test exact/phrase match over broad
4. Improve the landing page experience
Low CTR (Search)
1. Mirror the keyword in H1/H2
2. Add RSA headlines and pin the strongest
3. Add assets (sitelinks, callouts, structured snippets)
4. Raise Ad Strength to Good/Excellent
High CPA
1. Add negatives; cut irrelevant search terms
2. Check bidding (set tCPA realistically; Smart Bidding needs ~30 conv / 30 days)
3. Point each ad group at its own intent-matched landing page
4. Pause weak keywords and assets
Lost Impression Share
1. Lost IS (Budget) high → raise the daily budget
2. Lost IS (Rank) high → improve Quality Score or raise the bid
3. Check Auction Insights for competitor pressure
High CPM
1. Broaden over-narrow targeting — LinkedIn CPMs spike on tiny audiences
2. Refresh creative
3. Accept the premium — judge on cost per result, not CPM
Low CTR
1. Rewrite the hook for a senior, skimming buyer
2. Lead with the outcome or a number
3. Test document/carousel or video over single-image
Low Form-Fill / High CPL
1. Shorten the Lead Gen Form (fewer fields, prefilled)
2. Tighten the ICP (seniority, function, company size)
3. Match the offer to the buyer's stage
Weak Pipeline ROAS
1. Get sales feedback on lead quality
2. Deepen the conversion event (demo over ebook)
3. Fix routing and follow-up speed
High CPM / eCPM
1. Refresh creative
2. Broaden the audience
3. Accept the window — Snap CPMs are already the lowest of the major platforms
Low Swipe-Up Rate
1. Rewrite the first 1-2 second hook
2. Native, vertical, sound-on
3. For Story Ads, redesign the cover tile
High CPC / eCPSU
1. Broaden the audience
2. Test new creative
3. Strengthen the payoff before the swipe
High CPA / VTC Issues
1. Audit the landing page
2. Check VTC share (40-60% healthy); below 30% means tracking is broken
3. Test a stronger offer
4. Confirm the pixel and events fire
High CPM / Aesthetic Score
1. Fix the Aesthetic Score first — polish visual quality; it penalizes CPM and placement
2. Refresh creative
3. Broaden the audience
Low CTR (link)
1. Rewrite the hook and the claim
2. Read link clicks, not total engagements
3. Native, timeline-feeling creative
High CPA / Wrong Objective
1. Running Engagements with a conversion goal? Switch to Website Conversions — the single biggest fix on X
2. Audit the landing page
3. Confirm the pixel and events fire
1. Refine the intent cluster (tighter queries and topics)
2. Raise the bid
3. Check surface eligibility and geo — ChatGPT proper isn't buyable from NG
Low CTR (in the AI answer)
1. Make the copy read like a credible recommendation, not a banner
2. Match the answer to the query intent
3. Test the buyable surface (Microsoft / Google) where ChatGPT proper isn't eligible
High Blended CPA
1. Make the landing page answer the question before it pitches
2. Validate survey attribution (pixel misses ~60% — the conversation gap)
3. Refine the intent cluster or copy
Attribution Looks Wrong
1. Pixel/blended CPA ratio above 0.5 → pixel over-crediting; trust the survey
2. Add or repair the post-purchase survey field
3. Watch branded search lift as the downstream signal
Learning Phase
Do NOT make significant edits during learning phase. Killing while in learning resets the algorithm and wastes setup spend.
Per-platform thresholds:
• Meta: 50 optimization events in 7 days per ad set. Workaround: lower optimization event (Purchase → InitiateCheckout → AddToCart) or raise budget.
• TikTok: ~50 conversions in 7 days per ad group. Workaround: lower optimization event (Complete Payment → Initiate Checkout → Add to Cart) or raise budget.
• Google: 30 conversions in 30 days per campaign for Smart Bidding (tCPA, tROAS, Maximize Conversions). Workaround: switch to Maximize Clicks or Manual CPC, lower optimization event, or raise budget.
• LinkedIn: No formal learning phase, but ~21 days stable delivery + ~15-20 conversions/week needed for predictable CPL. Workaround: lower optimization event (Lead Gen Form vs Website Conversion) or raise budget.
What resets learning: Budget changes >20%, audience changes, optimization event changes, creative swaps, bid strategy changes, pausing for 7+ days.
Reporting Templates & Benchmarks
Standardize how you report to clients.
KPI Benchmarks by Platform
Metric
Good
Average
Poor
CTR
> 2%
0.5-2%
< 0.5%
CPC
< $1
$1-2
> $2
CPM
< $10
$10-15
> $15
CPA (Lead)
< $15
$15-50
> $50
ROAS (eComm)
> 4x
2-4x
< 2x
CVR
> 5%
1-5%
< 1%
Metric
Good
Average
Poor
CTR
> 1.5%
0.5-1.5%
< 0.5%
CPC
< $0.75
$0.75-1.50
> $1.50
CPM
< $8
$8-15
> $15
CPA
< $15
$15-40
> $40
CVR
> 3%
1-3%
< 1%
6s VTR
> 15%
8-15%
< 8%
Metric
Good
Average
Poor
CTR (Search)
> 5%
2-5%
< 2%
CTR (Display)
> 0.5%
0.1-0.5%
< 0.1%
CPC (Search)
< $2
$2-5
> $5
Quality Score
8-10
5-7
1-4
CPA
< $25
$25-75
> $75
ROAS
> 4x
2-4x
< 2x
Metric
Good
Average
Poor
CTR
> 0.8%
0.3-0.8%
< 0.3%
CPC
< $5
$5-12
> $12
CPM
< $30
$30-60
> $60
CPL (Lead Form)
< $50
$50-150
> $150
Form Fill Rate
> 15%
5-15%
< 5%
InMail Open Rate
> 50%
30-50%
< 30%
Metric
Good
Average
Poor
Swipe Up Rate (Snap Ads)
> 1%
0.5-1%
< 0.3%
Swipe Up Rate (Story Ads)
> 2.5%
1.5-2.5%
< 1%
CTR
> 1.5%
0.5-1.5%
< 0.4%
CPC
< $0.75
$0.75-1.50
> $1.50
CPM
< $8
$8-15
> $15
CPA
< $20
$20-50
> $50
CVR (post-swipe)
> 2%
0.8-2%
< 0.5%
VTC share of conversions
40-60%
30-70%
< 30% or > 70%
Frequency (cold)
< 1.8
1.8-2.2
> 2.2
Benchmarks are directional, not absolute. Industry, audience, offer, and creative quality all shift these ranges. Use your client's historical data as the primary benchmark after 30 days.
Platform Report Column Setup
The diagnosis table only works if Ads Manager shows the right columns. Build a saved custom column set once and reuse it for every read so the numbers stay comparable. The set below switches with the platform selector — each platform names its columns differently, so use the one for the account you're reading.
In Meta Ads Manager: Columns → Customise Columns, add the set below, tick Save as preset, name it "MIA Read-the-Funnel".
MIA META COLUMN SET (funnel-read order)
delivery | amount spent | budget | results | purchases | purchase ROAS | adds to cart | leads | cost per result | reach | impressions | CPM | hook rate | hold rate | thruplay completion rate | frequency | results ROAS | clicks (all) | CTR | cost per click (CPC) | quality ranking | landing page views | cost per landing page view
Notes. Hook rate, hold rate, and ThruPlay completion usually aren't default columns — add them as custom metrics (Customise Columns → Create Custom Metric): hook rate = 3-second plays ÷ impressions; hold rate = 15-second (or ThruPlay) plays ÷ 3-second plays; ThruPlay completion = 100% plays ÷ ThruPlays. Quality ranking is only in the campaign-level view, not the placement/age breakdowns. Use the same saved set for every scheduled read and the weekly report.
In TikTok Ads Manager: on the campaign table open Custom Columns (or build a Custom Report under Reporting), add the set below, and save it as a template named "MIA Read-the-Funnel".
MIA TIKTOK COLUMN SET (funnel-read order)
cost | budget | conversions | cost per conversion | complete payment ROAS | adds to cart (paid) | leads | reach | impressions | CPM | 2-second video view rate | 6-second video view rate | video views at 100% | frequency | clicks (destination) | CTR (destination) | CPC (destination) | landing page views | cost per landing page view | conversion rate
Notes. TikTok has no ThruPlay or quality ranking (those are Meta-only). Its hook and hold signals are the 2-second and 6-second video view rate, with video completion rate as the end signal — read those where you'd read hook, hold, and ThruPlay on Meta. Always use the destination variants of clicks, CTR, and CPC (not the "all" or click-to-play variants). Complete payment ROAS is the ecommerce ROAS; swap in the ROAS that matches your optimization event.
In Google Ads: on the Campaigns table open Columns → Modify columns, add the set below, then Save column set as "MIA Read-the-Funnel".
MIA GOOGLE COLUMN SET (funnel-read order)
cost | budget | impressions | clicks | CTR | avg. CPC | CPM | conversions | conv. rate | cost / conv. | conv. value / cost (ROAS) | all conv. | search impr. share | search lost IS (budget) | search lost IS (rank) | quality score | ad strength | view rate (Video/Demand Gen) | video played to 25% / 50% / 75% / 100% (Video/Demand Gen)
Notes. Available columns change by campaign type. For Search, read Search impression share and Quality Score as the auction-strength signal (there is no hook rate). For Video and Demand Gen, view rate + video played to 25/50/75/100% are the creative signals. CPM matters on Video/Display, less on Search. There is no ThruPlay or quality ranking — those are Meta-only.
In LinkedIn Campaign Manager: open the Columns dropdown above the performance chart, pick the metrics below (a mix of Performance, Conversions & Leads, and Video views), and save them as a custom set named "MIA Read-the-Funnel".
MIA LINKEDIN COLUMN SET (funnel-read order)
spend | budget | impressions | clicks | CTR | average CPC | CPM | frequency | key results | cost per result | conversions | cost per conversion | conversion rate | leads | cost per lead | lead form completion rate | video views | video views at 25% / 50% / 75% / 100% | video completion rate | cost per video view
Notes. LinkedIn has no hook rate, hold rate, ThruPlay, or quality ranking. Video views + video completion rate are the creative signals. For Lead Gen Form campaigns, lead form completion rate is the key funnel gate — read it where you'd read CVR. CPMs run high on LinkedIn; judge efficiency on cost per result and cost per lead, not CPM.
In Snapchat Ads Manager: open the columns menu on the campaign table, add the set below, and save it as a custom view named "MIA Read-the-Funnel".
MIA SNAPCHAT COLUMN SET (funnel-read order)
spend | budget | impressions | paid reach | frequency | eCPM | swipe ups | swipe up rate | eCPSU (cost per swipe up) | results | cost per result | view-through conversions | VTC share (% of total conv) | purchases | purchases ROAS | adds to cart | 2-second video views | 15-second video views | video completion rate | screen time (avg)
Notes. On Snapchat the swipe up is the click equivalent — read swipe up rate and eCPSU where you'd read CTR and CPC. The creative-quality signal is 2-second and 15-second video views plus average screen time (no ThruPlay or quality ranking). View-through conversions carry more weight here than on other platforms; keep an eye on the CTC/VTC split.
In X Ads Manager: use the metric/column customizer on the campaign table, add the set below, and save it as a custom view named "MIA Read-the-Funnel".
MIA X COLUMN SET (funnel-read order)
spend | budget | impressions | reach | frequency | CPM | engagements | engagement rate | link clicks | CPC (link click) | CTR (link click) | video views | video completion rate | 25% / 50% / 75% / 100% video views | results | cost per result | conversion rate | ROAS
Notes. X has no ThruPlay or quality ranking (those are Meta-only). Read the 3-second and 6-second view rates plus the video quartiles as the hook and hold signals. X also has an Aesthetic Score that penalizes CPM and placement for low-quality visuals — fix it before iterating copy. Separate link clicks from total engagements — optimize on link-click CPC and CTR, not the inflated engagement number.
ChatGPT proper isn't buyable from Nigeria yet — treat it as monitor-and-prepare. The buyable AI-answer layer runs through Microsoft Ads and Google Ads (AI Overviews); read those in their own Ads Managers using the Google-style column set. Across every AI surface the truth signal is your post-purchase survey, not the pixel. Build the read below in your analytics + survey tool.
MIA AI-ANSWER-ENGINE READ (across surfaces; survey-attributed, not pixel-only)
surface impression share (how often you appear in AI answers) | click rate in AI answer | post-click CVR | pixel-attributed CPA | survey-attributed CPA ("heard about us from ChatGPT/AI" %) | blended CPA | branded search lift | referral sessions from AI referrers (chatgpt.com / copilot / gemini / perplexity.ai)
Notes. Pixel-only attribution loses ~60% of true conversions on AI-answer surfaces (the conversation gap — the buyer returns hours or days later via direct or branded search). Always pair the pixel with a post-purchase survey field and watch branded search lift as the downstream signal. For the buyable layer, build the column set inside Microsoft Ads / Google Ads (mirror the Google set). Read monthly for surface mix; ChatGPT proper stays in monitoring posture until NG access opens.
Reading by Level
The column set is one view. You read the decision table across levels — set the same saved columns at each level and know which signal lives where. This switches with the platform selector.
Level
What to read here
Campaign
Budget and pacing; quality ranking (pull from the campaign-level export — it is NOT in the placement/age breakdowns)
Ad set
CPM, frequency, CPC, audience and placement performance; pull the Platform/Placement/Device breakdown from Day 3
Ad
Hook rate, hold rate, ThruPlay completion, CTR — the creative signals live here
Breakdowns
Placement, device, age/gender, region — cut the segments that spend without converting
Level
What to read here
Campaign
Budget and pacing — run tests on ad-group budgets, not campaign budget (CBO concentrates spend on the first ad group)
"Performance improved week-over-week, with CPA decreasing [X]% from $[old] to $[new]. This was driven by [creative refresh / audience expansion / landing page changes]."
"We saw strong results from [campaign name], which delivered [X] conversions at $[CPA], [X]% below our target. We recommend scaling this audience."
Performance Declined
"CPA increased [X]% this week, which we attribute to [audience fatigue / increased competition / creative decay]. Our plan is to [refresh creative / test new audiences / adjust bids]."
"We recommend reallocating budget from [underperforming campaign] to [winning campaign] to improve overall efficiency."
Recommending Changes
"Based on the data, we recommend [increasing/decreasing] budget by [X]% and shifting focus to [audience/campaign]. This should [reduce CPA / improve ROAS] based on current trends."
"Creative fatigue is setting in on [campaign]. Frequency has exceeded [X]. We recommend refreshing creative this week to maintain performance."
Scaling Playbook
Systematic scaling without breaking what works.
Scaling Readiness Checklist
Segment Scaling (Concentrate on the Winner)
The breakdowns in the Optimize step name the winning segment. Scaling means moving budget onto that proven segment, not spreading it evenly across segments the data already flagged as weak.
Horizontal Scaling (New Audiences)
Vertical Scaling (More Budget)
Creative Scaling
Scaling Budget Calculator
20% increase every 3 days. Monitor CPA after each step.