News
6 min read
Updated

Now Run and Manage OpenAI Ads with PingAura

We connected OpenAI Ads — the platform behind ChatGPT Ads — to PingAura's dashboard, AI Coworker, and MCP server the day after self-serve launch. Now Coworker can read AND act.

OpenAI Ads
ChatGPT Ads
AI Advertising
Integrations
Listen
Now Run and Manage OpenAI Ads with PingAura

OpenAI opened ChatGPT Ads to self-serve buyers on May 5, 2026 (announcement), alongside a Conversions API, a JavaScript pixel, and a programmatic Advertiser API. PingAura's OpenAI Ads integration is end-to-end and ships on every plan including Free — the AI Coworker reads live performance and acts on the account (pause, activate, archive, edit, create), and the same read surface is available over our MCP server.

One API key. One dashboard. Paid ChatGPT performance next to organic AI visibility. PingAura validates the key, stores it encrypted at rest, and the Ads dashboard immediately renders live data — total spend, impressions, clicks, CTR, CPC, and CPM — in your account currency. A dedicated ChatGPT Ads Agent lives inside the AI Coworker and answers questions over your campaigns and creatives.

Why this matters

ChatGPT became a discovery surface before it became an ad platform. PingAura already maps your organic AI visibility — which models cite you, which prompts surface you, where your share-of-voice is leaking. The OpenAI Ads integration ships on every plan, including Free.

The question stopped being "are we seen on ChatGPT?" and started being "is the paid layer pulling its weight against the organic layer?"

Customers cannot answer that with two tabs open. The paid metrics need to live next to the organic ones, in one operating view. That is the wedge.

We shipped this 24 hours after OpenAI opened the Ads Manager to self-serve buyers. Beta customers are already monitoring campaigns across both layers.

Pulling raw insights into a dashboard or a generic agent flow is the table-stakes half of this problem. The harder, more durable layer is joining paid performance with the organic AI visibility data that PingAura already owns — prompts, citations, share-of-voice trends, site audits, opportunities. That is the layer this integration is the foundation for.

OpenAI Ads Dashboard in PingAura Paid ChatGPT performance alongside organic AI visibility in one PingAura dashboard.


Engineering Deep-Dive

Connector

Connect your account with an API key from ads.openai.com on the Ads page. OpenAI Ads is another provider in our existing integrations stack rather than a parallel one. The same stack already powers Google Search Console, Google Analytics 4, Cloudflare, WordPress, Slack, webhooks, PostHog, and Bing Webmaster — every connector inherits role-based access control, health monitoring, audit logging, and encrypted credential storage by default. Adding a new provider is configuration, not architecture.

Encryption and key handling

The OpenAI Ads API key is encrypted with AES-256-GCM at the application layer. Decryption happens in-process only when PingAura needs to call the OpenAI Ads API on your behalf — the plaintext never reaches the browser, never leaves the server-side request, and is never logged.

The connect action validates the user-supplied key against the OpenAI Ads account endpoint before persisting anything. A 401 surfaces as "invalid API key", a 403 as "no ad account access", and a network error as "could not reach OpenAI Ads API". On success we cache the returned currency code and timezone so the dashboard can format money values without a second round-trip.

Dashboard

The Ads page is server-rendered. On first load it resolves your workspace, looks up your active OpenAI Ads connector, and either renders the connect card or kicks off three parallel insights calls: an account-level rollup, a daily series over the last 30 days, and the top five ads ranked by spend.

  • Currency-correct rendering. All money is rendered in the ad account's currency (INR, EUR, GBP, USD), not assumed-USD. The OpenAI Ads API returns monetary fields in micros — we preserve micros internally and convert only at the rendering boundary, so we never lose precision through repeated rounding.

Those calls run in parallel with independent failure handling. A partial failure — say the rollup succeeds but the daily series times out — still gets you a populated summary card, with a soft banner noting which panel is stale. Both critical calls failing flips to an error path. If the failure is auth-shaped (401, 403, 404), we mark the connector unhealthy and surface a "reconnect" prompt. Transient failures (timeout, 429, 5xx) leave the connector healthy and show a "we'll retry" notice.

ChatGPT Ads Agent in the AI Coworker

We started by folding ads into the existing Insights Agent — visibility, citations, AI traffic, and now ads. We walked it back. Two reasons:

  1. The Insights Agent's instructions were already optimized for organic visibility. Mixing a paid-ads vocabulary into the same agent diluted both.
  2. The orchestrator routes to roles, not tools. Customers asking "how is my ad spend trending?" should see a clean ChatGPT Ads Agent working — not buried under a generic "Insights" pill.

So we created a new ChatGPT Ads Agent with nineteen tools that cover the full lifecycle:

Reads — account summary, campaign performance, top performers (by spend / clicks / impressions / CTR / CPC / CPM, over 7d/30d/90d windows).

Writes — pause, activate, archive, and edit at every level (campaign, ad group, ad), plus full creation: spin up a campaign, an ad group inside it, upload an image creative by URL, and create an ad against it — all from one chat.

Each tool returns one of four named states the agent is taught to handle: not connected, plan-locked, error, or real data — with an extra flag for "the account is connected but had no spend in the window". LLMs handle structured failure modes far better than they handle exceptions; giving the agent a finite, named set of states to dispatch on is the difference between graceful degradation and a hallucinated "I cannot help right now."

The confirmation contract

Mutations spend real money, so we did not put the gate in the prompt. The conversational UI surfaces a hard confirmation card for every write — the user sees the campaign / ad-group / ad name, the proposed change, and a confirm button. The handler does not call OpenAI until the click happens. The model cannot route around it.

Every successful write is appended to PingAura's traffic_audit_log with the user, action label, integration, and a structured diff — straight into the SOC 2 / ISO 27001 evidence pipeline we already keep for every other integration.

MCP read surface

The same read endpoints are also available over PingAura's MCP server: list-openai-ads-campaigns, get-openai-ads-campaign, list-openai-ads-ad-groups, get-openai-ads-ad-group, list-openai-ads-ads, get-openai-ads-ad, plus scoped insights at the account, campaign, ad-group, and ad level. Anyone holding a valid PingAura API key or OAuth token can pull live ChatGPT Ads data into their IDE, scripts, or any MCP-aware client without writing custom integration code. Writes stay in the AI Coworker so the confirmation card always fires.

Operational details

  • The integration is account-wide, not domain-scoped. Unlike GSC and GA4, an OpenAI Ads API key is keyed to one ad account. We store it on the team account, and every domain in the workspace shares the connector.

If you have an OpenAI Ads account, head to the Ads tab in your PingAura workspace and paste your API key. Use a write-scoped key if you want the AI Coworker to act on the account; reads work either way.

Not running ChatGPT Ads yet? Read our complete guide → /blog/chatgpt-ads-the-new-era-of-advertising

Reads + writes + MCP is phase one. Phase two unifies paid and organic into a single AI visibility score — coming next quarter.

About the author

AG

Abhay Gawade

Head of Engineering

Abhay is an Engineering Leader with 9+ years of experience building AI-native platforms and full-stack systems. At PingAura.ai, he drives the engineering behind developer tools, integrations, and infrastructure.

Join the PingAura newsletter

Get AI visibility playbooks, product updates, and optimization tips in your inbox.

No spam. Unsubscribe anytime.

Next step

Ready to optimise your AI visibility?

See how PingAura can improve your Share of Voice across ChatGPT, Perplexity, and Gemini—with tracked conversions and attribution built in.