[Didoo AI] 针对Meta广告的快速每日健康扫描 — 检测周环比变化,会议前标记紧急问题。每天早上使用,避免遗漏关键信息。
CredentialWhere to GetUsed ForOAuth ScopeMETA_ACCESS_TOKENMeta Developer Console → Graph API Explorer → Generate TokenFetching account and campaign insightsads_read (read-only)META_AD_ACCOUNT_IDAds Manager URL: adsmanager.facebook.com/act_XXXXXXXXXIdentifying 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-pulsemeta-ads-healthcheckPrimary question"Did anything change vs. last week?""Is this campaign healthy or not?"Comparison basisSame day of prior week (WoW)Fixed Green/Yellow/Red thresholdsBest forDaily routine, morning check, meeting prepSomething feels off — quick on-demand checkOutput styleChange alerts ranked by revenue impactCampaign-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):
bash
# 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):
bash
# 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):
bash
# 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:
#IssueDetection Logic1Spend without conversionsspend > 0 AND conversions = 02Week-over-week dropCTR, ROAS, or CVR down > 20% vs same day of prior week3Budget cap + strong ROASspend > 80% daily budget AND ROAS > 2x account average4Creative fatiguefrequency > 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.
text
🚨 Critical
- [Campaign/Ad ID]: [Issue] | [Metric] | [Immediate action]
⚠️ Watch
- [Trending decline not yet critical]
✅ Healthy
- [Brief confirmation]
💡 Opportunity
- [Quick win if found]