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.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub narayan-metaflow/metaflow-marketing-skills --plugin metaflow-marketing-skills