Agent skill
campaign-analyzer
Cross-channel campaign performance analysis with blended CAC and budget recommendations
Filed under Partnerships and channel.
From ekatasingh1107/b2b-gtm-skills · 99 skills · 2 · pushed 2026-04-11
What it does when it runs
Cross-channel campaign performance analysis with blended CAC and budget recommendations
Read from the skill and the 1 file bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/ekatasingh1107/b2b-gtm-skills.git /tmp/b2b-gtm-skills git -C /tmp/b2b-gtm-skills sparse-checkout set "skills/composites/campaign-analyzer" mkdir -p ~/.claude/skills/campaign-analyzer cp -R "/tmp/b2b-gtm-skills/skills/composites/campaign-analyzer/." ~/.claude/skills/campaign-analyzer/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from ekatasingh1107/b2b-gtm-skills/blob/eae8dd0bb98da1c8e84abd297066a87015dd860f/skills/composites/campaign-analyzer/SKILL.md, which is licensed MIT (repository). 1,236 words, 16 headings.
Campaign Analyzer
Performs cross-channel campaign performance analysis across email outreach, paid ads, social media, organic traffic, and LinkedIn outreach. Normalizes metrics across channels, identifies top and bottom performers, calculates blended CAC, and produces budget reallocation recommendations. Designed to run weekly or monthly as part of a marketing review cadence.
Prerequisites
agency.config.jsonin the project root- Performance data from active channels (manual input, analytics exports, or API pulls)
- Optional:
attribution-analyzeroutput for attribution-weighted view - Optional: channel spend data for ROI and CAC calculations
Capabilities Used
attribution-analyzer-- for multi-touch attribution layer on top of channel performancecrm-writer-- for pulling pipeline data correlated to campaignsrevenue-forecaster-- for connecting campaign performance to revenue impact
Phase 0: Read Config
- Read
agency.config.jsonfrom the project root. - Extract active channels:
outreach.channels[]-- channels in useoutreach.cadence[]-- email/LinkedIn sequence details
- Extract
tools.*for data source access:tools.email_sending-- email platform (Gmail, Smartlead, Instantly)tools.ads-- ad platforms (Meta Ads, Google Ads, LinkedIn Ads)tools.analytics-- website analytics (GA4, Mixpanel)tools.social-- social media tools
- Extract
targets.*for benchmark comparison:targets.leads_per_weektargets.demos_per_weektargets.cac_target
Phase 1: Gather Channel Performance Data
Collect metrics for each active channel. Request data from user or pull via integrations:
Email Outreach
EMAIL METRICS (period: [date range])
===
Emails sent: [N]
Delivery rate: [%]
Open rate: [%]
Click rate: [%]
Reply rate: [%]
Positive reply rate: [%]
Demos booked from email: [N]
Unsubscribe rate: [%]
Bounce rate: [%]
Cost (tools + time): $[X]
Paid Ads (per platform)
[PLATFORM] AD METRICS (period: [date range])
===
Impressions: [N]
Clicks: [N]
CTR: [%]
CPC: $[X]
Spend: $[X]
Conversions: [N]
CPA: $[X]
ROAS: [X]x
Landing page conversion rate: [%]
LinkedIn Outreach
LINKEDIN METRICS (period: [date range])
===
Connection requests sent: [N]
Acceptance rate: [%]
Messages sent: [N]
Reply rate: [%]
Positive reply rate: [%]
Demos booked: [N]
Profile views generated: [N]
Cost (Dripify/tool + time): $[X]
Organic / Content
ORGANIC METRICS (period: [date range])
===
Website sessions: [N]
Unique visitors: [N]
Blog posts published: [N]
Organic leads captured: [N]
Lead magnet downloads: [N]
Top pages by traffic: [list]
SEO keywords ranking: [count]
Social media posts: [N]
Social engagement rate: [%]
Cost (content creation time): $[X]
Phase 2: Normalize Metrics
Create a unified performance view across channels:
NORMALIZED CHANNEL COMPARISON
===
Channel | Reach | Engagements | Leads | Demos | Cost | CPL | Cost/Demo
-----------------|----------|-------------|-------|-------|---------|---------|----------
Cold Email | 500 sent | 125 opens | 15 | 5 | $200 | $13.33 | $40.00
LinkedIn | 200 sent | 80 accepts | 8 | 3 | $350 | $43.75 | $116.67
Meta Ads | 50K imp | 800 clicks | 20 | 4 | $2,000 | $100.00 | $500.00
Google Ads | 10K imp | 300 clicks | 12 | 2 | $1,500 | $125.00 | $750.00
Organic | 5K visits| 200 leads | 10 | 2 | $500 | $50.00 | $250.00
Instagram | 20K imp | 500 engage | 3 | 0 | $300 | $100.00 | N/A
Normalization rules:
- All channels measured by the same funnel: Reach -> Engagement -> Lead -> Demo -> Close
- Cost includes both direct spend and estimated labor cost
- CPL = Cost / Leads generated
- Cost per Demo = Cost / Demos booked
- If a channel has no demos, it still gets measured on lead generation
Phase 3: Identify Top and Bottom Performers
Rank channels by multiple dimensions:
CHANNEL RANKINGS
===
By Volume (most leads):
1. Meta Ads (20 leads)
2. Cold Email (15 leads)
3. Google Ads (12 leads)
By Efficiency (lowest CPL):
1. Cold Email ($13.33/lead)
2. LinkedIn ($43.75/lead)
3. Organic ($50.00/lead)
By Demo Conversion (leads -> demos):
1. Cold Email (33% conversion)
2. LinkedIn (37.5% conversion)
3. Organic (20% conversion)
By Cost per Demo:
1. Cold Email ($40/demo)
2. LinkedIn ($117/demo)
3. Organic ($250/demo)
TOP PERFORMER: Cold Email -- lowest CPL, highest demo conversion, lowest cost/demo
BOTTOM PERFORMER: Instagram -- 3 leads, 0 demos, $100 CPL with no pipeline impact
Phase 4: Calculate Blended CAC
BLENDED CAC CALCULATION
===
Total marketing spend: $4,850
Total demos booked: 16
Total clients closed (this period): 3
Revenue from closed clients: $225,000
Blended cost per demo: $303.13
Blended CAC: $1,616.67
LTV:CAC ratio: [LTV] / $1,616.67 = [X]:1
CAC by channel:
- Cold Email: $40/demo, $200/client (estimated)
- LinkedIn: $117/demo, $350/client (estimated)
- Meta Ads: $500/demo, $2,000/client (estimated)
Compare to targets.cac_target from config. Flag if blended CAC exceeds target.
Phase 5: Trend Analysis
If historical data is available, compare week-over-week or month-over-month:
WEEK-OVER-WEEK TRENDS
===
Metric | Last Week | This Week | Change | Direction
--------------------|-----------|-----------|---------|----------
Total leads | 55 | 68 | +23.6% | UP
Total demos | 12 | 16 | +33.3% | UP
Blended CPL | $82.50 | $71.32 | -13.5% | IMPROVING
Email reply rate | 3.2% | 4.1% | +28.1% | UP
LinkedIn acceptance | 42% | 40% | -4.8% | STABLE
Ad ROAS | 2.1x | 1.8x | -14.3% | DECLINING
Flag significant changes (>20% movement in either direction).
Phase 6: Budget Recommendations
Based on performance data, recommend budget shifts:
BUDGET RECOMMENDATIONS
===
Current allocation:
Cold Email: $200 (4.1%)
LinkedIn: $350 (7.2%)
Meta Ads: $2,000 (41.2%)
Google Ads: $1,500 (30.9%)
Organic: $500 (10.3%)
Instagram: $300 (6.2%)
TOTAL: $4,850
Recommended reallocation:
Cold Email: $400 (+$200, +100%) -- highest efficiency, scale volume
LinkedIn: $500 (+$150, +43%) -- strong demo conversion, increase reach
Meta Ads: $1,500 (-$500, -25%) -- high CPA, test new creatives first
Google Ads: $1,200 (-$300, -20%) -- diminishing returns at current spend
Organic: $750 (+$250, +50%) -- building long-term pipeline at low cost
Instagram: $0 (-$300, -100%) -- no demos generated, pause and reassess
TOTAL: $4,350 (saved $500)
Projected impact:
Additional leads: +12 (from email and LinkedIn scaling)
Additional demos: +4
Projected new CPL: $58.47 (from $71.32)
Phase 7: Output
Return structured JSON:
{
"campaign_analysis": {
"analysis_date": "2024-03-15",
"period": "2024-03-08 to 2024-03-15",
"channels": [
{
"channel": "cold_email",
"metrics": {
"reach": 500,
"engagements": 125,
"leads": 15,
"demos": 5,
"cost": 200,
"cpl": 13.33,
"cost_per_demo": 40.00
},
"rank_volume": 2,
"rank_efficiency": 1,
"rank_demo_conversion": 1,
"status": "top_performer"
}
],
"blended_metrics": {
"total_spend": 4850,
"total_leads": 68,
"total_demos": 16,
"blended_cpl": 71.32,
"blended_cac": 1616.67,
"ltv_cac_ratio": null
},
"top_performer": { "channel": "cold_email", "reason": "lowest CPL and cost/demo" },
"bottom_performer": { "channel": "instagram", "reason": "zero demos, high CPL" },
"trends": {},
"budget_recommendation": {
"current_total": 4850,
"recommended_total": 4350,
"changes": [],
"projected_impact": {
"additional_leads": 12,
"additional_demos": 4,
"new_blended_cpl": 58.47
}
}
}
}
Example Usage
Trigger phrases:
- "Analyze campaign performance across channels"
- "Which marketing channel is performing best?"
- "Run a cross-channel performance review"
- "What's our blended CAC this month?"
- "Where should we reallocate marketing budget?"
- "Weekly campaign review"
User: Run a cross-channel campaign analysis for this week
Assistant: [gathers metrics from email, LinkedIn, ads, organic; normalizes into comparison table; identifies cold email as top performer; calculates $71 blended CPL; recommends pausing Instagram and scaling email volume]
User: Where should we shift ad budget?
Assistant: [analyzes ROAS and CPA across Meta and Google, compares to organic and outreach channels, recommends moving $800 from underperforming ads to email and LinkedIn outreach]
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- campaign-impact-analyzer by LaGrowthMachine · 34
- ad-campaign-analyzer by edupegoretti · 0
- serp-analyzer by OpenClaudia · 677
- campaign-copywriting by growthenginenowoslawski · 668
- campaign-strategy by growthenginenowoslawski · 668
- smartlead-campaign-upload-public by growthenginenowoslawski · 668
- campaign-postmortem by zapier · 334
- mega-campaign-generator by zapier · 334
Need help setting it up?
This page tells you what campaign-analyzer does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.