Zernio
APIFor you
Zernio
APIFor you
Platforms

OpenAI Ads

Overview

Build

Create a Campaign

Measure

Conversion TrackingAnalytics

Operate

Manage Ads

Reference

Limits & Errors
Dashboard
OverviewPlatformsAPI ReferenceResources
OpenAI Ads

Analytics

Read the daily impressions, clicks and spend Zernio syncs from OpenAI for a ChatGPT ad.


Call GET /v1/ads/{adId}/analytics with the ad's _id (Get ad analytics). fromDate and toDate default to the last 90 days.

Zernio syncs impressions, clicks and spend from OpenAI once a day, and derives CTR, CPC and CPM from them.

curl "https://zernio.com/api/v1/ads/66f0a1b2c3d4e5f6a7b8c9d0/analytics?fromDate=2027-01-04&toDate=2027-01-11" \
  -H "Authorization: Bearer $ZERNIO_API_KEY"

Response (200), trimmed:

{
  "ad": { "id": "66f0a1b2c3d4e5f6a7b8c9d0", "name": "Planner launch", "platform": "openai", "status": "active", "currency": "USD" },
  "analytics": {
    "summary": { "spend": 142.8, "impressions": 61200, "clicks": 940, "ctr": 1.54, "cpc": 0.15, "cpm": 2.33 },
    "daily": [ { "date": "2027-01-04", "spend": 21.4, "impressions": 9100, "clicks": 138 } ]
  }
}

Those 3 metrics are the whole sync. Every other field of the response stays 0 on OpenAI, reach included.

The demographic breakdowns parameter is Meta and TikTok only.

backfillPending: true means the history is still loading, so read it again shortly.

GET /v1/ads/tree rolls the same metrics up per campaign and ad group.

Was this page helpful?

Conversion Tracking

Create an OpenAI pixel with its Conversions API key, manage its conversion events, install it on a site and send server-side events.

Manage Ads

Change the status and budget of an OpenAI ad, create a campaign on its own, and read the status fields OpenAI keeps at each level.