meta-ads-campaign-auditor
Skill4 starsChanged 6 months agoMITView on GitHub
End-to-end Meta Ads campaign audit, landing page CRO review, and ad strategy report for Funnel Junkies challenge campaigns. Use when asked to review Meta Ads performance, diagnose CPP problems, analyse landing pages, build a campaign strategy to hit a CPP target, or produce an ad strategy report. Includes pulling live campaign data from the Meta Graph API, diagnosing root causes of high CPP, landing page CRO analysis, 3-phase funnel architecture, audience strategy, creative briefs, ad copy templates, split test roadmap, and outside-the-box platform recommendations. Always read this skill before starting any Meta Ads audit or campaign planning task.
- Reads credentials
In this repository30 other files it gives its agents.
- ad-copywriterSkill
- automated-video-editorSkill
- canva-mcpSkill
- challenge-campaign-operatorSkill
- creative-strategistSkill
- daily-growth-operatorSkill
- funnel-junkies-video-publisherSkill
- funnel-message-match-auditorSkill
- ghl-funnel-inspectorSkill
- gws-best-practicesSkill
- landing-page-cro-analystSkill
- manus-apiSkill
- meta-ads-analyzerSkill
- meta-ads-performance-analystSkill
- meta-ads-social-schedulerSkill
- meta-live-campaign-launch-operatorSkill
- meta-paid-ads-challenge-operatorSkill
- meta-safe-campaign-builderSkill
- music-prompterSkill
- performance-reportingSkill
- persistent-computingSkill
- qualified-lead-scoringSkill
- skill-creatorSkill
- social-media-content-dashboardSkill
- split-test-evaluatorSkill
- vanx-meta-purchase-repairSkill
- vanx-social-plannerSkill
- video-generatorSkill
- weekly-content-operatorSkill
- workshop-workbook-builderSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 30
Run scripts/pull_campaign_data.py to pull all campaigns from a given account.
- Distinctive: line 39
If the API does not return the target campaigns (they may be older than the default date range or in a different account), the user can …
- Distinctive: line 55
Before recommending any changes, identify which root cause is responsible for high CPP.
- Distinctive: line 97
Always include these in the strategy report.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Meta Ads Campaign Auditor
Overview
This skill packages the complete process for auditing a Meta Ads campaign, diagnosing performance problems, reviewing landing pages, and writing a strategy report with a clear path to hitting a CPP target. It was built from the April 2026 Funnel Junkies B2B 3-Day Challenge campaign audit.
Account Structure
Eugene runs three Meta ad accounts. Always identify which account ran the campaign before pulling data.
| Account | ID | Currency | Used For |
| Van Technologies | act_1193749564490832 | ZAR | B2B challenge campaigns |
| Funnel Junkies | act_726904286989764 | USD | B2C / FJ brand campaigns |
The Meta access token is stored as META_ACCESS_TOKEN in the server environment. Extract it with:
PID=$(pgrep -f "tsx watch server" | head -1)
TOKEN=$(cat /proc/$PID/environ | tr '\0' '\n' | grep META_ACCESS_TOKEN | cut -d'=' -f2-)Step 1 — Pull Campaign Data
Run scripts/pull_campaign_data.py to pull all campaigns from a given account. It outputs a structured summary including spend, purchases, CPP, CPM, CTR, frequency, and ad-set-level breakdowns.
python /home/ubuntu/skills/meta-ads-campaign-auditor/scripts/pull_campaign_data.py \
--account act_1193749564490832 \
--keyword "b2b challenge" \
--output /home/ubuntu/meta_audit_output.txtIf the API does not return the target campaigns (they may be older than the default date range or in a different account), the user can provide a screenshot from Meta Ads Manager. Extract the key metrics from the screenshot and proceed with the analysis.
Key metrics to capture per campaign:
| Metric | Why It Matters |
| Spend | Total budget consumed |
| Purchases | Primary conversion event |
| CPP | Core efficiency metric |
| CPM | Audience cost / competition |
| CTR | Creative relevance |
| Frequency | Fatigue indicator (pause >3.5x) |
| Landing page URL | CRO analysis target |
Step 2 — Diagnose Root Causes
Before recommending any changes, identify which root cause is responsible for high CPP. Use evidence — do not guess.
| Root Cause | Evidence | Fix |
| Audience mismatch | High impressions, low purchases on one campaign vs others | Narrow targeting; avoid broad "business owners" without qualifiers |
| No warm-up phase | All campaigns launched as Purchase on cold audiences | Run 7-day Video Views campaign first |
| Budget misallocation | Worst campaign received majority of budget | Kill losers early; concentrate on winner |
| Landing page friction | High CTR but low CVR; price inconsistencies; no video | Fix LP before scaling spend |
| Creative fatigue | Frequency >3.5x; CTR declining over time | Refresh creative; expand audience |
Diagnosis template: "Campaign X spent RY for Z purchases at RCPP. The most likely cause is [root cause] because [evidence]. Confidence: High/Medium/Low."
Step 3 — Review Landing Pages
Navigate to each landing page URL. Evaluate these items in order:
| Check | Impact if Failing |
| Message match between ad and LP headline | High — kills trust immediately |
| Price consistency across page, FAQ, and ads | High — creates doubt at purchase |
| Video above the fold | Medium — 15–30% CVR lift when added |
| Specific testimonials (name + result + timeframe) | Medium — generic proof ≈ no proof |
| CTA visible without scrolling on mobile | High — friction at conversion point |
| No contradictions (e.g., paid ad → "without paying for ads") | High — credibility gap |
Step 4 — Build the Strategy Report
See references/report_template.md for the full section-by-section template. The report must include:
- Campaign Audit — data table, derived metrics, winner/loser diagnosis
- The Math — baseline vs target CPP, levers to close the gap
- Campaign Architecture — 3-phase funnel with budget split
- Audience Strategy — warm / cold / lookalike tiers
- Creative Strategy — format recommendations + 3 ad copy templates (TOF/MOF/BOF)
- Landing Page Fixes — urgent / high priority / medium / do not change yet
- Outside-the-Box Recommendations — platform diversification, conversion event optimisation
- Split Test Roadmap — hypothesis, variable, metric, min data, winning condition
- Daily Monitoring Protocol — what to check, escalation triggers
- Priority Action List — urgent / high / medium / monitor only
Step 5 — Outside-the-Box Platforms
Always include these in the strategy report. Recommend based on audience and budget.
| Platform | Best For | Expected CPL | Notes |
| Google Search | High-intent searchers ("lead gen SA") | R150–R250 | Highest commercial intent; test R2k |
| YouTube Pre-Roll | Brand awareness, trust building | R0.50–R1.50 CPV | 15-sec non-skippable; cheap reach |
| LinkedIn Lead Gen Forms | B2B directors, decision-makers | R300–R600 | Expensive but highest B2B quality |
| WhatsApp Click-to-Chat | Frictionless lead capture | R80–R150 | Sends to WhatsApp instead of form |
| TikTok | Cheap reach, younger B2B | R50–R100 CPL | Lower purchase intent; awareness only |
Step 6 — Conversion Event Optimisation
Meta needs 50+ conversion events per week to exit learning phase. At high CPP on cold traffic, this is rarely achieved.
Micro-conversion ladder:
- TOF → optimise for Video ThruPlay or Landing Page View
- MOF → optimise for Lead (form submit)
- BOF → optimise for Purchase, retargeting warm audiences only
This allows the algorithm to exit learning phase faster and reduces blended CPP by 20–30%.
Step 7 — Deliver the Report
# Convert to PDF
manus-md-to-pdf <input.md> <output.pdf>
# Upload to Google Drive
gws drive files create \
--params '{"fields":"id,name,webViewLink"}' \
--json '{"name":"FJ Meta Ads Strategy Report — [Month Year]","mimeType":"application/pdf"}' \
--upload <output.pdf> \
--upload-content-type application/pdfAttach the PDF to the result message and include the Google Drive link.
Proven Baselines (April 2026 B2B Challenge — Van Studios)
| Campaign | Purchases | CPP | Spend | Verdict |
| B2B LP 3-day-clien... | 19 | R263.14 | R4,999 | Acceptable |
| B2B LP - April R99... | 38 | R157.88 | R5,999 | Scale this |
| Biz owners April | 12 | R813.50 | R9,761 | Kill — broad targeting |
| Blended | 69 | R300.87 | ~R20,760 | — |
Landing pages used:
funneljunkies.co.za/3-day-challenge-b2b— LP1 (has "without ads" contradiction — fix before using)funneljunkies.co.za/3-day-client-revolution-optin— LP2 (better — use as default)
Known LP issues to fix before next campaign:
- LP2 FAQ says "R250" but page/ads say R99 — fix immediately
- LP1 headline says "without paying for ads" — remove for paid traffic
- Neither page has a video above the fold — add 60-sec Eugene video to LP2
Escalation Triggers
Flag these immediately in the report:
- CPP >2x target after R2,000 spend → audience or creative problem
- CTR <1.0% after 1,000 impressions → creative not resonating
- Frequency >3.5x → fatigue; expand audience or pause
- Still in learning phase after 5 days → consolidate ad sets
- Price inconsistency between ad, LP, and FAQ → fix before spending more
- URL redirect issues on LP → verify all LP URLs are live before launch
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

