ChatGPT Ads Integration
Publish ads that appear inside ChatGPT responses as a “chat card” — a title, body, image, and click-through URL — and manage them conversationally from ChatGPT, Claude, or any supported AI client. ChatGPT Ads (OpenAI Ads) is a pay-per-click auction. Adspirer turns the launch, management, and measurement of these ads into plain-language requests across 31 tools: describe the ad you want and the agent builds the campaign, ad group, image upload, and chat_card ad for you — every object created PAUSED until you resume it.Prerequisites
- An OpenAI Ads (Advertiser) account with an Advertiser API key (generated in OpenAI Ads Manager → Settings → API keys)
- Adspirer account connected via ChatGPT, Claude Code, or any supported AI client
- A public image URL (PNG or JPG) for the ad creative
Connecting ChatGPT Ads
ChatGPT Ads is the first Adspirer platform that connects with a pasted API key instead of an OAuth browser login. You connect once in the Adspirer web app — the chat agent never asks for your key.- In OpenAI Ads Manager, go to Settings → API keys and generate (or copy) your Advertiser API key
- Open the Adspirer web app and go to the Connections tab
- Click “Connect ChatGPT Ads”
- Paste your Advertiser API key and save — the key is stored encrypted
Optional: Conversions step
In the same Connect flow, set up conversion measurement (recommended). You can configure one or both:- Client-side Pixel — a small JS snippet you add to your site
<head>, configured with your Pixel ID - Conversions API (server-side) — paste a Conversions API key for more reliable attribution
order_created, lead_created, subscription_created, and trial_started. You can also configure and verify conversions from chat (see Conversion Tracking below).
What You Can Do (31 Tools)
ChatGPT Ads is driven through Adspirer’s conversational tools. Connecting and disconnecting are done in the web app, not via a chat tool — everything else is available from your AI assistant.Accounts
list_chatgpt_accounts— Your connected ChatGPT Ads account(s), with name, ID, and account review status
Campaigns
list_chatgpt_campaigns/get_chatgpt_campaign— List campaigns or get the full detail of onecreate_chatgpt_campaign— Create a campaign (created PAUSED)update_chatgpt_campaign— Change budget, schedule, or targetingpause_chatgpt_campaign/resume_chatgpt_campaign— Stop serving, or resume to go livearchive_chatgpt_campaign— Archive a campaign
Ad Groups
list_chatgpt_ad_groups/get_chatgpt_ad_group— List ad groups or get onecreate_chatgpt_ad_group— Add an ad group (bid + targeting) to a campaignupdate_chatgpt_ad_group— Update bid, schedule, or targetingpause_chatgpt_ad_group/resume_chatgpt_ad_group/archive_chatgpt_ad_group— Control ad-group state
Ads
list_chatgpt_ads/get_chatgpt_ad— List ads or get onecreate_chatgpt_ad— Create a chat_card ad (title, body, image, destination URL)update_chatgpt_ad— Update an ad’s creativepause_chatgpt_ad/resume_chatgpt_ad/archive_chatgpt_ad— Control ad state
Launch & Creative
launch_chatgpt_ad— The one-shot orchestrator. Builds the whole paused ad in one step from URL + headline + body + image + budget + geo (creates the campaign, ad group, image upload, and chat_card ad)upload_chatgpt_creative— Upload a chat_card image from a public URLchatgpt_geo_lookup— Resolve a location like “California” to a valid targeting value
Insights
get_chatgpt_performance— Headline metrics: impressions, clicks, spend, CTR, CPC (plus conversions once the pixel/CAPI is live)get_chatgpt_insights— Scoped, detailed insights with selectable fields, filters, sort, pagination, and zero-impression rows
Conversions
set_chatgpt_conversions_config/get_chatgpt_conversions_config— Configure (or review) your Pixel and Conversions API setuplist_chatgpt_conversion_events— See the conversion events being recordedtest_chatgpt_conversion— Send a test conversion to confirm tracking works end to end
How a Launch Works
Launching never spends money on its own. Everything is created paused, and you resume it when you’re ready.You describe the ad
The agent builds everything — PAUSED
launch_chatgpt_ad resolves the location, creates the campaign + ad group, uploads the image from your URL, and builds the chat_card ad. Nothing serves or spends yet. (Prefer step-by-step control? The agent can build the same tree with create_chatgpt_campaign → create_chatgpt_ad_group → upload_chatgpt_creative → create_chatgpt_ad.)You review
Example Prompts
Launch an Ad
Launch a ChatGPT chat_card ad — created paused so you review before it goes live.
Check Performance
ChatGPT Ads metrics for the week — impressions, clicks, spend, CTR, CPC.
Pause or Adjust Budget
Pause a ChatGPT campaign or change its daily budget.
Creative Requirements
The ChatGPT ad renders as a single chat_card — a title, body, image, and destination URL.| Field | Rule |
|---|---|
| Title / headline | 3–50 characters |
| Body | Up to 100 characters |
| Image | One image, supplied as a public image URL (PNG or JPG). Adspirer uploads from the URL — no binary file upload. Square, at least 256×256 px recommended |
| Destination URL | Must be http/https |
Conversion Tracking
Conversion measurement is optional but recommended. Set it up in the Conversions step of the Connect flow (see Connecting ChatGPT Ads), or configure and verify it from chat withset_chatgpt_conversions_config and test_chatgpt_conversion. You can use either or both methods:
- Client-side Pixel — add a small JS snippet to your site
<head>, configured with your Pixel ID - Conversions API (server-side) — paste a Conversions API key for more reliable attribution
| Event | Meaning |
|---|---|
order_created | A purchase or order was completed |
lead_created | A lead was captured |
subscription_created | A subscription started |
trial_started | A free trial began |
test_chatgpt_conversion to fire a test event and confirm tracking works, then list_chatgpt_conversion_events to see what’s being recorded. Once the pixel or Conversions API is live, conversions appear alongside impressions, clicks, spend, CTR, and CPC in get_chatgpt_performance.
Ad Review and Policy
Safety Guardrails
These are built into the tools, not optional settings:- Everything is created PAUSED. Nothing serves or spends until you resume it with
resume_chatgpt_campaign. - The agent speaks in dollars, never micros, so budgets are always clear.
- Review status is reported honestly — no false “live” claims while review is pending or rejected.
Best Use Cases for ChatGPT Ads
- Reaching people inside ChatGPT — put your offer in front of users at the moment they’re asking an AI for help
- Simple, single-card creative — one headline, one short body line, one image, one link; no video production required
- Pay-per-click testing — start at as little as $1/day, review before you resume, and read CTR/CPC before scaling
Troubleshooting
”Not connected” — ChatGPT Ads doesn’t appear
ChatGPT Ads is connected in the web app, not from chat. Open the Adspirer web app → Connections tab → “Connect ChatGPT Ads” and paste your Advertiser API key. Then ask your assistant to “Check my connected ad platforms.""Invalid API key”
The pasted key is wrong, revoked, or for the wrong account. Generate a fresh Advertiser API key in OpenAI Ads Manager → Settings → API keys, then re-paste it in the Connections tab. Remember: one key = one ad account.Ad stuck in review
OpenAI reviews both the account and each ad before it can serve.in_review is normal for new ads and accounts. AI-related advertisers face extra scrutiny — if the ad is rejected, the category may be disallowed (see Ad Review and Policy). Use list_chatgpt_accounts to check the account review status.
Image rejected
Make the image square and at least 256×256 px, in PNG or JPG, served from a public, reachable URL. Non-PNG/JPG files and unreachable URLs are rejected up front; non-square or undersized images warn and may be rejected at review.FAQ
Why do I paste a key instead of logging in?
Why do I paste a key instead of logging in?
How is ChatGPT Ads billed in Adspirer?
How is ChatGPT Ads billed in Adspirer?
Can the agent spend money without my approval?
Can the agent spend money without my approval?
resume_chatgpt_campaign. The agent always speaks in dollars (not micros), so the budget is clear before you go live, and you can pause_chatgpt_campaign at any time.What image do I need?
What image do I need?
Is my ChatGPT Ads API key secure?
Is my ChatGPT Ads API key secure?
What metrics can I see?
What metrics can I see?
get_chatgpt_performance reports impressions, clicks, spend, CTR, and CPC. get_chatgpt_insights gives a scoped, detailed view with selectable fields, filters, sort, and pagination. Once you’ve configured the client-side Pixel or the Conversions API, conversions (order_created, lead_created, subscription_created, trial_started) appear alongside those metrics.
