Rapid daily health scan for Meta Ads — detects week-over-week performance changes and flags urgent issues before meetings. Use every morning or before any daily review meeting. This is a change detect
Use this reporting skill when you need to daily pulse for your Meta Ads campaigns.
Meta Ads advertisers and marketers who want to daily pulse.
Select this template and fill in your campaign details. The AI will guide you through the reporting process step by step.
| Credential | Where to Get | Used For | OAuth Scope |
|---|---|---|---|
| META_ACCESS_TOKEN | Meta Developer Console → Graph API Explorer → Generate Token | Fetching account and campaign insights | ads_read (read-only) |
| META_AD_ACCOUNT_ID | Ads Manager URL: adsmanager.facebook.com/act_XXXXXXXXX | Identifying which account to query | — |
Use every morning or before any daily review meeting. This skill is a change detector — it answers: "Did anything important change overnight compared to the same day last week?"
Not sure which monitoring skill to use?
| meta-ads-daily-pulse | meta-ads-healthcheck | |
|---|---|---|
| Primary question | "Did anything change vs. last week?" | "Is this campaign healthy or not?" |
| Comparison basis | Same day of prior week (WoW) | Fixed Green/Yellow/Red thresholds |
| Best for | Daily routine, morning check, meeting prep | Something feels off — quick on-demand check |
| Output style | Change alerts ranked by revenue impact | Campaign-by-campaign status report |
Fetch account-level metrics for yesterday and the same day of the prior week:
Use exec + curl to call the Meta Graph API:
Account-level (yesterday):
# Cross-platform date helper (Python, works on macOS and Linux):
YESTERDAY=$(python3 -c "from datetime import date, timedelta; print((date.today() - timedelta(days=1)).isoformat())")
SAME_DAY_LAST_WEEK=$(python3 -c "from datetime import date, timedelta; print((date.today() - timedelta(days=8)).isoformat())")
curl -G "https://graph.facebook.com/v21.0/act_$`{{META_AD_ACCOUNT_ID}}`/insights" \
-d "fields=spend,impressions,results,roas,ctr,cpc,cpm,frequency,conversion_rate" \
-d "time_range=`{{'since':'${YESTERDAY}}`','until':'$`{{YESTERDAY}}`'}" \
-d "access_token=$`{{META_ACCESS_TOKEN}}`"
Same day of prior week (7 days back):
# Same YESTERDAY and SAME_DAY_LAST_WEEK variables as above
curl -G "https://graph.facebook.com/v21.0/act_$`{{META_AD_ACCOUNT_ID}}`/insights" \
-d "fields=spend,impressions,results,roas,ctr,cpc,cpm,frequency,conversion_rate" \
-d "time_range=`{{'since':'${SAME_DAY_LAST_WEEK}}`','until':'$`{{SAME_DAY_LAST_WEEK}}`'}" \
-d "access_token=$`{{META_ACCESS_TOKEN}}`"
Campaign-level (yesterday, if you need per-campaign breakdown):
# Same YESTERDAY variable as above
curl -G "https://graph.facebook.com/v21.0/act_$`{{META_AD_ACCOUNT_ID}}`/insights" \
-d "fields=campaign_name,spend,impressions,results,roas,ctr,cpc,cpm,frequency" \
-d "level=campaign" \
-d "time_range=`{{'since':'${YESTERDAY}}`','until':'$`{{YESTERDAY}}`'}" \
-d "access_token=$`{{META_ACCESS_TOKEN}}`"
Important — Same Day of Prior Week comparison: Meta Ads performance follows day-of-week patterns (e.g., Tuesdays often differ from Saturdays). Always compare each day to its same day of prior week — not the prior day. Comparing to the prior day creates false alarms.
For each day in the date range, pull the equivalent day from 7 days prior:
Run all four detection checks:
| # | Issue | Detection Logic |
|---|---|---|
| 1 | Spend without conversions | spend > 0 AND conversions = 0 |
| 2 | Week-over-week drop | CTR, ROAS, or CVR down > 20% vs same day of prior week |
| 3 | Budget cap + strong ROAS | spend > 80% daily budget AND ROAS > 2x account average |
| 4 | Creative fatigue | frequency > 3 AND CTR declining vs same day of prior week |
For each flag, calculate estimated revenue impact:
Sort alerts by estimated revenue impact. Do not exceed 3 items per section.
🚨 Critical
⚠️ Watch
✅ Healthy
💡 Opportunity
Didoo AI के साथ अपने Meta विज्ञापन वर्कफ़्लो को ऑटोमेट करें — कोई क्रेडिट कार्ड नहीं चाहिए।
मुफ़्त में आज़माएं