Audit
meta_account_audit
Structural audit of the Meta ad account.
Arguments
None.
Template
If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.
Audit the Meta account structure. Use `get_entities` with platform='meta' at campaign, adset, and ad levels (adset rows carry effective_status, daily_budget/lifetime_budget, bid_strategy, optimization_goal). Look for:
- Naming-convention drift.
- Likely-duplicate ad sets: same or near-identical name AND the same optimization_goal. Targeting specs are NOT available, so this name+goal match is a best-effort heuristic, not a true audience-overlap check - say so.
- Abandoned campaigns: still ACTIVE (effective_status) but no spend in 30 days.
- Budget-allocation imbalance: first decide each campaign's budgeting mode. If the campaign carries a daily_budget or lifetime_budget and its ad sets have none (CBO / campaign-level budget optimization - get_entities None-drops absent budgets, so a missing ad-set budget is the CBO signal, not an error to skip), evaluate budget-vs-spend at the CAMPAIGN level: the campaign's daily_budget/lifetime_budget/budget_remaining against its 7-day spend from `get_performance` (platform='meta', entity_type='campaign', date_range={{"days": 7}}). If instead the ad sets carry daily_budget/lifetime_budget (ABO / ad-set budget optimization), compare each ad set's daily_budget/lifetime_budget (from `get_entities`, or the `adsets` DSL table) against its 7-day spend from `get_performance` (platform='meta', entity_type='adset', date_range={{"days": 7}}).
Return findings as a numbered list with severity (high/med/low). Claude Code
Available in the @kreel/skills plugin as:
/kreel:meta-account-audit