# Read GA4 performance by channel against spend

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

Channel performance from the property's own grouping, the neutral referee table for media debates.

**Intent.** Each channel's sessions, key events and revenue, the site-side view of media.

## When to use

- Weekly.
- Any cross-platform argument.

## When not to use

- No specific contraindication beyond the preconditions below.

## Sources

Required: Google Analytics 4

## Preconditions

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

## Inputs

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

## Procedure

1. Read the property's channel groups. — tools: `ga4_get_channel_groups`
2. Run the channel report with key events and revenue. — tools: `ga4_run_report`, `ga4_get_key_events`

## Decision rules

- **When** Paid channels' GA4 conversions diverge sharply from platform claims → **conclude** The divergence is the finding: route to cross-platform-performance for the reconciliation.

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

- Last-click undercredits upper-funnel channels: the table referees, it does not settle.

## Output

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

## Related

- Skill: [cross-platform-performance](https://www.getmcpads.com/skills/cross-platform-performance.md)
