OpenAI Ads tools
9 tools for OpenAI Ads, the ads that run in ChatGPT: your account's status, the campaign, ad group and ad structure, how an ad looks in ChatGPT, delivery and conversion results, and who changed what.
Every OpenAI Ads tool is read-only. The AI can look at your account and explain it, but it can't create or edit campaigns, ads, budgets, or bids.
OpenAI Ads is connected differently from the other platforms: you paste an API key instead of signing in through a login screen. Each key belongs to one ad account, so connect once per ad account.
- "Why isn't my OpenAI Ads account delivering?"
- "Show me impressions, clicks, and spend by day for the last two weeks."
- "Which of my ads are still in review, and are any of them not serving?"
- "What changed in the account yesterday, and who changed it?"
- "Show me how this ad looks in ChatGPT."
Accounts & structure
| Tool | What it does | Mode |
|---|---|---|
openai_ads_list_accounts | The OpenAI Ads account behind each connection. | Read |
openai_ads_get_account | Status, review status, timezone, currency, and spend limits when billing is readable. | Read |
openai_ads_list_campaigns | Campaigns with status, bidding type, schedule, and spend limits. | Read |
openai_ads_list_ad_groups | Ad groups for a campaign with context hints, billing event, and max bid. | Read |
openai_ads_list_ads | Ads for an ad group with status, review status, creative, and optional serving issues. | Read |
openai_ads_get_ad_preview | Preview of how an ad appears in ChatGPT. | Transform |
Performance & reporting
| Tool | What it does | Mode |
|---|---|---|
openai_ads_get_insights | Impressions, clicks, spend, CTR, CPC, and CPM by day, with product, country, or device breakdown. | Read |
openai_ads_get_conversion_insights | Conversions, attributed sales, and per-event attribution. | Transform |
openai_ads_get_audit_logs | Who changed what, and when, in the account. | Read |
Create an OpenAI Ads API key
You need a key from OpenAI Ads Manager, then paste it into Adsyncs once.
- Open OpenAI Ads Manager and sign in to the ad account you want to connect.
- Go to Settings, then General, then API Keys, and choose Create New Key. Give it a name you will recognize, like "Adsyncs".
- Copy the key.
- In Adsyncs, open Connections, choose OpenAI Ads, paste the key, and choose Verify & connect.
Adsyncs checks the key against OpenAI before it saves anything, then shows the ad account it belongs to. The key is stored encrypted and is never shown again. Extra spaces or a trailing new line from copying are fine.
The key lets Adsyncs read your ad account's data. Adsyncs only reads with it. OpenAI's Ads Manager says an Advertiser API key covers ad management only, not conversion events, which use a separate key.
Replace or remove a key
- Rotated or deleted a key in Ads Manager? Adsyncs notices the next time the AI uses the account, or in its daily check. It marks the connection as needing attention and emails you. Create a new key and paste it on the Connections page. Your selected ad account and the features that use it carry over.
- Disconnecting? Removing the connection in Adsyncs deletes our copy of the key. OpenAI doesn't let us revoke a key for you, so also delete it in Ads Manager under Settings, General, API Keys.
When something says "not enabled"
OpenAI turns on some features per account, such as conversion reporting. If a tool says the endpoint may not be enabled for your access, your key is fine. Ask your OpenAI partner representative to enable it for your account.
A brand-new account, or one that isn't serving yet (billing or review pending), returns empty lists and empty reports, not errors.
Auth is Authorization: Bearer <Advertiser API key> against https://api.ads.openai.com/v1; there is no OAuth, refresh token, or expiry. The dashboard validates the key with GET /ad_account and stores it encrypted as the connection's credential, with the adacct_… id as the connection's identity. Money fields are returned in major units of the account currency with the raw *_micros value alongside, and every result carries the account's time zone and currency.