Meta Ads Analyzer
Most "Meta Ads analysis" stops at "this CPA is high, pause it." That's wrong more often than it's right. Meta's delivery system optimizes for marginal efficiency — the cost of the next conversion — not average efficiency across a snapshot. A segment with a higher average CPA is often the one keeping your overall campaign cheap. Pausing it makes things worse.
This skill diagnoses Meta campaigns the way a senior media buyer would: at the right evaluation level, accounting for learning state, separating noise from signal, and explaining why the system is making the decisions it's making before recommending any change.
Core principle: Holistic first, then drill down. Marginal over average. Dynamic over static. Every recommendation is a testable hypothesis with expected impact, not a directive.
When to Use
- "Analyze my Meta Ads campaign performance"
- "Why is the system spending more on the higher-CPA placement?"
- "Diagnose what's wrong with this ad set"
- "Should I pause this audience / placement / ad?"
- "My CPA jumped — is this normal or a real problem?"
- "Audit this campaign before I scale budget"
- "I exported my Meta data — what does it actually mean?"
Phase 0: Intake
- Campaign data — One of:
- CSV export from Meta Ads Manager (Campaign / Ad Set / Ad level + breakdowns)
- Pasted performance table
- Screenshots (we'll extract the metrics)
- Live data via your existing Meta Marketing API connection
- Campaign setup:
- Objective (Awareness / Traffic / Engagement / Lead Gen / Conversions / Sales / App Installs)
- Budget type (Advantage+ Campaign Budget = CBO, or Ad Set Budget = ABO)
- Placements (Automatic vs. manual)
- Number of ad sets and ads
- Time period — Date range covered, with any known events (creative refresh, budget change, audience edit, account issue)
- Target metrics — CPA target, ROAS target, or "no target — benchmark me"
- Funnel context (if relevant) — On-platform conversion vs. website event vs. downstream qualification rate
- What's making you ask? — Specific concern ("CPA up 40%"), routine review, or pre-scale audit
Phase 1: Identify the Correct Evaluation Level
This is the most important step. Evaluating at the wrong level is the #1 source of wrong recommendations.
| Campaign Setup | Correct Evaluation Level | Why |
|---|---|---|
| Advantage+ Campaign Budget (CBO) | Campaign level | System pools budget across ad sets — only campaign totals reflect reality |
| Automatic placements (no CBO) | Ad Set level | System pools budget across placements within the ad set |
| Multiple ads in 1 ad set | Ad Set level | System pools delivery across ads |
| Manual placements + ABO | Placement / Ad Set level | Each is independent |
Output for this phase: State the evaluation level explicitly and explain why before any metric is interpreted.
If asked "is this Meta placement underperforming?" on a CBO campaign, the answer is "wrong question — at CBO the placement-level CPA is misleading. Here's the campaign total..."
Phase 2: Check Learning Phase Status
Before judging anything, check delivery state per ad set.
Learning state checklist:
- Status is
Learning(delivery less stable, CPA typically higher, results not predictive) - Exits after ~50 optimization events within 7 days of last significant edit
- Shops ads exception: 17 website purchases + 5 Meta purchases
- Status
Learning Limited= can't get enough events → flag as a structural issue, not a performance issue
Significant edits that reset learning:
- Targeting changes
- Optimization event change
- Creative changes (large)
- Bid strategy / amount changes
- Budget changes >20%
Output for this phase: Per ad set, mark Active / Learning / Learning Limited. Caveat all conclusions for anything in learning. Do not recommend pausing a Learning ad set based on CPA alone.
Phase 3: Diagnose with Meta-Specific Lenses
Run the diagnosis through these five lenses. Each one explains a different class of "weird" behavior.
3A: Marginal Efficiency Analysis (Breakdown Effect)
The Breakdown Effect: the system shifts budget toward segments where the next conversion is cheapest, not where the average conversion is cheapest. A segment can have a high average CPA in a breakdown report and still be the right place for budget.
How to spot it:
- Time-series the segment's CPA. If marginal CPA is rising sharply, expect the system to shift budget out — even if average looks fine.
- A breakdown row with high average CPA + high spend usually means the system found cheap marginal conversions there earlier in the period.
Mandatory framing in the report: Never recommend pausing a segment based solely on higher average CPA/CPM in a breakdown report. Removing it will often raise total cost. Frame any cut as a hypothesis to test with a holdout, not an instruction.
3B: Ad Relevance Diagnostics
For each ad with sufficient impressions (~500+), check the three rankings:
| Ranking | Below Average → | Action |
|---|---|---|
| Quality Ranking | Creative is the problem | Test new creative formats / hooks |
| Engagement Rate Ranking | Hook isn't pulling | Test new opener / first 3 seconds |
| Conversion Rate Ranking | Post-click is leaking | Audit landing page (use ad-to-landing-page-auditor) |
Two below average + one average = creative refresh. All three below average = scrap and rebuild.
3C: Auction Overlap Check
Symptoms: ad sets in the same campaign chronically Learning Limited, underspending budget, or showing erratic delivery.
Causes: Overlapping audiences within the same ad account / Page mean only one of your ads enters each auction (Meta picks the highest-value one; the others are excluded — you don't bid against yourself, but the suppressed ad sets can't learn).
Action:
- Run Account Overview → Opportunity Score for explicit overlap flags
- Combine similar ad sets (consolidate learning) or pause the weaker overlapping ones
3D: Pacing Analysis
Pacing = the system smoothing budget across the day/period to capture the best opportunities. Daily snapshots will look uneven by design.
How to read it:
- Evaluate spend over the full campaign window, not single days
- If the system is consistently underspending budget, that's a pacing/learning issue, not a "good thrift" — usually points to overlap, narrow audience, or bid-strategy mismatch
- Ignore "$X budget unspent today" alarms unless sustained over 3+ days
3E: Performance Fluctuation Assessment
Distinguish noise from trend before recommending anything.
| Signal | Verdict |
|---|---|
| Day-to-day CPA swing within 20–30% | Normal — ignore |
| Weekend vs. weekday delta | Normal — control for it |
| Gradual change over weeks | Trend — investigate |
| Sudden ≥50% cost increase sustained 3+ days | Real problem — diagnose |
| Delivery near zero | Account/asset/policy issue — check first |
| Conv rate dropping while spend rises | Creative fatigue or LP regression |
Always check sample size. A 1-conversion difference at low volume is meaningless.
Phase 4: Synthesize Through the Breakdown Effect Lens
Before writing the report, restate every finding from Phase 3 in terms of what the system is trying to do:
"Placement A shows $10 average CPA vs Placement B's $15. Time-series shows A's CPA rising. The system is correctly shifting toward B because B's marginal CPA is now lower. Recommendation: do nothing on placements; test new creative in A to lower its marginal CPA."
If a finding can't be restated in marginal/system-mechanics terms, it's probably noise — drop it.
Phase 5: Generate the Report
Use this exact structure. No deviation.
1. EXECUTIVE SUMMARY
- 2–3 sentences on overall health
- Top 1 thing to do, top 1 thing NOT to do
2. EVALUATION LEVEL
- Stated explicitly with the reason
3. LEARNING STATUS
- Per-ad-set t