From metaflow-marketing-skills
Builds performance reports, dashboards, and stakeholder communications that turn ad data into business narratives for client reports, QBRs, audits, and executive summaries.
How this skill is triggered — by the user, by Claude, or both
Slash command
/metaflow-marketing-skills:paid-media-reporterThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
1. **Identify the audience** — CMO, channel manager, finance, or founder? Different metrics for different eyes
| Cadence | Audience | Depth | Time Invested |
|---|---|---|---|
| Daily pulse | Channel specialist / team | Alert-driven, raw metrics | <5 min/day (automated) |
| Weekly tactical | Account manager + client point-of-contact | Trends, actions taken, immediate issues | 30-60 min |
| Monthly strategic | Marketing director / VP | Full performance, wins, recommendations | 2-4 hours |
| Quarterly business review (QBR) | CMO, executives, founders | Strategic narrative, forecasts, budget decisions | 4-8 hours |
| Ad hoc audit | New client onboarding, crisis moments | Full diagnostic with ICE-scored recommendations | 4-8 hours |
| Audience | Cares About | Bores Them | Lead With |
|---|---|---|---|
| CMO / C-suite | Revenue impact, ROAS trends, market share, competitive position | CTR, QS, ad-group structure | MER, revenue, 30/60/90-day trend |
| Finance / CFO | CAC, LTV, blended CAC, payback period, MER | Creative fatigue, bid strategies | CAC trend, LTV:CAC ratio, cash efficiency |
| Channel manager | CTR, CPC, CVR, QS, creative performance, impression share | High-level narrative | Platform-specific deep metrics |
| Founder (SMB) | Revenue, new customers, is this working | Acronyms, technical detail | Plain English: "spent $X, got $Y, here's what's next" |
| Agency account manager | Pacing, client satisfaction levers, scaling opportunities | Pure technical deep-dives | Status summary + priorities |
Critical rule: Lead with the metric the audience cares about. CMO reports that lead with "CTR improved 0.3%" fail. CMO reports that lead with "Revenue grew 22% at constant MER" succeed.
Every report should answer four questions:
| Question | Purpose | Example |
|---|---|---|
| What happened? | Factual summary | "Revenue grew 18% MoM, MER held at 3.4x, CAC down 8%" |
| Why did it happen? | Causal explanation | "Creative refresh in Week 2 reversed fatigue; new UGC variants lifted ROAS 22%" |
| What's next? | Action plan | "Scale winning creative concepts, test 3 new hooks, refresh retargeting pool" |
| What should you decide? | Stakeholder decision points | "Approve $5K budget increase for scaling Meta ASC + $3K for YouTube test" |
Don't: Report metrics without narrative. Do: Tell the story of the month with metrics as evidence.
# [Client Name] — Performance Report
## [Month Year]
## Executive Summary
- **Headline:** [one sentence on the month]
- **Revenue:** $[X] ([+/-X%] MoM)
- **Spend:** $[X] ([+/-X%] MoM)
- **MER:** [X.X]x ([+/-X%] MoM)
- **Key win:** [most important positive]
- **Key concern:** [most important issue]
- **What we're doing next:** [top 3 actions]
## Performance at a Glance
| Metric | This Month | Last Month | MoM | vs Target |
|--------|-----------|-----------|-----|----------|
| Revenue | $[X] | $[X] | [+/-%] | [status] |
| Ad Spend | $[X] | $[X] | [+/-%] | [status] |
| MER | [X]x | [X]x | [+/-] | [status] |
| New Customers | [X] | [X] | [+/-%] | [status] |
| Blended CAC | $[X] | $[X] | [+/-%] | [status] |
## Channel Breakdown
| Channel | Spend | Revenue | ROAS | Trend | Role |
|---------|-------|---------|------|-------|------|
## What Happened — The Story
[2-3 paragraphs explaining performance, what drove changes, key insights]
## What's Working
- [3 specific wins with data]
## What's Not Working
- [2-3 specific issues with diagnosis]
## Actions Taken This Month
- [Key optimizations, tests launched, changes made]
## Next Month's Plan
- [ICE-prioritized actions]
- [Tests planned]
- [Budget recommendations]
## Decisions Needed From You
- [specific asks for approval or input]
# [Client Name] — Q[X] Business Review
## Agenda
1. Q[X] at a Glance (5 min)
2. Performance Deep Dive (15 min)
3. Strategic Wins & Learnings (10 min)
4. Market Context & Competitive Position (5 min)
5. Q[X+1] Strategy & Forecast (15 min)
6. Budget & Decisions (10 min)
## Q[X] At a Glance
- **Total Revenue:** $[X] ([+/-X%] QoQ, [+/-X%] YoY)
- **Total Spend:** $[X]
- **Blended MER:** [X]x (target: [X]x)
- **Blended CAC:** $[X] (target: $[X])
- **LTV:CAC:** [X]:1
- **Market position:** [competitive context]
## Performance Narrative
[What happened this quarter, key turning points, strategic decisions and outcomes]
## Channel Scorecard
| Channel | Q[X-1] ROAS | Q[X] ROAS | Trend | Action |
|---------|------------|-----------|-------|--------|
## Strategic Wins
- [3-5 biggest wins and what drove them]
## Key Learnings
- [what didn't work and what we learned]
## Market Context
- [CPM trends — Meta +9% in 2025]
- [Platform changes — AI Max, attribution windows, etc.]
- [Competitive shifts]
## Q[X+1] Strategy
### Strategic Priorities
1. [Priority 1 with rationale]
2. [Priority 2 with rationale]
3. [Priority 3 with rationale]
### Budget Allocation
[Proposed allocation with scenarios: conservative / base / aggressive]
### Key Tests Planned
- [Creative tests]
- [Channel tests]
- [Incrementality tests]
### Forecast
| Scenario | Spend | Expected Revenue | MER |
|----------|-------|-----------------|-----|
## Decisions Requested
1. [Budget approval]
2. [Strategic direction]
3. [Resource allocation]
| Layer | Time to Comprehend | Content |
|---|---|---|
| 5 seconds | Top 3 numbers that define "is this working?" | MER, Revenue, CAC vs targets with traffic lights |
| 30 seconds | Trend charts and channel split | 30/60/90-day trendlines, channel contribution |
| 5 minutes | Drill-down detail | Campaign-level tables, creative performance, anomaly callouts |
Rule: If the "is this working?" answer takes more than 5 seconds to find, the dashboard is broken.
| Tool | Best For | Cost | Data Connectors |
|---|---|---|---|
| Looker Studio | Client reports, free tier | Free | Native Google, limited Meta (needs connector) |
| Supermetrics | Connector layer for Sheets/Looker/BI | $99+/mo | All major ad platforms |
| Improvado | Enterprise unified reporting | Enterprise pricing | All major + CRM + warehouse |
| Google Sheets + Apps Script | Custom, flexible | Free | Via API or Supermetrics |
| Tableau / Power BI | Enterprise BI | Enterprise | Via warehouse |
| Optmyzr | Paid media-specific reporting | Paid | Google + Meta + more |
2025 consideration: Meta Insights API removed 7d_view and 28d_view attribution windows (October 2025). Any dashboard pulling those windows needs updating.
| Widget | What It Shows | Why |
|---|---|---|
| Spend pacing | MTD spend vs target | Daily budget health |
| MER trend (90 days) | Blended efficiency over time | Strategic trajectory |
| Channel contribution | Revenue split by channel | Allocation visibility |
| Creative leaderboard | Top 10 creatives by ROAS | Creative performance |
| Anomaly flags | Metrics >20% off baseline | Alert-driven attention |
| Impression share (Google) | Coverage vs opportunity | Under/over-investment signals |
| Frequency (Meta) | Fatigue leading indicator | Creative refresh timing |
| Forecast vs actuals | Predicted vs real | Forecasting credibility |
When onboarding a new client or performing crisis diagnosis, deliver an audit report structured as:
# Paid Media Audit — [Client Name]
## Executive Summary
- **Account health score:** [X]/100
- **Estimated monthly waste:** $[X]
- **Top 3 opportunities:** [list]
- **Estimated impact of fixes:** [+X% revenue / -Y% CAC]
## Findings (by severity)
### Critical Issues (fix this week)
| Issue | Impact | Evidence | Fix |
|-------|--------|----------|-----|
### High-Priority (fix this month)
| Issue | Impact | Evidence | Fix |
|-------|--------|----------|-----|
### Medium-Priority (fix this quarter)
| Issue | Impact | Evidence | Fix |
|-------|--------|----------|-----|
## ICE-Scored Action Plan
| Priority | Action | ICE Score (I×C×E) | Owner | Timeline |
|----------|--------|------------------|-------|----------|
| 1 | [action] | 10×9×8 = 720 | [who] | [when] |
## Monitoring Plan
[What to check and when]
## 30/60/90-Day Expected Outcomes
Cross-reference: Use the google-ads-audit skill for Google deep audits and meta-ads-audit skill for Meta deep audits. This skill structures the deliverable — those skills drive the analysis.
Bad: "Revenue was $150K, ROAS was 3.2x, CAC was $45."
Good: "Revenue grew 18% to $150K as the new UGC creative rotation reversed last month's fatigue decline. MER held at 3.2x despite rising Meta CPMs (+9% YoY). Blended CAC dropped 8% to $45 as retargeting efficiency improved after audience refresh. Action: scale winning UGC concept with 5 new variants in Week 1 of next month."
Every report section should deliver 3 specific things:
More than 3 = scattered. Fewer = unsubstantive. The discipline of 3 forces prioritization.
| Metric | Vanity Version | Business Version |
|---|---|---|
| Impressions | "5M impressions" | "Reached 40% of target market" |
| Clicks | "50K clicks" | "8,000 new site visitors at 1.6% of ad spend" |
| CTR | "2.3% CTR" | "CTR improved 15% after creative refresh, driving 7% revenue lift" |
| CPA | "$35 CPA" | "CAC $35 → $32 improved blended CAC to $48, payback period now 4.2 months" |
Always connect the metric to revenue, customers, or cash outcomes.
| Mistake | Why It's Bad | Fix |
|---|---|---|
| Reporting every metric | Reader can't prioritize | Lead with top 3, put rest in appendix |
| No context | "CTR is 2.3%" — is that good? | Include target, benchmark, or trend |
| Metrics without story | Data dump | Explain what happened and why |
| No action plan | "Here's the data, goodbye" | Always end with next steps |
| Same report for all audiences | CMO doesn't care about QS | Tailor metrics to audience |
| Hiding bad news | Kills trust when discovered | Be transparent, always pair with fix |
| Over-reporting in crisis | Analyzes instead of acting | Pulse report + action; full analysis later |
| No competitive context | Decline blamed on team when it's macro | Include market context (CPM trends, competitor moves) |
When asked to produce a report, deliver:
## [Report Type] — [Client/Account]
## [Period]
### Executive Summary
[3-5 bullets with the story and key numbers]
### Key Metrics
[Tabular comparison vs prior period / target]
### What Happened
[Narrative: wins, issues, causes]
### Actions Taken
[What you did this period]
### What's Next
[ICE-prioritized action plan for next period]
### Decisions Needed
[Specific asks of stakeholder]
Input: "I'm an agency account manager. I need to write a monthly report for a DTC skincare client. September 2026 numbers: spend $48K ($18K Google, $22K Meta, $5K TikTok, $3K YouTube), revenue $165K, 1,200 new customers, MER 3.44x. Previous month: spend $45K, revenue $153K, MER 3.40x, 1,100 new customers. Client is concerned because last week Meta CPMs were high and some campaigns dipped. What should the report look like?"
Output:
| Metric | Sep 2026 | Aug 2026 | MoM | vs Target |
|---|---|---|---|---|
| Revenue | $165,000 | $153,000 | +7.8% | ✅ Above target |
| Ad Spend | $48,000 | $45,000 | +6.7% | ✅ On budget |
| MER | 3.44x | 3.40x | +1.2% | ✅ Above 3.2x target |
| New Customers | 1,200 | 1,100 | +9.1% | ✅ Above target |
| Blended CAC | $40.00 | $40.91 | -2.2% | ✅ Below $45 target |
| Channel | Spend | Revenue | ROAS | Trend | Role |
|---|---|---|---|---|---|
| Google Search | $10K | $60K | 6.0x | ⬆️ | Primary driver |
| Google PMax | $8K | $26K | 3.25x | → | Scaling |
| Meta ASC | $15K | $48K | 3.2x | ⬆️ | Primary driver |
| Meta Prospecting | $7K | $14K | 2.0x | ⬇️ | Scaling — watch |
| TikTok | $5K | $8K | 1.6x | → | Experimental — under review |
| YouTube | $3K | $5K | 1.67x | → | Support — underfunded |
September was a recovery month. After August's mid-month fatigue dip on Meta ASC (frequency hit 5.4 on top creatives), we executed a 6-variant creative refresh in Week 1. By Week 3, frequency normalized to 3.2 and ROAS recovered from 2.7x → 3.4x on Meta ASC.
The CPM spike you noticed in Week 3 was real — Meta's auction pricing rose 12% WoW due to Q4 prep from competing advertisers. Despite that headwind, our MER improved because (a) the creative refresh absorbed impressions at better conversion rates, and (b) Google Search captured more demand as PMax feeder creative drove bottom-funnel intent.
Google Search impression share improved to 72% (from 64% in August) after we expanded non-brand keyword coverage based on search term mining. This was the biggest contribution to revenue growth.
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.