Brand Traffic Leakage
Finds brand search terms leaking into non-brand campaigns (inflating their stats and misleading Smart Bidding) and generic traffic riding in brand campaigns — with the misrouted spend quantified.
by Dmytro Tonkikh·chiliad.io
Finds brand search terms leaking into non-brand campaigns (inflating their stats and misleading Smart Bidding) and generic traffic riding in brand campaigns — with the misrouted spend quantified.
by Dmytro Tonkikh·chiliad.io
Uses Claude AI to analyze your search terms and recommend negative keywords with clear reasoning. Each term is evaluated for business relevance, intent, and conversion potential — then exported to a Google Sheet with actionable suggestions.
Measures how much of your exact-match spend actually flows through close variants and lists the zero-conversion variants — the most surgical negative keyword candidates in the account.
Reads negative keywords and placement exclusions from a Google Sheet and syncs them to multiple campaigns via shared negative keyword and placement lists. Optionally filters to campaigns with a specific label.
Quantifies spend on search queries containing competitor names, with conversion performance and a period-over-period trend — whether competitor bidding is your strategy or your broad-match accident.
Shows what your Dynamic Search Ads decided on their own: waste queries to negate, the landing pages absorbing DSA spend, and converting queries to promote into real keywords.
Finds identical keywords (same text and match type) active in multiple ad groups or campaigns, with per-instance performance so the keeper is obvious — ending the internal competition that splits history and muddies results.
Brand clicks are cheap and convert well — when they leak into non-brand campaigns they flatter that campaign's CPA, mislead Smart Bidding, and hide the true cost of generic traffic. Brand Traffic Leakage scans all search terms and splits the misrouting both ways: brand-token queries served by campaigns not marked as brand (fix with brand negatives there), and non-brand queries served inside brand campaigns (fix by tightening brand keywords). Both lists come ranked by cost with the total misrouted spend quantified.
| Variable | Default |
|---|---|
BRAND_TERMS | ['acme'] |
BRAND_CAMPAIGN_MARKER | brand |
DATE_RANGE | LAST_30_DAYS |
MIN_COST | 1 |
TOP_N | 30 |
EMAIL_ADDRESS | (empty) |
=== Brand Traffic Leakage (LAST_30_DAYS) === Search terms scanned: 18342 Brand terms in non-brand campaigns: 24 terms, cost 812.40 Non-brand terms in brand campaigns: 6 terms, cost 96.20 --- LEAKED BRAND - add brand negatives to these campaigns --- "acme running shoes" in Generic — Broad cost: 240.10 clicks: 310 conversions: 18.0 "acme discount code" in Generic — Phrase cost: 121.55 clicks: 164 conversions: 9.0 --- FOREIGN TRAFFIC in brand campaigns - tighten keywords/negatives --- "best running shoes" in Brand — Exact cost: 48.20 clicks: 32 conversions: 0.0 Email sent to you@example.com
Brand tokens match as substrings, so 'acme' also catches 'acmeshop' — list generic words carefully or they'll over-match. The standard architecture this enforces: brand negatives (usually a shared list) on every non-brand campaign, and exact-ish brand keywords in the brand campaign.