# Read Google Ads keyword performance without drowning

> Tier: recipe. Operating recipe: real tool sequence, core rules, known traps.

Keyword-level performance with match types, filtered to rows with enough clicks to mean something.

**Intent.** Keywords ranked by spend with quality signals, cut to what is judgeable.

## When to use

- After an ad-group readout flags a group.
- Monthly keyword hygiene.

## When not to use

- Below ~20 clicks per keyword: judge themes, not keywords, at that volume.

## Sources

Required: Google Ads

## Preconditions

- The account is ticked in the dashboard, confirmed via list_accounts.

## Inputs

- `window`: Analysis window. Default: last 30 days.

## Procedure

1. Pull keyword performance with match types over the window. — tools: `google_ads_get_keyword_performance`
2. Split brand from non-brand before any average is computed.

## Decision rules

- **When** Brand and non-brand are averaged together → **conclude** The blended CPA is fiction: report the two separately, always.
- **When** A broad-match keyword's spend dwarfs its exact sibling → **conclude** Check its search terms before judging it: the keyword is a net, not a term.

## Evidence requirements

- Every figure carries its account, metric and window.
- Anything below a readable sample size is reported as unjudged, not as zero.

## Human approval boundary

- The readout changes nothing. Any change it motivates goes through Safe Writes: preview, human confirmation, then apply.

## Failure modes

- Judging keywords during a learning phase after bid changes.
- Low-volume keywords look free or broken; they are just small.

## Output

- **Readout**: The figures, with windows and accounts named.
- **Flags**: What deserves a deeper skill or a human decision.
