# Diagnose a Google Ads campaign that will not serve

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

The Google no-delivery sequence: status, dates, budget, targeting, policy, bids, in eligibility order.

**Intent.** Why a campaign shows zero impressions: the eligibility chain, walked.

## When to use

- A campaign that should serve shows nothing.

## When not to use

- No specific contraindication beyond the preconditions below.

## 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. Read status, dates and schedule. — tools: `google_ads_get_campaigns`
2. Read the budget object and its sharing. — tools: `google_ads_get_budgets`
3. Scan ads and keywords for policy status. — tools: `google_ads_run_gaql`
4. Check bid strategy constraints against the auction. — tools: `google_ads_get_bidding_strategies`, `google_ads_get_simulations`

## Decision rules

- **When** Everything is eligible but a cost target sits below the auction's floor → **conclude** The target is the off switch: quote the simulation's floor.

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

- End dates in the past fail silently: the classic clone bug, check dates before anything clever.

## Output

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

## Related

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