# Read the Google Ads change history properly

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

The change events log, filtered to the scope in question, attributed and dated.

**Intent.** Who changed what, when, on what — the account's black box recorder.

## When to use

- Before blaming performance on the market.
- After onboarding: what the previous team did on the way out.

## When not to use

- Beyond 30 days back: Google keeps 30 days, absence of records is not calm.

## 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 change events for the window and scope. — tools: `google_ads_get_change_events`
2. Group by actor and by resource, then align dates against performance moves.

## Decision rules

- **When** A change lands within 24-48h of a performance move on the same scope → **conclude** Primary suspect: name it, date it, check magnitude before closing.

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

- Automated rules and scripts appear as their owner's account: an 'actor' can be an automation.

## Output

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

## Related

- Skill: [campaign-anomaly-investigation](https://www.getmcpads.com/skills/campaign-anomaly-investigation.md)
