# Prepare a ChatGPT Ads image campaign

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

Prepare a ChatGPT Ads image campaign with native goals, compatible bidding and budgets, and confirmation before each write.

**Intent.** Create a compatible campaign, ad group and image ad in pause, confirming and verifying each change.

## When to use

- The user wants a new image ad and explicitly asks to prepare its campaign.

## When not to use

- Publishing active delivery as part of creating the campaign hierarchy.

## Sources

Required: ChatGPT Ads

## Preconditions

- The workspace has a paid plan and write access to the selected account.
- The account is ticked in the dashboard, confirmed via list_accounts.

## Inputs

- `brief` (required): Objective, budget, dates, targeting, destination, copy and image.

## Procedure

1. Read the account's goals and the native schemas. Validate the objective, billing, bidding and budget combination before preparing any mutation. — tools: `openai_ads_get_write_context`, `openai_ads_get_write_schema`
2. Preview and confirm a PNG, JPEG or WebP upload, or an image import from a public HTTPS URL. Use the returned file ID. — tools: `openai_ads_upload_image`, `openai_ads_upload_image_url`
3. Preview and confirm the campaign, then the ad group and ad, keeping all three paused. Verify each parent before creating its child. — tools: `openai_ads_create_campaign`, `openai_ads_create_ad_group`, `openai_ads_create_ad`
4. Read each created entity and the parent's inventory. Keep mutation receipts to resolve uncertain responses without resubmitting. — tools: `openai_ads_get_campaign`, `openai_ads_get_ad_groups`, `openai_ads_get_ads`, `openai_ads_get_ad`, `openai_ads_get_mutation`

## Decision rules

- **When** Native eligibility or a prerequisite is missing → **conclude** Report the missing prerequisite before attempting a child creation.
- **When** A mutation times out or its entity is missing from the parent inventory → **conclude** Preserve the receipt and read again. Do not repeat the write or report the hierarchy complete.

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

- Every mutation needs its own saved preview and explicit human confirmation. Activation is a separate confirmed operation.

## Failure modes

- Native write budgets and bids are integer currency micros. They use different units from report spend.
- Binary images must be at least 640 × 640 pixels and no larger than 5 MiB. Video and carousel ad creation are not supported.

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