Ads account audit
Run quarterly per product account (and before any budget increase) to catch the common Google Ads and Microsoft Ads pitfalls; done means every item has a Pass/Fail/n/a result and an approved fix list. The Claude skill
google-ads-auditruns this checklist.
Before you start
- Read-only access to the account through MCP, with your own login. See MCP and tools.
- The audit is read-only. Claude proposes fixes as a list; a human approves each change that alters spend or live campaigns in chat before anything is applied.
- Have the product’s section of pricing and licensing and the Google Ads strategy open; they define what “right” looks like.
- Date range: last 90 days, compared with the prior 90.
Checklist
Phase 1: targeting and spend leaks (paid search lead or Claude)
- A1 Broad match without negatives. Broad match keywords run only with Smart Bidding, enough conversions and a full negative list. Flag broad keywords whose search terms are mostly irrelevant.
- A2 Search Partners and Display bleed. Search campaigns have Search Partners and Display Network off, unless a test shows qualified pipeline from them.
- A3 No student/free/job-seeker negatives. Shared negative list includes free, student, tutorial, course, jobs, careers, salary, internship, crack, torrent (keep “free” only where a free tier or trial is the goal).
- A4 Geo “presence or interest”. Location option is “Presence: people in or regularly in” your targeted locations.
- A5 Search-term waste. Top 50 search terms by spend reviewed; irrelevant ones flagged.
- A6 Audience Network (Microsoft Ads). Reviewed or off on search campaigns.
Phase 2: automation and conversions (paid search lead + sales ops)
- B1 Auto-applied recommendations. Off in both Google Ads and Microsoft Ads. List any applied in the period.
- B2 PMax cannibalizing brand. Brand terms excluded from Performance Max (brand exclusions or negative keywords); brand campaign impression share stable.
- B3 Wrong conversion goals. Primary goals are qualified pipeline stages imported from the CRM, not raw form fills, page views or scroll events. Form fills are secondary.
- B4 Offline conversion import. GCLID/GBRAID/WBRAID captured on forms; import ran in the last 7 days without errors.
- B5 CPA vs pricing model. Target CPA or ROAS per campaign fits the product’s model (entry tier vs enterprise deal). No single target across very different offers.
- B6 Brand exclusion. Brand terms are negatives in non-brand campaigns.
Phase 3: ads, compliance and landing pages (product marketing)
- C1 Competitor trademark issues. No competitor trademarks in ad text unless permitted; competitor copy is positive and factual; any trademark complaints or disapprovals resolved.
- C2 Landing page mismatch. Each ad group’s landing page matches its query theme and intent (pricing → pricing page, evaluation → demo/contact sales, developer → docs/trial). Pages pass the website buyer-fit audit.
- C3 Disapproved or limited ads. None open longer than 7 days.
- C4 Claims. No unsourced claims in ads (for BoldDesk, never the 90% automation goal, TODO: source). No prices that could go stale.
Results format
Claude prints the result in chat; save it to the team’s shared results log (location TBD). If an output directory is given (for example by pbmaintain), also write the report files defined in reports/schema/README.md there. Otherwise don’t create results files in the repo. Use exactly this format:
## Ads account audit: {product slug}, {account name}, {YYYY-MM-DD}Period: {date range} | Run by: {name or "Claude"}
| ID | Item | Result | Evidence | Est. monthly waste | Proposed fix ||---|---|---|---|---|---|| A1 | Broad match without negatives | Fail | {campaign, keyword, search terms} | {currency or "unknown"} | {change} |
### Score- Pass: {n} | Fail: {n} | n/a: {n}
### Proposed changes (need human approval before applying)1. {campaign / setting}: {current} → {proposed}. Reason: {item ID}.Use “unknown” for waste that can’t be calculated from account data.
Report keys (for the report files): Item IDs are A1–C4 above. Metric keys: ads.spend, ads.wasted_spend_est, ads.audit_pass_rate.
Done when
- Every item has a result with evidence.
- The proposed change list is approved, rejected or deferred by the paid search lead in chat, and approved changes are applied.
- Findings are summarized in the next weekly GTM review.
If something goes wrong
- A change caused a drop in conversions or a spend spike: revert it from the account change history and tell the paid search lead the same day.
- Trademark complaint from a competitor: pause the affected ads and tell product marketing.
- MCP access fails: run it manually in the Ads UI, same format.