How to track a ChatGPT Ads campaign?

How to track a ChatGPT Ads campaign?

ChatGPT Ads is OpenAI's advertising platform: it lets advertisers display sponsored ads to ChatGPT users.
ChatGPT Ads campaigns can be tracked in two marketing channels, depending on how you want to analyse them in Eulerian:
  • Display: uses the Display tracking format (ead- parameters). Your campaigns, ad groups and ads are trafficked on the Campaign, Location and Creative dimensions.
  • SEA (Sponsored Links): uses the SEA tracking format (esl-k parameter), like your Google Ads and Microsoft Advertising campaigns.
Use the same format in your tracking links and in the ChatGPT Ads spend connector, otherwise spend cannot be matched with your traffic.

Display format

Here is the format to use for tracking clicks:
LANDING_PAGE_URL?ead-publisher=chatgpt-ads&ead-name=chatgpt-ads-{campaign_id}&ead-location=chatgpt-ads-{ad_group_id}&ead-creative=chatgpt-ads-{ad_id}&ead-creativetype=1x1&eseg-name=$SEGMENT_NAME&eseg-item=$SEGMENT_ITEM
The following macros are dynamic and are filled in by ChatGPT Ads when the user clicks:
{campaign_id} = ID of the ChatGPT Ads campaign
{ad_group_id} = ID of the ad group
{ad_id} = ID of the ad
  • Important 1: LANDING_PAGE_URL must be replaced by the URL of your landing page (http:// or https://).
  • Important 2: chatgpt-ads is the publisher name. If you use another publisher name, use the same one in the ChatGPT Ads spend connector, and keep "chatgpt" or "openai" in it: the CAPI connector uses it to send the OpenAI click reference.
  • Important 3: eseg-name and eseg-item are optional. Replace $SEGMENT_NAME and $SEGMENT_ITEM with the name and value of the incoming segment you want to fill, or remove both parameters.
Redirect tracking
If the Eulerian JavaScript tag is not present on your landing page (server-side integration), use redirect tracking: the click first goes through the Eulerian server before being redirected to your landing page.
https://$TRACKING_SUBDOMAIN/dynclick/$SITE_NAME/?ead-publisher=chatgpt-ads&ead-name=chatgpt-ads-{campaign_id}&ead-location=chatgpt-ads-{ad_group_id}&ead-creative=chatgpt-ads-{ad_id}&ead-creativetype=1x1&eseg-name=$SEGMENT_NAME&eseg-item=$SEGMENT_ITEM&eurl=LANDING_PAGE_URL
  • Important 1: replace $TRACKING_SUBDOMAIN with your first-party tracking subdomain (Path: Collection → Tracking domain → Main domain).
  • Important 2: replace $SITE_NAME with the name of your Eulerian property.
  • Important 3: eurl contains the URL of your landing page and must always be the last parameter.

SEA format

Here is the format to use for tracking clicks:
LANDING_PAGE_URL?esl-k=chatgpt-ads|n|c{ad_id}|m|kepc-{campaign_id}-{ad_group_id}-{ad_id}|p|t|d|a{ad_group_id}|g{campaign_id}&eseg-name=$SEGMENT_NAME&eseg-item=$SEGMENT_ITEM
Description of the esl-k parameter:
  • esl-k=chatgpt-ads|: publisher name, as declared in your Eulerian platform. If you use another publisher name, use the same one in the ChatGPT Ads spend connector, and keep "chatgpt" or "openai" in it: the CAPI connector uses it to send the OpenAI click reference.
  • n|: network, left empty.
  • c{ad_id}|: ID of the ad at the origin of the click.
  • m|: match type, left empty.
  • kepc-{campaign_id}-{ad_group_id}-{ad_id}|: keyword field, filled with a key built from the campaign, ad group and ad IDs.
  • p|, t|, d|: placement, target and device, left empty.
  • a{ad_group_id}|: ID of the ad group at the origin of the click.
  • g{campaign_id}: ID of the campaign at the origin of the click.
  • Important 1: LANDING_PAGE_URL must be replaced by the URL of your landing page.
  • Important 2: eseg-name and eseg-item are optional. Replace $SEGMENT_NAME and $SEGMENT_ITEM with the name and value of the incoming segment you want to fill, or remove both parameters.
If you encapsulate the Eulerian tracking link within the tracking of another platform, make sure that the | separators and the { } macro markers are not encoded.


See also
  •  How do I sync my ChatGPT Ads spend with Eulerian? 
  •  Tracking advertising campaigns