Skip to content

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.

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.

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.

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.

  1. In Ads Manager Beta, open the Campaigns page.
  2. Click the three-dot menu on the campaign and select Edit campaign.
  3. Enter the template in the Landing page query parameters field.
  4. 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.

Each parameter serves a specific purpose in your attribution chain:

ParameterValueWhat It Tells AnyTrack
utm_sourcechatgptThe traffic source is ChatGPT Ads
utm_mediumcpcThe 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

Ads Manager Beta supports four dynamic macros. There are no other macros at this time.

MacroReturns
{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

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} in utm_campaign with a readable label, for example utm_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 in utm_content and utm_term so ad group and ad attribution stays intact.

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

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.

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?
No. ChatGPT Ads is not an Ad Network integration in AnyTrack, so AnyTrack does not send conversions to it. AnyTrack tracks ChatGPT Ads traffic through UTM parameters. The conversions appear in your Campaign Report. To report conversions inside Ads Manager Beta, use OpenAI's own Pixel or Conversion API.
Why does my Campaign Report show IDs instead of campaign names?
The ChatGPT Ads macros return IDs, and OpenAI does not offer macros for names. AnyTrack resolves IDs into names for Meta Ads, Google Ads, and TikTok Ads only. ChatGPT Ads rows show the raw IDs. For readable names, enter a static label in utm_campaign, for example utm_campaign=spring-sale.
At which level should I set the landing page query parameters?
Set the template at the campaign level. Ads Manager Beta applies the most specific setting: Ad URL, then Ad, then Ad Group, then Campaign. A template on one ad group or ad overrides the campaign template. Keep the other levels empty unless you need a deliberate override.
Do I need to add oppref to my UTM template?
No. OpenAI appends 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.