# Read Google Ads ad group performance inside one campaign

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

Ad group performance inside a campaign, ranked and statused, the step below the campaign table.

**Intent.** The ad-group table for one campaign, spend-ranked, with statuses.

## When to use

- A campaign flagged in the campaign readout needs its inside read.

## When not to use

- Across the whole account at once: the table stops being readable, go campaign by campaign.

## 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 the campaign's ad groups with statuses. — tools: `google_ads_get_adgroups`
2. Pull ad-group performance over the window. — tools: `google_ads_get_insights`

## Decision rules

- **When** One ad group holds most of the campaign's spend → **conclude** The campaign's story is that ad group's story: descend into keywords there first.

## 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

- Comparing ad groups with different bid strategies as if the auction treated them alike.

## Output

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