ChatGPT Ads UTM Parameters
Set up ChatGPT Ads UTM parameters with OpenAI's dynamic macros so AnyTrack attributes conversions from Ads Manager Beta to the right campaign, ad group, and ad.
Why UTM Parameters Matter for ChatGPT Ads
Section titled “Why UTM Parameters Matter for ChatGPT Ads”ChatGPT Ads does not have a Conversion API integration with AnyTrack. Instead, you track campaign performance with UTM parameters appended to your landing page URLs. UTM parameters embed campaign details into each URL. AnyTrack reads them to identify the campaign, ad group, and ad behind each visit and conversion. Without UTM parameters, all ChatGPT Ads traffic looks the same in your reports.
About ChatGPT Ads
Section titled “About ChatGPT Ads”OpenAI serves ads inside ChatGPT and manages them through Ads Manager Beta. The platform is in beta, and OpenAI adds measurement features over time. Before you launch new campaigns, verify the current macro list against OpenAI’s Measure Results guide.
ChatGPT Ads UTM Parameters Template
Section titled “ChatGPT Ads UTM Parameters Template”utm_source=chatgpt&utm_medium=cpc&utm_campaign={campaign_id}&utm_content={ad_group_id}&utm_term={ad_id}&utm_id={campaign_id}&adaccount_id={ad_account_id}Ads Manager Beta fills each {curly brace} macro with a real value when the ad serves.
Add the Template in Ads Manager Beta
Section titled “Add the Template in Ads Manager Beta”- In Ads Manager Beta, open the Campaigns page.
- Click the three-dot menu on the campaign and select Edit campaign.
- Enter the template in the Landing page query parameters field.
- Save your changes.
The same field exists for ad groups and ads. On the Ad Groups or Ads page, click the three-dot menu. Select Edit ad group or Edit ad.
UTM Parameter Breakdown
Section titled “UTM Parameter Breakdown”Each parameter serves a specific purpose in your attribution chain:
| Parameter | Value | What It Tells AnyTrack |
|---|---|---|
utm_source | chatgpt | The traffic source is ChatGPT Ads |
utm_medium | cpc | The visit came from a paid click |
utm_campaign | {campaign_id} | The campaign that served the ad |
utm_content | {ad_group_id} | The ad group that served the ad |
utm_term | {ad_id} | The individual ad the visitor clicked |
utm_id | {campaign_id} | The campaign ID as a standard campaign identifier |
adaccount_id | {ad_account_id} | The ad account, passed as a standalone parameter for reporting |
Supported Macros
Section titled “Supported Macros”Ads Manager Beta supports four dynamic macros. There are no other macros at this time.
| Macro | Returns |
|---|---|
{campaign_id} | The ID of the campaign |
{ad_group_id} | The ID of the ad group |
{ad_id} | The ID of the ad |
{ad_account_id} | The ID of the ad account |
The Macros Return IDs, Not Names
Section titled “The Macros Return IDs, Not Names”Each macro returns an ID. OpenAI does not offer macros for campaign, ad group, or ad names.
AnyTrack resolves platform IDs into names for Meta Ads, Google Ads, and TikTok Ads only. These are the platforms AnyTrack fetches campaign metrics from. ChatGPT Ads is not one of them, so the Campaign Report shows the raw IDs from your UTM parameters. You have two options:
- Dynamic macros (recommended). Enter the same template in every campaign. The Campaign Report shows IDs. Match an ID to a campaign in Ads Manager Beta or a CSV export. The IDs stay stable when you rename a campaign. The template never needs an edit.
- Static labels. Replace
{campaign_id}inutm_campaignwith a readable label, for exampleutm_campaign=spring-sale. The Campaign Report shows readable names. Each campaign needs its own template, and you maintain the labels yourself. Keep the dynamic macros inutm_contentandutm_termso ad group and ad attribution stays intact.
How AnyTrack Uses These Parameters
Section titled “How AnyTrack Uses These Parameters”When a visitor arrives from a ChatGPT Ads click, AnyTrack reads the UTM parameters from the URL. AnyTrack stores them alongside the click_id. When that visitor converts, AnyTrack attributes the conversion with the full campaign context.
This data flows into:
- Your Campaign Report in the AnyTrack dashboard
- Event Attributes sent to your connected ad platforms
- Custom audiences built from rules based on UTM parameters and events
About the oppref Parameter
Section titled “About the oppref Parameter”OpenAI appends a parameter named oppref to every landing page URL. oppref is OpenAI’s click reference, comparable to gclid on Google Ads or fbclid on Meta Ads. The value belongs to OpenAI’s own measurement tools. The OpenAI Pixel reads the value into a first-party cookie. OpenAI’s server-side Conversion API does not collect the value for you: OpenAI instructs you to pass the original string yourself, without modification. oppref is not one of the four macros and is not part of the UTM template. Do not add oppref to your Landing page query parameters; OpenAI appends the parameter automatically.
Common Mistakes
Section titled “Common Mistakes”Expecting names instead of IDs. The four macros return IDs. AnyTrack does not fetch campaign names from ChatGPT Ads. If you want readable campaign names in your reports, use a static label in utm_campaign. See The Macros Return IDs, Not Names.
Setting parameters at more than one level. The most specific level takes precedence: Ad URL, then Ad, then Ad Group, then Campaign. A parameter set on one ad silently overrides the campaign template for that ad. Keep the template at the campaign level unless you have a specific reason to override.
Adding oppref to the template. OpenAI appends oppref automatically. Leave the parameter out of your template.
Treating beta behavior as permanent. OpenAI changes Ads Manager Beta over time. If a parameter stops filling, verify the macro list against OpenAI’s Measure Results guide.
ChatGPT Ads UTM FAQ
FAQ was last reviewed on 2026-09-01
Does AnyTrack send conversions to ChatGPT Ads?
Why does my Campaign Report show IDs instead of campaign names?
utm_campaign, for example utm_campaign=spring-sale.At which level should I set the landing page query parameters?
Do I need to add oppref to my UTM template?
oppref to your landing page URLs automatically. The value belongs to OpenAI's own measurement tools, comparable to gclid on Google Ads. Do not add the parameter to your Landing page query parameters.