In This Article
- 1. Why Getting Tracking Right Early Matters
- 2. UTM Parameters: The GA4 Attribution Foundation
- 3. Why GTM Is the Right Setup Path
- 4. The GTM Community Template That Does the Heavy Lifting
- 5. Save Your Advertiser ID as a GTM Constant
- 6. Setting Up the Page View Tag
- 7. Setting Up Conversion Events
- 8. Macro Conversions vs. Micro Conversions — Which to Track
- 9. The Phone Call Gap: CallRail and the Offline Conversion Workaround
- 10. Next Steps and What to Watch
Why Getting Tracking Right Early Matters
ChatGPT Ads is at the same stage Google Ads was in 2003 — and the advertisers who got their measurement sorted early on Google were the ones who scaled efficiently while everyone else was guessing. The platform is new, CPCs are low, and competition is thin. But none of that matters if you can't close the loop between a click and a conversion.
OpenAI has now released native conversion tracking, and the good news is that it works in a way that should feel familiar to anyone who's configured Google Ads or Meta conversions before. The mechanics are different under the hood, but the principles are the same: you fire a pixel on conversion events, you attribute those conversions back to the click, and you use that data to optimise your bids and budget allocation.
The other piece of good news: you don't need a developer to set this up. If you have Google Tag Manager on your site already — and you should — you can do the entire configuration from the GTM interface and be live before lunch.
UTM Parameters: The GA4 Attribution Foundation
Before you touch any pixel or tag, you need your UTM parameters configured in the ChatGPT Ads platform. This is the layer that makes your GA4 data trustworthy — it's how you'll see ChatGPT Ads traffic clearly segmented in your acquisition reports rather than lumped into "Direct" or "Referral."
ChatGPT Ads supports UTM parameters on your destination URLs, and you should be using all five:
https://yoursite.com/landing-page?utm_source=chatgpt&utm_medium=cpc&utm_campaign=service-name&utm_content=ad-variant&utm_term={keyword}
A few naming conventions to keep consistent across your account:
- utm_source: Use
chatgpt— lowercase, no spaces. This is what will appear in your GA4 source dimension. - utm_medium: Use
cpc— this keeps it consistent with Google Ads and lets you compare paid search channels cleanly in GA4. - utm_campaign: Match your campaign name in the ChatGPT Ads platform so you can correlate GA4 sessions with ad platform spend.
- utm_content: Use this to distinguish ad variants or creative formats — useful once you're running more than one ad per campaign.
Once this is in place, every session from a ChatGPT Ad will land in GA4 with Source: chatgpt / Medium: cpc. You'll be able to see sessions, engagement rate, conversions, and revenue segmented by campaign before you've even configured the ChatGPT pixel. The UTM layer is your safety net — it means your attribution doesn't depend entirely on the pixel working correctly.
Important: Don't wait to set UTMs
Even if you haven't configured conversion tracking in the ChatGPT Ads platform yet, get UTMs on your destination URLs on day one. You'll thank yourself when you're looking back at early campaign performance and everything is cleanly attributed rather than a mystery lump in Direct traffic.
Why GTM Is the Right Setup Path
There are two ways to install any conversion tracking pixel: you can add it directly to your website's HTML, or you can deploy it through Google Tag Manager. For ChatGPT Ads — and really for any platform pixel — GTM is the right call for several reasons.
No code on your website
Once GTM is installed, every new tag, trigger, and pixel gets deployed through the GTM interface. Your development team — or your freelancer — never needs to touch the site again for tracking changes.
Everything in one place
Your Google Ads tags, GA4 config, Facebook Pixel, Microsoft Clarity, and now your ChatGPT Ads pixel all live in one container. One audit, one place to debug, one version history.
Lower deployment risk
GTM has a preview and debug mode that lets you validate every tag fires correctly before you publish. If something breaks, rolling back is a single click — no git reverting, no FTP uploads.
Shared variables and triggers
Triggers you've already built — thank-you page URL, form submission event, phone click — can be reused directly for your ChatGPT conversion tags without rebuilding them from scratch.
The only argument for a direct pixel installation is if your site doesn't have GTM yet. In that case the setup time is roughly the same either way — but since you should have GTM anyway, that argument never really holds.
The GTM Community Template That Does the Heavy Lifting
GTM has a Template Gallery (called Community Templates in some older UI versions) where third-party developers publish reusable tag templates for platforms that don't have an official GTM integration. OpenAI's ChatGPT Ads pixel already has one — and it handles the pixel initialisation and event firing without you needing to write any custom JavaScript.
To find and install it:
- In GTM, go to Tags → New → Tag Configuration
- Click Discover more tag types in the Community Template Gallery
- Search for "ChatGPT" or "OpenAI"
- Find the ChatGPT Ads conversion tag — it should be clearly named and authored by a recognised contributor
- Click Add to workspace and accept the permissions it requests (it needs to inject a script into the page)
Once installed, the template appears as an available tag type when you create new tags. You'll see fields for your Advertiser ID and the event type — the template handles the pixel script loading and event call format for you.
Check the template before installing
Community Templates are third-party code. GTM shows you the template's source before you add it — take 60 seconds to review what it's doing. A legitimate ChatGPT pixel template should load a script from OpenAI's CDN and call a conversion function. If you see anything loading external scripts from unrelated domains, skip it and look for an alternative.
Save Your Advertiser ID as a GTM Constant
Your ChatGPT Ads Advertiser ID is the identifier that ties every event fired from your website back to your ad account. You'll use it in every tag you create — the page view tag, each conversion event tag, and any future event tags you add later.
The wrong way to handle this is to copy-paste the ID into each tag individually. If it ever changes, or if you spot a typo, you'll need to update every tag one by one.
The right way is to save it as a GTM Constant variable, and then reference that variable in every tag. Here's how:
- In GTM, go to Variables → New (User-Defined Variables)
- Choose variable type: Constant
- Name it something obvious —
ChatGPT Ads - Advertiser ID - Paste your Advertiser ID as the value
- Save
Now when you configure each tag, you select {{ChatGPT Ads - Advertiser ID}} from the variable picker rather than typing the ID. One place to update if anything ever changes, and no risk of a typo causing silent tracking failure.
Where to find your Advertiser ID
Log into your ChatGPT Ads account (ads.openai.com), navigate to your account settings or the conversion tracking setup section. The Advertiser ID is typically displayed on the pixel setup page alongside the base code snippet. It's the ID you'd use if you were installing the pixel manually.
Setting Up the Page View Tag
The page view tag is your pixel initialisation — it loads the ChatGPT Ads script on every page and tells the platform that a session has started. This must fire before any conversion events, so it gets set up first.
- Create a new tag in GTM and select the ChatGPT Ads community template
- Set the Advertiser ID field to
{{ChatGPT Ads - Advertiser ID}} - Set the Event Type to
Page View(or equivalent — the template may label it differently) - Set the trigger to All Pages
- Name the tag clearly:
ChatGPT Ads - Page View - Save
Use GTM's Preview mode to verify the tag fires on page load before publishing. Open the Tag Assistant in a separate browser tab, navigate to your site, and confirm the ChatGPT Ads Page View tag shows as "Fired" in the summary panel.
Setting Up Conversion Events
Conversion tags follow the same pattern as the page view tag, but with a specific event type and a more targeted trigger. For each conversion you want to track, you create one tag.
A typical conversion tag setup looks like this:
- Create a new tag, select the ChatGPT Ads template
- Set the Advertiser ID to
{{ChatGPT Ads - Advertiser ID}} - Set the Event Type to the relevant conversion event (e.g.
Purchase,Lead, or a custom event name) - Set the Trigger to fire on your conversion condition — typically a thank-you page URL or a custom event pushed to the dataLayer by your form
- Name the tag:
ChatGPT Ads - [Conversion Name] - Save
If you already have conversion triggers built for Google Ads — a thank-you page trigger, a form submit event, a booking confirmation URL — those same triggers work here. No rebuilding required.
Passing conversion value
If your conversion has a monetary value — an e-commerce purchase, a booked service with a known average order value — pass it in the conversion event if the template supports it. Even a rough average value is better than nothing: it's what the platform uses to calculate ROAS and inform bid optimisation over time.
Macro Conversions vs. Micro Conversions — Which to Track
This is worth addressing directly because it's a common mistake on newer platforms where people are eager to see something in the conversion column and end up tracking everything.
Micro Conversions — Not Recommended for Bidding
- Newsletter sign-up
- Whitepaper download
- Scroll depth (50%, 75%)
- Video play
- Blog post read
- Time on site > 2 minutes
High volume, low signal. They feel good to see in your dashboard but give the bidding algorithm the wrong target — it will optimise for newsletter sign-ups, not paying customers.
Macro Conversions — These Are Your Targets
- Purchase / checkout complete
- Contact form submitted
- Booking confirmed (e.g. TidyCal, Calendly)
- Phone call (click-to-call)
- Quote requested
- Free trial started
Low volume, high signal. These represent real business outcomes. Even if you only get a few per week, they're the right data for the algorithm to learn from.
The practical guideline: if it doesn't have a meaningful chance of turning into revenue, don't configure it as a primary conversion in the ChatGPT Ads platform. You can track micro conversions in GA4 for your own analysis — but keep your ad platform conversion column clean and reserved for actions that matter to the business.
The reason this matters more on a newer platform than on Google Ads is that the algorithm has less historical data to work with. Every conversion signal you send has a higher weighting on what the system learns. Polluting it with newsletter sign-ups early will train the system in the wrong direction at the worst possible time.
The Phone Call Gap: CallRail and the Offline Conversion Workaround
Here's the one obvious gap in the current ChatGPT Ads tracking ecosystem: there's no native CallRail integration.
For businesses where phone calls are a primary conversion — law firms, home services, medical practices — this is a real problem. CallRail has built direct integrations with Google Ads and Meta that push call conversion events back to the ad platform automatically. As of now, that connection doesn't exist for ChatGPT Ads. CallRail presumably knows it needs to build one, but the platform is new enough that it hasn't happened yet.
In the meantime, the most viable workaround is an offline conversion upload approach using the CallRail API:
- Pull call data from CallRail via API — CallRail's API gives you caller details, call duration, call outcome, and the UTM parameters from the session that placed the call
- Filter for ChatGPT Ads sessions — calls where
utm_source = chatgptare the ones you want - Upload those conversions to ChatGPT Ads — once OpenAI provides an offline conversion upload endpoint (which Google Ads and Meta both have), you match the call back to the original click and send it as a completed conversion
This depends on OpenAI releasing an offline upload API
The UTM layer means you can already identify which calls came from ChatGPT Ads in GA4 and in CallRail. The missing piece is the ability to push that conversion data back into the ChatGPT Ads platform post-call. Google Ads has had this for years. OpenAI will almost certainly build it — but for now, phone calls are the one conversion type you can't close the loop on natively.
For businesses that are heavily call-dependent, the pragmatic answer right now is to track what you can (form submissions, bookings, purchases) and monitor GA4 for call-attributed sessions via UTMs while you wait for the ecosystem to catch up.
We'll be watching for a CallRail-to-ChatGPT Ads connection to appear — and if it doesn't come natively, we'll likely build the API pipeline ourselves. It's technically straightforward once the upload endpoint exists.
Next Steps and What to Watch
Getting conversion tracking live on ChatGPT Ads right now puts you in a much stronger position than the majority of advertisers on the platform. Most accounts running ChatGPT Ads today either have no conversion tracking configured, or are only looking at UTM data in GA4 without feeding signals back to the ad platform. Both of those mean the algorithm is flying blind.
Setup checklist
-
UTM parameters on all destination URLs (
utm_source=chatgpt&utm_medium=cpc) - Community template installed in GTM
- Advertiser ID saved as a GTM Constant variable
- Page View tag live on All Pages trigger
- Macro conversion events configured (form / booking / purchase)
- All tags validated in GTM Preview mode before publishing
- Phone call conversion via CallRail API → offline upload (pending OpenAI API support)
The platform will mature quickly. Expect bid strategies, smarter audience targeting, and expanded conversion options over the next 12 months. The advertisers who have clean historical conversion data from day one will have a structural advantage when automated bidding starts to work well — that data is what trains the system, and you can't go back and collect it retroactively.
If you're already running ChatGPT Ads and want to get tracking set up properly — or if you're evaluating the platform and want to know what you're looking at before committing budget — get in touch. We're already running live campaigns and the conversion tracking is the first thing we sort out before spending a dollar.
Running ChatGPT Ads without conversion tracking?
We can have your GTM setup, UTM attribution, and macro conversion events live in a single session. No developer handoffs, no waiting.
Brendan Andrew Chase
Founder, Extra Large Marketing Digital
Google Ads and marketing automation specialist with 9+ years managing paid campaigns. Currently running live ChatGPT Ads campaigns across multiple client accounts — conversion tracking and UTM attribution sorted from day one.