agentleFS
Eugenevdm01Eugenevdm01/eugenes-meta-agent/skills/meta-ads-campaign-auditor/SKILL.md

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

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
  1. Very specific:

    Run scripts/pull_campaign_data.py to pull all campaigns from a given account.

    line 30
  2. Distinctive:

    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 …

    line 39
  3. Distinctive:

    Before recommending any changes, identify which root cause is responsible for high CPP.

    line 55
  4. Distinctive:

    Always include these in the strategy report.

    line 97

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.

AccountIDCurrencyUsed For
Van Technologiesact_1193749564490832ZARB2B challenge campaigns
Funnel Junkiesact_726904286989764USDB2C / 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.txt

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 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:

MetricWhy It Matters
SpendTotal budget consumed
PurchasesPrimary conversion event
CPPCore efficiency metric
CPMAudience cost / competition
CTRCreative relevance
FrequencyFatigue indicator (pause >3.5x)
Landing page URLCRO 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 CauseEvidenceFix
Audience mismatchHigh impressions, low purchases on one campaign vs othersNarrow targeting; avoid broad "business owners" without qualifiers
No warm-up phaseAll campaigns launched as Purchase on cold audiencesRun 7-day Video Views campaign first
Budget misallocationWorst campaign received majority of budgetKill losers early; concentrate on winner
Landing page frictionHigh CTR but low CVR; price inconsistencies; no videoFix LP before scaling spend
Creative fatigueFrequency >3.5x; CTR declining over timeRefresh 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:

CheckImpact if Failing
Message match between ad and LP headlineHigh — kills trust immediately
Price consistency across page, FAQ, and adsHigh — creates doubt at purchase
Video above the foldMedium — 15–30% CVR lift when added
Specific testimonials (name + result + timeframe)Medium — generic proof ≈ no proof
CTA visible without scrolling on mobileHigh — 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:

  1. Campaign Audit — data table, derived metrics, winner/loser diagnosis
  2. The Math — baseline vs target CPP, levers to close the gap
  3. Campaign Architecture — 3-phase funnel with budget split
  4. Audience Strategy — warm / cold / lookalike tiers
  5. Creative Strategy — format recommendations + 3 ad copy templates (TOF/MOF/BOF)
  6. Landing Page Fixes — urgent / high priority / medium / do not change yet
  7. Outside-the-Box Recommendations — platform diversification, conversion event optimisation
  8. Split Test Roadmap — hypothesis, variable, metric, min data, winning condition
  9. Daily Monitoring Protocol — what to check, escalation triggers
  10. 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.

PlatformBest ForExpected CPLNotes
Google SearchHigh-intent searchers ("lead gen SA")R150–R250Highest commercial intent; test R2k
YouTube Pre-RollBrand awareness, trust buildingR0.50–R1.50 CPV15-sec non-skippable; cheap reach
LinkedIn Lead Gen FormsB2B directors, decision-makersR300–R600Expensive but highest B2B quality
WhatsApp Click-to-ChatFrictionless lead captureR80–R150Sends to WhatsApp instead of form
TikTokCheap reach, younger B2BR50–R100 CPLLower 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/pdf

Attach the PDF to the result message and include the Google Drive link.

Proven Baselines (April 2026 B2B Challenge — Van Studios)

CampaignPurchasesCPPSpendVerdict
B2B LP 3-day-clien...19R263.14R4,999Acceptable
B2B LP - April R99...38R157.88R5,999Scale this
Biz owners April12R813.50R9,761Kill — broad targeting
Blended69R300.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

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.