ChatGPT Ads
Attribution connects to your OpenAI Ads (ChatGPT Ads) account to import per-ad spend and automatically tag your ad URLs with UTM parameters.
Attribution integrates with OpenAI Ads (the advertising platform behind ChatGPT) to track your advertising performance and automatically import spend data.
What This Integration Does
The ChatGPT Ads integration provides:
- Channel filters - Automatic creation and syncing of your Campaigns, Ad Groups, and Ads as filters in the Attribution dashboard
- URL tagging - Automatically appends UTM parameters to each ad's destination URL so clicks are attributable
- Spend tracking - Daily imports of spend, impressions, and clicks for every ad
Prerequisites
To connect ChatGPT Ads, you need:
- An OpenAI Ads account with access to Ads Manager
- An OpenAI Ads API key (created in Ads Manager → Settings). Each key is scoped to a single ad account.
Setup Instructions
Step 1: Create an API Key
- Sign in to Ads Manager
- Go to the Settings tab
- Create an API key and copy it — you'll paste it into Attribution. The key is tied to one ad account.
Step 2: Connect Your Account
- In the Attribution dashboard, go to Integrations → Ad Platforms
- Click Connect on the ChatGPT Ads integration
- Paste your OpenAI Ads API key when prompted
- Click Connect to verify and save the connection
Step 3: Account Selection
Because an OpenAI Ads API key is scoped to a single ad account, Attribution selects that account automatically — there is no account picker. To track more than one ad account, connect a separate API key for each.
Step 4: Import and Tagging
Once connected, Attribution automatically:
- Creates a "ChatGPT Ads: ACCOUNT_NAME" channel in your dashboard
- Imports your Campaigns and Ad Groups as filter groups, and each Ad as a filter beneath its Ad Group
- Tags each ad by UTM parameters:
utm_source=chatgptutm_medium=cpcutm_campaign={{CAMPAIGN_NAME}}utm_content={{AD_ID}}
Auto-tagging
Attribution keeps your ad URLs tagged for you. For every ad, it reads the destination (target_url), merges in the UTM parameters above, and saves the updated URL back to OpenAI Ads. This runs on connect and periodically after, so newly created ads are tagged automatically. Tagging is idempotent — if an ad is already tagged correctly, it is left untouched.
Product-feed ads (catalog ads) receive their destination URLs from your product feed rather than a single editable URL, so they cannot be UTM-tagged. They are still imported as filters.
Spend Data
Attribution pulls per-ad performance daily from OpenAI Ads and stores it against the matching ad filter:
- Spend
- Impressions
- Clicks
Spend is imported using the time zone configured on your OpenAI ad account, keeping daily totals consistent with your Ads Manager reports.
Manual Parameter Adjustments
If you need to customize the UTM parameters for a specific ad:
- In your Attribution dashboard, expand the ChatGPT Ads channel
- Click the three-dot menu next to the ad you want to modify and click Edit
- Manually configure your preferred UTM parameters
Note: Editing an ad's parameters prevents Attribution from automatically updating them when the ad or campaign changes in OpenAI Ads.
Troubleshooting
"We couldn't find an OpenAI Ads account for this API key."
The key is invalid, expired, or lacks account access. Create a fresh key in Ads Manager → Settings and reconnect.
An ad's spend isn't showing up.
Confirm the ad exists under an imported Ad Group and that a day has passed so OpenAI has finalized its insights. Product-feed ads are imported but rely on feed URLs for tagging.
Traffic isn't matching the right ad.
Make sure the ad's destination URL still carries the UTM parameters Attribution set. If you edited the ad's parameters manually, Attribution no longer updates them automatically.
Best Practices
- Keep one API key per ad account, and reconnect if you rotate the key.
- Let Attribution manage the UTM parameters unless you have a specific reason to override them.
- Use a consistent time zone across your ad platforms so daily spend lines up across channels.
