App-inventory spend, gone . Drift, caught.
Mobile App Category Exclusion applies account-level negative criteria for mobile-app categories across Google Play and Apple App Store. Run it once to set up. Run it in verify mode to catch drift — and re-apply anything that has fallen off.
A receipt of what was applied, and what drifted off.
Apply mode sets the exclusions. Verify mode is what keeps them there — run it monthly and any category that's fallen off the account gets put back.
Sample · one account · verify_existing runApply once , verify forever.
The tool doesn't monitor placements. It makes sure the exclusions you asked for are still the exclusions Google has on file — and puts them back if they're not.
Write the exclusion set to the account.
In apply_new mode, the tool creates CustomerNegativeCriterion entries for the category IDs you chose (or all of them if you're excluding the lot). Takes seconds per account. State is recorded in mobile_app_category_exclusions so the next verify run knows what to expect.
API surface: Google Ads v23 · CustomerNegativeCriterionCheck what Google actually has, restore what's missing.
In verify_existing mode, the tool re-fetches the account's current negative criterion list, compares it to the expected set in mobile_app_category_exclusions, and re-applies any category that has been removed since the last apply. Drift recovery, no manual audit.
Mode: verify_existing · run on your cadencePer-category status, per customer.
Every category-customer pair is tracked in mobile_app_category_exclusions with its exclusion_status and verification_status. Queryable — you can see exactly what's excluded, what's drifted, and when each state changed.
Storage: mobile_app_category_exclusions · per customer, per categoryThe questions we always get asked first.
Does this affect my Search campaigns?
No. Search ads don't serve on mobile-app inventory. The exclusions are applied at the account level via CustomerNegativeCriterion, but they only change where ads serve on inventory that includes apps — Display, Performance Max, and similar networks.
Why does the tool default to excluding all categories?
Because that's what most accounts need. App inventory — even the well-known categories — generates a meaningful share of accidental clicks, and conversions from those clicks are rare. The default is blanket, the knob is custom: pick a subset if you want to keep certain categories on.
Does the tool tell me how much I saved?
No. We don't synthesise a saved-spend number from the exclusion action itself — that would require counterfactual modelling we won't fake. For visibility into where spend was going before/after, look at Google Ads' placement report or use Campaign Health Analyzer.
How often should I run verify_existing?
Monthly is common. Drift is rare but real — changes in the account, Google's own maintenance, or manual edits can all remove entries. A monthly verify run catches anything that has slipped off and puts it back.
Is there a way to see which categories each campaign was spending on?
Not from this tool — placement-level attribution lives in Google Ads' reporting, not in our exclusion tracker. The tool is a lever, not a dashboard.
Run the audit.
Keep the findings.
Connect your account and let Lyra run its 18 tools for 14 days. If the projected waste recovery isn't worth at least 10× the $49, don't pay. You keep every insight either way.
Read-only connect · write access opt-in per tool · SOC 2 in progress · GDPR + CCPA compliant