Skip to content
GROWTH DEPT.MTA
DocsConnections: OpenAI Ads

Connections

OpenAI Ads connection

Connect OpenAI Ads accounts with one API key each to pull ChatGPT ad spend and clicks by ad, and tag campaigns so visits resolve to the ad that sent them.

What it reads

For each connected ad account, Growth Dept MTA reads spend, impressions and clicks by ad and day, with campaigns, ad groups and ads. Dates follow the ad account's time zone.

It also reads hourly spend. OpenAI's own conversions, counted after a click within 30 days or a view within one day, come in with each day's spend along with their sales value.

A pull runs about once an hour and re-reads the last 7 days, and a nightly pull re-reads the last 30. Each pull replaces the rows for its window, so days that OpenAI restates end up matching OpenAI. OpenAI keeps revising spend for 7 to 8 hours and conversions for about a day, and the 7-day re-read picks those changes up. Spend is converted to the brand's currency as it arrives, at the European Central Bank rate for each day.

Connecting

OpenAI connects with credentials you paste instead of a sign-in screen.

  1. An admin of the ad account opens OpenAI Ads Manager > Settings > General > API Keys and creates a key. OpenAI shows it once.
  2. Sign in to Growth Dept MTA as an owner or admin of the brand's organization. Other members can see Settings > Connections but cannot change it.
  3. Open Settings > Connections. On the OpenAI Ads card, paste the key into API Key, then click Connect.
  4. Growth Dept MTA checks them with one small read on OpenAI. If OpenAI accepts them, they are stored encrypted, the ad account appears on the card, and a backfill starts over the brand's lookback window (Settings > Lookback window), up to the 365 days of daily data OpenAI keeps. If the check fails, the form shows the error and nothing is saved.

Each key belongs to one ad account. For a brand with two accounts, create a key in each and paste them one at a time.

To replace the credentials, for example before a token ends, paste the new ones into the same form. The connection keeps its data and carries on with the new ones.

If you have been sending OpenAI Ads spend through the spend API or a spreadsheet, remove those rows before you connect. They carry their own account ID, so they would be counted on top of the connected account's spend. Settings > Data Spreadsheets lists each upload. Once the connection is live, the spend API and spreadsheets refuse new OpenAI Ads rows.

Tracking parameters

The UTM guide has no OpenAI Ads entry. For a visit to resolve to its campaign, ad group and ad, add this parameter to each campaign's landing-page parameters. Growth Dept MTA matches the IDs it carries to the ads it pulls.

Landing-page parameter
nbt=nb:openai:openai:{campaign_id}:{ad_group_id}:{ad_id}

Limits

  • OpenAI keeps 365 days of daily data and about 30 days of hourly data, so nothing older can be pulled.
  • There are no thumbnails and no view-through conversions.
  • Reports have platform-reported columns for Meta, Google Ads, TikTok, Snapchat, Pinterest, X, AppLovin, MNTN, The Trade Desk, Vibe, Rokt and impact.com only. OpenAI's own conversion figures come in with spend but do not fill those columns.
  • A key reaches one ad account only.
  • If OpenAI rejects the stored key, for example after it is deleted in Ads Manager, the account's row on the card shows the error until a new key is pasted into the same form.
  • Growth Dept MTA only reads from OpenAI. It does not change campaigns, budgets or ads.

Disconnecting

Each linked account has its own Disconnect button in its row on the OpenAI Ads card. Only owners and admins can use it. After you confirm:

  • Syncing for that account stops.
  • The stored API key is deleted.
  • Data already pulled stays in your reports.

Connecting the account again later starts a new backfill.

All connections · API docs · Questions: support@growthdept.ai