---
name: manage-pmax-search-terms-and-brand-defense
description: >-
  Takes back keyword-level control of the queries Performance Max is winning: mine 30 days of PMax search-term
  data, merge it with Search-campaign terms, identify converting non-brand queries worth owning, and add them
  as exact-match keywords in Search, which, by Google's routing priority, pulls those queries out of PMax
  automatically, no PMax negatives needed. Also audits brand leakage (brand share of PMax impressions, PMax
  vs. Search brand CPC) and routes fixes. Use it on a monthly cadence (bi-weekly above ~EUR 10K/month PMax
  spend, weekly in the first 90 days post-launch), or immediately when Search volume drops while PMax rises.
  Do not use it for negating irrelevant PMax queries (analyze-search-term-reports), pattern-level waste
  (run-n-gram-analysis), the general PMax tune-up (run-pmax-ecommerce-optimization-cycle /
  run-pmax-lead-gen-saas-optimization-cycle), or the keyword-add mechanics themselves, which follow
  promote-search-terms-to-keywords.
---
# PMax Search-Term Routing and Brand Defense

## Purpose
PMax decides for itself which queries it serves, unless a Search campaign holds the same query as an
exact-match keyword, in which case Google routes the query to Search. This skill exploits that priority rule:
find the queries PMax converts on that deserve keyword-level control (bids, ad copy, landing page), promote
them into Search as exact match, and verify the traffic actually moved. The same data pass doubles as a brand
audit, catching PMax quietly buying brand clicks the brand campaign should own for less.

## When to run
- Monthly for a typical account; bi-weekly when PMax spends over roughly EUR 10K/month; weekly during the
  first 90 days after a PMax launch, when query mix is still settling.
- Immediately, outside cadence, when Search campaign volume drops while PMax volume climbs on the same themes,
  or when PMax is visibly converting on high-volume queries you have no keywords for.
- As the deep-dive the PMax optimization cycles route to when their weekly sweep flags routing or brand issues.

## When NOT to run
- Hunting irrelevant or wasteful PMax queries to negate, that is analyze-search-term-reports (term-level)
  and run-n-gram-analysis (pattern-level); this skill is the positive direction, promotion.
- The full recurring PMax check-up, run-pmax-ecommerce-optimization-cycle or
  run-pmax-lead-gen-saas-optimization-cycle; this skill is one spoke of those wheels.
- No Search campaigns exist to receive promoted terms, build them first (build-search-campaign-structure).
- The PMax campaign is under ~30 days old with thin query data, wait for a meaningful 30-day window.

## Prerequisites
- At least one active PMax campaign and at least one active Search campaign in the account.
- 30 days of search-term history on both sides.
- Current keyword inventory per Search campaign/ad group (pullable in step 2).
- The operating targets (CPA or ROAS) for both the PMax and the receiving Search campaigns.
- Brand terms and known misspellings listed, and ideally a dedicated exact-match brand campaign.

## Procedure
Before the first Google Ads write of the session, call `gads_policy_guardrail` and honor its output.
Every write below is previewed first (validate_only=true default) and committed only after explicit user approval.

1. **Pull both query datasets.** Call `gads_get_search_terms_report` for the PMax campaign over the last
   30 days (term, impressions, clicks, cost, conversions, conversion value), and again for the Search
   campaigns over the identical window. Compute CPA/ROAS per term.
2. **Pull the keyword inventory.** Use `gads_run_gaql_query` on ad-group criteria to list every active Search
   keyword with match type, so promotion candidates can be checked against what already exists.
3. **Merge and tag.** Join the two term datasets on the normalized query. Tag each row PMax-only, Search-only,
   or both, and sort by PMax cost descending, money spent is the priority order.
4. **Filter promotion candidates.** Keep PMax terms that clear every bar in the decision rules: proven
   conversions, real volume, on-topic for the business, non-brand, and not already covered by an exact-match
   Search keyword (per step 2). Relevance and brand judgment stay with the user, present the evidence, ask.
5. **Compare the overlaps.** For terms serving in both PMax and Search, compare CPA, ROAS, and conversion rate
   side by side. Where PMax outperforms Search on a term Search only holds as phrase or broad, an exact-match
   add is how Search reclaims routing with better economics visible for tuning.
6. **Build the promotion list.** For each candidate record: term, PMax conversions and CPA/ROAS, current
   Search coverage, destination (existing ad group / new ad group / defer), in this priority: (a) converting
   high-volume terms with no Search coverage; (b) overlap terms where routing is currently suboptimal;
   (c) terms that fit existing ad-group themes; (d) clusters implying a whole new campaign, flag those for
   planning rather than building ad hoc.
7. **Execute promotions (write).** For terms fitting an existing theme, add them with `gads_add_keywords` as
   EXACT match into that ad group, preview first, apply only after user approval. For a new theme with 3+
   related terms, first `gads_create_ad_group` in the fitting campaign, then `gads_add_keywords`, preview
   first, apply after approval. Set initial bids consistent with the receiving campaign's strategy. Confirm
   the receiving ad group's ads speak to the promoted terms and the landing page matches intent, copy/LP
   fixes are a HUMAN STEP (outside VigilDog) or route to write-compelling-rsas. Detailed promotion mechanics:
   promote-search-terms-to-keywords.
8. **Do NOT negate promoted terms in PMax.** The exact-match keyword alone flips routing; a PMax negative
   would also block close variants and long-tail relatives PMax may serve profitably. Skipping this step is
   deliberate, not an omission, say so in the summary.
9. **Brand audit.** From the step-1 PMax data, compute brand share of impressions (target under 30%) and
   compare PMax brand CPC and volume against the brand Search campaign via `gads_run_gaql_query`. PMax paying
   more per brand click, or brand Search volume sliding while PMax brand volume grows, means leakage.
   HUMAN STEP (outside VigilDog): update the campaign's brand-exclusion list in the Google Ads UI with any new
   variants or misspellings found. Keep brand defense on exclusions, do not "promote" brand terms here.
10. **Validate routing (7-14 days later).** Re-pull both reports with `gads_get_search_terms_report` and check
    keyword delivery with `gads_get_keyword_performance`: promoted terms should now accrue impressions in
    Search while their PMax impressions shrink (that shrinkage is success, not a problem). Combined
    conversions per term should hold or grow; Search CPA/ROAS on promoted terms should sit within target.
    Failures route per the decision rules.
11. **Document the cycle.** Record terms promoted, routing outcomes (claimed by Search / still in PMax /
    split), conversion impact, and new query patterns queued for next cycle.

## Decision rules
- Promotion bar (all must hold over the 30-day window): 2+ conversions; 50+ impressions; directly relevant to
  what the business sells; does not contain the brand; no existing exact-match keyword for it in Search.
- Overlap tiebreak: lower CPA / higher ROAS / higher conversion rate wins; promote when Search should own the
  term but currently competes from phrase/broad or not at all.
- New ad group only at 3+ related promoted terms; a lone term goes into the closest existing theme; a cluster
  implying a new campaign is deferred to planning.
- Always exact match for promoted terms, that is the match type that outranks PMax in routing. Phrase or
  broad adds do not reliably move the traffic.
- Never add PMax negatives for promoted terms; reserve PMax negatives for genuinely irrelevant or wasteful
  queries (handled in analyze-search-term-reports / run-n-gram-analysis).
- Brand share of PMax impressions above 30% = treat PMax performance reporting as inflated and fix exclusions
  before drawing conclusions from its CPA/ROAS.
- Validation window is 7-14 days; judging routing after 2 days produces false failures.
- Post-validation triage: no Search impressions -> check keyword status, approval, bid, and Quality Score;
  combined conversions fell -> check ad copy and landing-page fit for the term; PMax still serving the query
  heavily -> confirm the keyword is truly exact match, active, and in a serving campaign.

## Common failure modes
- Promoting as phrase or broad and concluding routing "doesn't work", only exact match carries the priority.
- Reflexively negating promoted terms in PMax, which amputates close variants PMax was converting on.
- Promoting brand queries as keywords into non-brand campaigns instead of fixing brand exclusions, this
  doubles spend on demand already owned.
- Promoting every converting term regardless of volume, creating dozens of one-impression-a-day keywords that
  add management load and never exit low Quality Score.
- Sending promoted terms into ad groups whose ads say something else entirely, routing moves the click, but
  a mismatched ad and landing page lose the conversion; validate step 7's fit check.
- Panicking when PMax impressions for a promoted term collapse, that is the mechanism working as intended.
- Running the pass once and never validating; unpromoted-in-practice keywords (paused, disapproved, underbid)
  silently leave PMax in control.

## Related skills
- Before: a live PMax campaign (launch-pmax-for-lead-gen-saas, launch-pmax-feed-only-campaign, or
  launch-pmax-full-assets-ecommerce-campaign) and Search structure to receive terms
  (build-search-campaign-structure).
- With: analyze-search-term-reports (negation side), run-n-gram-analysis (pattern negation),
  promote-search-terms-to-keywords (keyword-add mechanics).
- After: run-pmax-ecommerce-optimization-cycle or run-pmax-lead-gen-saas-optimization-cycle resume the
  recurring cadence; improve-quality-score if promoted keywords land with weak QS.
