From metaflow-marketing-skills
Analyzes paid media performance across dimensions, funnels, cohorts, and channels to extract actionable business insights and narratives.
How this skill is triggered — by the user, by Claude, or both
Slash command
/metaflow-marketing-skills:campaign-analyzerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
1. **Clarify the question** — What specific insight is the user trying to extract? ("Why is CPA rising?" vs "What's the LTV by channel?")
| Question | Analysis Type | Time Horizon |
|---|---|---|
| "Is anything broken right now?" | Daily pulse monitoring | 1-7 days |
| "How are we trending this week/month?" | Weekly/monthly strategic review | 7-30 days |
| "Where is performance coming from/going to?" | Multi-dimensional analysis | 30-90 days |
| "Where are users dropping off?" | Funnel analysis | 7-30 days |
| "How valuable are acquired customers over time?" | Cohort & LTV analysis | 30-365+ days |
| "Is this channel actually driving incremental results?" | Incrementality testing | 30-90 days |
| "How do channels compare and work together?" | Cross-channel analysis | 30-90 days |
What to check:
Alert thresholds: Automated alerts for >20% deviation from 7-day averages on key metrics.
What NOT to do: Don't optimize during daily pulse. Daily review is for catching emergencies, not making strategic changes. Save optimization decisions for weekly reviews.
Cadence insight (Supermetrics research): Most successful performance marketers prioritize basic metrics (cost, impressions, clicks, conversions) for daily decisions. Deeper analysis (frequency, LTV, attribution) is purposeful, not constant.
Key metrics by platform:
| Google Ads | Meta Ads |
|---|---|
| CTR, CPC, CPA, ROAS | CPM, CPC, CPA, ROAS |
| Conversion rate | Frequency, Conversion rate |
| Impression share | Reach, Delivery status |
| Quality Score trends | Learning phase status |
| Search term movement | Creative performance |
Review structure:
Slice performance across dimensions to find hidden drivers.
| Dimension | What to Look For |
|---|---|
| Device type | Mobile vs desktop vs tablet CPA/ROAS differences |
| Geography | Regional performance variance (country, state, DMA) |
| Time of day | Hour-by-hour conversion rate patterns |
| Day of week | Day-by-day performance patterns |
| Audience segment | Segment-level CPA/ROAS comparison |
| Match type (Google) | Broad vs phrase vs exact performance |
| Placement (Meta) | Feed vs Stories vs Reels vs Audience Network |
| Creative concept | Concept-level performance patterns |
| Landing page | Landing page-level conversion rate |
| Funnel stage | TOF vs MOF vs BOF performance |
Combine dimensions to find non-obvious patterns:
| Cross-Tab | What It Reveals | Example |
|---|---|---|
| Device × Time of day | When mobile converts vs desktop | Mobile converts 3x better in evening hours |
| Audience × Creative | Which creatives resonate with which audiences | UGC wins with Lookalike, studio wins with cold broad |
| Geography × Product | Regional product preferences | Coastal states prefer product A, interior prefer product B |
| Day × Creative concept | Which concepts work when | Emotional creative wins Sunday, rational wins Tuesday |
| Placement × Video length | Optimal length per placement | 15s wins Stories, 30s wins Feed |
Map every stage from impression to final conversion.
| Stage | Metric | Benchmark to Check |
|---|---|---|
| Impression | Impressions | Reach sufficient for audience? |
| Click | CTR, clicks | Industry CTR benchmarks |
| Landing page view | Landing page views | Bounce rate, load speed |
| Micro-conversion | AddToCart, video 50%, scroll depth | Stage-specific |
| Macro-conversion | Purchase, Lead, Signup | Target CPA / ROAS |
Calculate stage-by-stage conversion rates. Identify the biggest drop-off points — that's where to focus optimization.
| Drop-Off Point | Likely Cause | Fix |
|---|---|---|
| Impression → Click | Low CTR | Ad copy, ad creative, targeting |
| Click → Landing Page View | Slow page, 404s, disconnected UX | Page speed, fix broken flows |
| Landing Page View → Add to Cart | Landing page message mismatch, bad UX | Rewrite headlines, improve CTA |
| Add to Cart → Checkout | Friction, unexpected costs | Simplify checkout, show total costs |
| Checkout → Purchase | Payment issues, trust concerns | Add trust signals, multiple payment options |
Meta-specific (June 2025): Instant Experience is no longer counted as a landing page view. If your Meta funnel metrics suddenly showed a drop in mid-2025, this is likely why. Adjust funnel definitions accordingly.
Track customer cohorts at standard intervals:
| Metric | What It Tells You |
|---|---|
| Repeat purchase rate | Customer stickiness |
| Average order value over time | Purchase behavior evolution |
| Time to second purchase | Engagement health |
| LTV (revenue per cohort) | True customer value |
| CAC : LTV ratio | Channel/campaign profitability |
Compare LTV by channel, campaign, and audience segment:
| Channel | CPA | 30-day LTV | 90-day LTV | 365-day LTV | LTV:CAC |
|---|---|---|---|---|---|
| Google Search (brand) | $45 | $180 | $250 | $380 | 8.4x |
| Meta ASC | $52 | $145 | $210 | $340 | 6.5x |
| Google PMax | $58 | $120 | $180 | $290 | 5.0x |
| Meta Prospecting | $65 | $95 | $150 | $250 | 3.8x |
What this reveals: Channels with higher short-term CPA may still be profitable if LTV is strong. Channels with low CPA but poor LTV are actually expensive.
POAS (Profit On Ad Spend): Gross profit ÷ ad spend. Better than ROAS for ecommerce because it factors in actual product margin.
Example: $500 ROAS looks great until you learn the product has 8% margin → true profit is $40 per $100 spent. Another channel at 300% ROAS with 40% margin returns $120 profit per $100 spent.
Implementation: Feed LTV data back into value-based bidding. Use Google's Maximize Conversion Value + tROAS and Meta's ROAS Goal with dynamic conversion values.
Platform-reported ROAS often overstates channel impact (credit-grabbing from organic demand).
| Method | How | When |
|---|---|---|
| Google Conversion Lift | Holdout test within Google Ads | 2025 update: lower spend/conversion minimums. Can run at campaign level or manager account level |
| Meta Conversion Lift | Holdout group excluded from ads | Need sufficient volume; request via Meta rep |
| Geo-based lift test | Turn off campaigns in specific regions, compare | Need multi-region footprint; works cross-platform |
| MMM (Marketing Mix Modeling) | Statistical model of all channels vs outcomes | Larger budgets; Google's Meridian is open-source |
| Holdout experiments | Target cohort gets no ads, measure difference | Requires first-party audience control |
MMM + incrementality calibration: Google's Meridian (open-source MMM, 2025) combines granular media signals with incrementality calibration. The right way to do cross-channel budget planning at scale.
MER = Total Revenue ÷ Total Ad Spend (all channels)
As you increase spend in a channel, each additional dollar produces less return (diminishing returns). The question: at what spend level does marginal ROAS drop below target?
Method:
Not every channel should optimize to the same metric. Assign roles:
| Role | Primary Metric | Example Channels |
|---|---|---|
| Awareness | Reach, CPM, Ad Recall Lift | YouTube Demand Gen, Meta Awareness |
| Consideration | CTR, engagement, ViewContent | Meta Prospecting, Google Display |
| Conversion | CPA, ROAS | Google Search Brand, Meta Retargeting |
| Full-funnel scale | MER, blended ROAS | Google PMax, Meta ASC |
2025 Google feature: Import cost data from Meta, TikTok, Pinterest directly into GA4 for cross-platform comparison in one place.
For multi-channel budget reallocation, use the ad-spend-allocator skill.
## Campaign Performance Analysis
### Question Analyzed
[Specific question the analysis addresses]
### Data Sources
- [Platforms]
- [Date range]
- [Segments included]
### Key Findings
1. **[Finding 1]** — [Data point] — [Why this matters]
2. **[Finding 2]** — [Data point] — [Why this matters]
3. **[Finding 3]** — [Data point] — [Why this matters]
### Supporting Data
[Tables and metrics supporting findings]
### Narrative
[Story: what happened, why it happened, what to do]
### Recommended Actions
| Priority | Action | Impact | Owner | Timeline |
|----------|--------|--------|-------|----------|
| 1 | [action] | [expected impact] | [who] | [when] |
### Data Confidence & Caveats
- [What the data supports reliably]
- [What needs more information or isn't certain]
Input: "Our ecommerce account's blended ROAS dropped from 3.8x to 2.9x over the last quarter. Google is steady, Meta declined hard. I have 90 days of data by channel, campaign, and creative. Help me figure out what's happening."
Output:
Why did blended ROAS decline from 3.8x to 2.9x in Q1 2026, and which channel/campaign/creative drove the decline?
Channel-level ROAS trend:
| Channel | Jan | Feb | Mar | Change |
|---|---|---|---|---|
| Google Search | 4.5x | 4.3x | 4.0x | -11% |
| Google PMax | 3.8x | 3.9x | 4.1x | +8% |
| Google blended | 4.2x | 4.1x | 4.1x | -2% |
| Meta ASC | 3.6x | 2.9x | 2.2x | -39% |
| Meta Retargeting | 5.2x | 3.8x | 2.4x | -54% |
| Meta blended | 3.5x | 2.8x | 2.1x | -40% |
| Blended total | 3.8x | 3.2x | 2.9x | -24% |
Meta creative frequency trend:
| Creative | Jan freq | Feb freq | Mar freq | Status |
|---|---|---|---|---|
| Creative A (static) | 2.8 | 4.5 | 6.2 | Severely fatigued |
| Creative B (video) | 3.2 | 5.1 | 6.8 | Severely fatigued |
| Creative C (carousel) | 2.9 | 4.2 | 5.4 | Fatigued |
| Creative D (UGC video) | 1.8 | 2.4 | 3.1 | Healthy (recent addition) |
Your blended ROAS decline is a Meta creative fatigue story with a CPM inflation chaser. Google is fine — Smart Bidding + disciplined n-gram review keeps it healthy. On Meta, you've run the same 3 creatives for 50+ days, frequency is at 5.8 across top creatives, and Meta's research shows 45% conversion rate drop at 4+ exposures. Meta's CPM increase (+9% industry-wide in 2025, +15% for your account) adds background pressure but is secondary — even at old CPMs, fatigue would still be dragging ROAS.
The silver lining: your one recent creative addition (D — UGC video, frequency 3.1) is performing well. This is the signal that creative rotation works for your audience; you just haven't been doing it.
| Priority | Action | Impact | Owner | Timeline |
|---|---|---|---|---|
| 1 | Pause Creative A and B (highest frequency). Launch 6 new variants (3 UGC video, 3 static) | Restore Meta ROAS toward 3.0x+ | Media buyer + creative | Week 1 |
| 2 | Build weekly creative rotation pipeline — minimum 4 new variants per week | Prevent fatigue recurrence | Creative team | Ongoing |
| 3 | Add Meta frequency automation rule — pause creatives at freq >5 | Automated fatigue protection | Media buyer | Week 1 |
| 4 | Reprice remaining Meta budget against new CPM reality — may need 10-15% budget increase to maintain same volume | Offset CPM inflation | Finance + media buyer | Week 2 |
| 5 | Replicate Google's n-gram discipline for Meta placement/creative reviews | Build sustainable Meta process | Media buyer | Ongoing |
7d_view and 28d_view windows removed from Insights API. Reports pulling these need updates.npx claudepluginhub narayan-metaflow/metaflow-marketing-skills --plugin metaflow-marketing-skillsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.