# Diagnose a ChatGPT ad that is not serving

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

Inspect ChatGPT Ads serving issues, statuses and image creatives without changing delivery.

**Intent.** Read delivery issues through the campaign hierarchy and inspect the native creative before recommending a change.

## When to use

- The user asks why a campaign, ad group or ad is not serving.

## When not to use

- Assuming an approved creative is active, funded or receiving impressions.

## Sources

Required: ChatGPT Ads

## Preconditions

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

## Inputs

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

## Procedure

1. Read the exact campaign, ad group and ad with serving_issues included, keeping native statuses distinct from review status. — tools: `openai_ads_get_campaign`, `openai_ads_get_ad_group`, `openai_ads_get_ad`
2. Inspect the linked native image and destination, using ad names and refreshing expired media through a fresh read. — tools: `openai_ads_list_ad_creatives`
3. Read the account's spend-limit configuration and relevant reporting window to distinguish a configured constraint from observed performance. — tools: `openai_ads_get_spend_limits`, `openai_ads_get_insights`

## Decision rules

- **When** Any parent or ad is paused → **conclude** Identify the paused level. Activation is a separate change that requires its own preview and confirmation.
- **When** The provider reports a serving issue → **conclude** Quote the native issue and identify the affected entity; do not claim a fix from a status change alone.

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

- Image URLs expire and inventory can omit image_url. Read the exact ad before declaring its creative absent.
- A successful read or approved review status does not establish delivery, and empty insights do not establish measured zero spend.

## Output

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

## Related

- Guide: [sources/chatgpt-ads](https://www.getmcpads.com/guides/sources/chatgpt-ads.md)
