Meta Ads Analysis
by @elias-didoo
[Didoo AI] Analyzes Meta Ads campaign performance in depth — metrics, funnel, trends, and anomalies. Use when user wants to understand how a campaign is perf...
clawhub install meta-ads-analysis📖 About This Skill
name: meta-ads-analysis description: "[Didoo AI] Analyzes Meta Ads campaign performance in depth — metrics, funnel, trends, and anomalies. Use when user wants to understand how a campaign is performing, identify weak points, or get data before receiving recommendations. Outputs structured analysis only; never provides recommendations. Triggers on: \"analyze\", \"deep dive\", \"why is performance\", \"diagnose\", \"full audit\"." homepage: https://didoo.ai/blog metadata: { "openclaw": { "requires": { "env": ["META_ACCESS_TOKEN", "META_AD_ACCOUNT_ID"] }, }, }
Required Credentials
| Credential | Where to Get | Used For | OAuth Scope | |-----------|-------------|---------|-------------| | META_ACCESS_TOKEN | Meta Developer Console → Graph API Explorer → Generate Token | All Meta Marketing API calls |ads_read (read-only, least-privilege) |
| META_AD_ACCOUNT_ID | Ads Manager URL: adsmanager.facebook.com/act_XXXXXXXXX | Identifying which account to query | — |When to Use
Loaded when user wants to understand how their Meta Ads campaign is performing — either a specific aspect (audience, creative, overall) or a full diagnostic. Can run standalone or as prerequisite for meta-ads-recommendation.Step 0: Understand the Campaign
Before pulling any data, get context on what this campaign is trying to do. Ask 1–2 quick questions if not already clear from conversation:Keep it conversational. If META_ACCESS_TOKEN or META_AD_ACCOUNT_ID is not available, tell the user exactly what is needed and do not proceed with API calls.
Step 1: Gather Campaign Structure
Ask the user for their Meta Ads account access. Use the Meta Marketing API to fetch:Campaign level
Adset level
Ad level
Store this as campaign_context. Reuse across the session — don't re-fetch.
Step 2: Confirm Time Range and Attribution Window
Always confirm the time period and attribution window before pulling performance data:1. Time range: "What time period would you like to analyze? (e.g., last 7 days, last 30 days, or a specific date range)" 2. Attribution window: "What attribution window are you using? Default in Meta is 7-day click. For e-commerce, 1-day click often gives a clearer signal. For lead gen, 7-day click is usually better."
| Campaign type | Recommended attribution window | |--------------|--------------------------------| | E-commerce / purchase | 1-day click | | Lead generation | 7-day click | | App installs | 7-day click | | Brand awareness | 28-day view |
Convert to YYYY-MM-DD,YYYY-MM-DD format.
Default granularity:
Step 3: Route the Analysis
| User is asking about | What to analyze | |----------------------|-----------------| | Overall / general health | Campaign-level metrics, no breakdown | | Audience / country / platform / age / gender | Adset or ad level with breakdowns | | Creative / which ad is better | Ad-level metrics | | Everything / full diagnostic | All three in sequence | | Follow-up on existing data | Use data already in session — don't re-fetch |Step 4: Pull and Interpret Performance Data
Use the Meta Marketing API to fetch metrics for the relevant level and time range.Key Metrics to Collect
At campaign or adset level:At ad level, add:
What Each Metric Tells You
| Metric | Declining = | Growing = | |--------|-------------|-----------| | CPM | Cheaper reach | Competition up | | CPC / cost_per_result | More efficient | Less efficient | | CTR / LPV rate / conversion_rate | Problem | Healthy | | Results volume | Dropping | Growing | | Frequency | — | Fatigue risk if > 3 |Understanding "Results"
The meaning of "results" depends on the optimization goal:Always clarify what "results" means when discussing cost_per_result.
Campaign Structure Matters
Step 4b: Lead Generation Campaigns
> Use meta-ads-lead-gen-analysis instead — it has dedicated LPV benchmarks for lead gen, form friction analysis, CAPI verification, and lead quality diagnosis.Step 4c: Landing Page Diagnostic
> This section has moved to meta-ads-recommendation → Step 4. Landing page diagnosis is now part of the recommendation workflow for better action alignment.Step 5: Check Ad Relevance Diagnostics
When an ad's cost_per_result is elevated and basic metrics (CTR, LPV rate) don't fully explain it, check the Ad Relevance Diagnostics in Meta Ads Manager.| Diagnostic | What it measures | Low ranking suggests | |-------------|-------------------|-----------------------| | Quality Ranking | Perceived ad quality vs. competitors | Improve creative | | Engagement Rate Ranking | Expected engagement vs. competitors | Test new angles, improve hook | | Conversion Rate Ranking | Expected conversion vs. competitors with same optimization goal | Check landing page or audience-offer fit |
Usage rules:
Step 6: Assess for Problems
Flag these when you see them:Step 7: Structure Your Output
Tone and Language
Restrictions
Session Context — What This Skill Writes
After completing analysis, store the following in session context:
| Key | Description | Example | |-----|-------------|---------| | funnel_weak_points | Where the biggest funnel drop-off occurs | "LPV rate 58%, well below 70% benchmark" | | trend_signals | Direction of key metrics | "CPM up 18% WoW; CTR down 0.4pp" | | anomalies | Anything unusual or unexpected | "Frequency 4.2 with CPL still at target" | | data_quality | Whether there's enough data to act | "Only 2 days — too early to judge" | | lp_diagnosis_general | Is the problem ad-side or landing page-side? | "Ad side — CTR declining, frequency stable" |
> Routing: If the campaign is Lead Gen, route to meta-ads-lead-gen-analysis and preserve these keys. meta-ads-recommendation reads these keys to produce the action plan.