Ad account audit
audit_accountAudit the whole ad account in one call: account status, ads Meta rejected, tracking, Learning limited ad sets, ads spending without results, creative fatigue, a rise in cost per result over a recent week and missing data — each finding with its numbers and the next step. Reads, in one call and read-only: the ad account itself (status, account spending limit, default DSA payer and beneficiary); the ads that are on in running campaigns but rejected in Meta’s review or stopped by a delivery issue, with Meta’s reasons — an ad set left with nothing to deliver that spent or was changed in the last 7 days is high; the ads with spend in the 14 days ending yesterday — the same read and rules as the daily advice; the active ad sets with Meta’s learning status; the conversion tracking of the pixel most active ad sets optimise for — the same checks as audit_conversion_tracking; creative fatigue — the same scoring as detect_creative_fatigue on the same 14 days, counting only ads whose frequency reached three quarters of its bar, when the request budget allows; the cost per result of the 7 days that end three days ago against the 30 days before them (the two latest days still collect results and are left out), by campaign and named by the result the campaigns optimise for, when the request budget allows — reported only when it rose beyond chance by 25% or more (40% is high), with how much of the rise the campaigns themselves made, the campaign that pushed it up most and, when the budget allows, that campaign's edits from Meta's change history; and, from what this account already sent in, payments, leads, the CRM and the link tags of the ads. Returns findings ordered by severity (high, medium, low), each with evidence and a next step; what is fine; what could not be checked and why; the money received; and the latest daily advice for this ad account. Running ads that spent enough to expect four results at the account’s own cost per result and got none are counted in full, not cut to three as in the daily advice. At most 15 Meta requests: a check the request budget does not allow is named under what could not be checked; when Meta’s limit, a temporary Meta failure or the request cap stops a read midway, the answer is also marked partial. Read-only and free: changes nothing and does not count toward the monthly change limit. An identical read within 30 seconds may return the same data (see data_age_seconds).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pixel_id | No | Pixel to check when the ad account has several. Default: the pixel most of the active ad sets optimise for. | |
| connection | No | Which connected ad account to use: the connection id from start_here or the ad account number (act_123 or 123). Needed only when several ad accounts are connected. |