Connect ChatGPT Ads to an AI assistant
Connect ChatGPT Ads to Claude, ChatGPT, Codex or any MCP client, what to ask it once it is connected, and the 55 tools behind the answers.
Both readings are on this page.
For you
What the answer looks like, and what to type to get it.
Campaigns, ad groups, ads and image creatives, native performance, conversion tracking, product feeds, existing audiences and delivery diagnostics. Saved business reviews and reporting exports.
Connect itLink to this section
- Open the dashboard and choose this platform.
- Open ChatGPT Ads in Sources. Copy the account's Ads Management API key from Ads Manager Settings and enter it in the connection form. The key is encrypted and is never returned to your assistant. This connection uses an advertising API key, not an OpenAI model API key.
- Tick the accounts to expose. Nothing is readable until you do.
- Paste the endpoint into your assistant, or use the shared one for every platform at once.
Read campaigns, creatives and resultsLink to this section
Read the selected account, then follow campaigns, ad groups and ads to the level you need. Ask for performance by account, campaign, ad group or ad with explicit dates. Reports preserve the account's currency and timezone, expose pagination and completeness, and retain the requested attribution convention. Missing rows are not converted into zero spend or zero conversions.
Open the creative gallery for native ad names, image assets and destinations. For delivery questions, request serving_issues on the campaign, ad group or ad. Native review status and delivery issues are separate from performance. The connector also reads conversion settings, pixels, events and insights, existing custom audiences, product feeds and audit logs.
Prepare and change adsLink to this section
Read openai_ads_get_write_context and openai_ads_get_write_schema before proposing a campaign. Supported objectives are impressions, clicks and conversions, with compatible fixed or automatic bidding. Create campaigns, groups and ads in pause, inspect the preview, and confirm the exact change. Activation is a separate action with its own preview and confirmation. Every write needs a paid plan and the selected account's permissions.
Upload PNG, JPEG or WebP images of at least 640 × 640 pixels, up to 5 MiB for binary uploads, or import a public HTTPS image URL. Chat-card image ads are supported. Product ads need an existing ingested product feed owned by the account. A business-agent campaign needs an existing native business_agent_id. Video and carousel ad creation are not supported.
Bulk changes use a separate native schema. Start with validation-only, review the proposal, then confirm the intended operation. A returned job ID only means the job was accepted: read its final status, every operation result and the affected entities. Preserve receipts after timeouts; never submit an uncertain change again.
Compare, save and exportLink to this section
Add the selected ChatGPT Ads account to a business client for saved reviews alongside other sources. Export its reports through the Data API or Google Sheets with the requested dates, currency, timezone and attribution. Keep source-specific conversion definitions separate when comparing platforms.
https://mcp.getmcpads.com/openai-ads/mcpWhat to askLink to this section
Show ChatGPT Ads performance by campaign for the last seven days, with currency and attribution.
Why is this ChatGPT ad not serving, and what creative does it use?
Prepare a campaign, ad group and image ad, keeping all three paused.
Upload this PNG, JPEG or WebP image and use it in my paused ad.
Read my conversion goals, product feeds and existing custom audiences.
Validate these bulk campaign changes, then show every operation's outcome.
Include ChatGPT Ads in my client's saved business review and export the daily report to Google Sheets.What answers each oneLink to this section
| Question | Tools |
|---|---|
| Show ChatGPT Ads performance by campaign for the last seven days, with currency and attribution. | openai_, openai_, openai_ |
| Why is this ChatGPT ad not serving, and what creative does it use? | openai_, openai_, openai_, openai_ |
| Prepare a campaign, ad group and image ad, keeping all three paused. | openai_, openai_, openai_, openai_, openai_ |
| Upload this PNG, JPEG or WebP image and use it in my paused ad. | openai_, openai_ |
| Read my conversion goals, product feeds and existing custom audiences. | openai_, openai_, openai_ |
| Validate these bulk campaign changes, then show every operation's outcome. | openai_, openai_, openai_ |
| Include ChatGPT Ads in my client's saved business review and export the daily report to Google Sheets. | save_, create_, get_, prepare_, start_ |
What it can changeLink to this section
Create paused campaigns, ad groups and image ads; edit budgets, bids, targeting, schedules and creative content. Upload images, pause or archive entities, and prepare bulk changes. Activation is a separate confirmed action. Every write previews before confirmation and requires a paid plan.
For your agent
The tool sequence, the parameters that matter, and what will be refused.
Both readings as Markdown: /guides/sources/chatgpt-ads.md
- Platform id
openai_ads- Tool prefix
openai_ads_- Account parameter
adAccountId- Dedicated endpoint
- https:/
/ mcp. getmcpads. com/ openai-ads/ mcp - Tools
- 55, 25 of which write
- Announced by default
openai_ads_ list_ ad_ creatives - Metrics
- 11, see /docs/sources/chatgpt-ads/metrics
- Dimensions
- 9, see /docs/sources/chatgpt-ads/dimensions
Scope requested from the platformLink to this section
ChatGPT Ads uses an account-scoped Ads Management API key, followed by explicit account selection. There is no OAuth scope request. Native permissions and feature eligibility apply; writes also require a paid plan, a saved preview and explicit confirmation.
Reaching a tool that is not announcedLink to this section
search_tools({ task: "..." }) find it
describe_tool({ name: "..." }) read its schema
run_tool({ name, args }) execute, with the same checksWhat will refuse youLink to this section
- An account not ticked by the owner. Call
list_accountsand use aadAccountIdfrom it. - A write on a plan without writes. The tool is absent from the list and refused if called anyway.
- A write without
confirm: truereturns a preview and applies nothing. That is not an error. - A call to this platform on another platform's dedicated endpoint. The refusal names the URL that serves it.
Questions this source answersLink to this section
| Question | Tools, in order |
|---|---|
| Show ChatGPT Ads performance by campaign for the last seven days, with currency and attribution. | openai_ then openai_ then openai_ |
| Why is this ChatGPT ad not serving, and what creative does it use? | openai_ then openai_ then openai_ then openai_ |
| Prepare a campaign, ad group and image ad, keeping all three paused. | openai_ then openai_ then openai_ then openai_ then openai_ |
| Upload this PNG, JPEG or WebP image and use it in my paused ad. | openai_ then openai_ |
| Read my conversion goals, product feeds and existing custom audiences. | openai_ then openai_ then openai_ |
| Validate these bulk campaign changes, then show every operation's outcome. | openai_ then openai_ then openai_ |
| Include ChatGPT Ads in my client's saved business review and export the daily report to Google Sheets. | save_ then create_ then get_ then prepare_ then start_ |
Native units and safe writesLink to this section
Read schemas before constructing nested requests. Reporting cost is in major account currency units; budgets and bids in native write bodies are integer micros. CTR and conversion-rate fields are fractions. Keep the account timezone, date window and attribution with every result; do not infer zero from empty reports.
For writes, keep the preview's confirmation token and a stable requestId. Read the durable mutation receipt and native entities after an uncertain response; do not retry a write automatically. Campaign, group and ad creation always stays paused. Bulk schemas differ from single-resource schemas, and partial bulk failure does not roll back successful operations.