OpenAI measures ChatGPT Ads conversions with its own Measurement Pixel (browser), a Conversions API (server), or both. Purchases go in as the standard event `order_created`, with the amount in minor units: `8900` means $89.00.
- Shopify stores have an official route: OpenAI's ChatGPT Ads app for Shopify syncs your catalog and connects an OpenAI Pixel for Shopify that sends commerce events to Ads Manager. OpenAI says it's available to all US Shopify merchants, with other ad markets to follow.
- Every ad click carries an OpenAI click reference, `oppref`, appended to your landing URL. The Pixel stores it in a first-party cookie; server-side events only get attributed well if you capture and pass it yourself.
- Ads Manager reports on a 7-, 14- or 30-day click window plus an optional 1-day view-through window, last touch, and can include modeled conversions. Allow 24–48 hours. A gap with GA4 or Shopify is expected, not proof of an error.
- Add UTMs (or Ads Manager's landing page query parameters) to every ad. Without them, a paid ChatGPT click can look like an organic ChatGPT referral, and your AI-assistant reporting quietly absorbs your ad spend.
Short answer: to track ChatGPT Ads conversions on a Shopify store, connect OpenAI's ChatGPT Ads app for Shopify, which links your catalog and an OpenAI Pixel to Ads Manager, or install OpenAI's Measurement Pixel and Conversions API yourself and send a standard order_created event for every purchase. Attach that event to your campaigns before traffic starts, keep the oppref click reference intact through redirects, and tag every ad URL with UTMs so your own analytics can tell paid ChatGPT clicks apart from organic ones.
This guide covers measurement only. For what ChatGPT Ads are, who sees them, formats, bidding and budgets, start with our ChatGPT Ads for ecommerce guide. Every platform rule below comes from OpenAI, Shopify and Google documentation opened on October 22, 2026 and listed under Sources. ChatGPT Ads is a beta and these pages change often.
- OpenAI Measurement Pixel
- OpenAI's browser SDK for ChatGPT Ads. You install a script, initialize it with a Pixel ID created in the Conversions section of Ads Manager, and call
oaiq("measure", ...)when a conversion happens, such asorder_createdfor a purchase.
- Conversions API (CAPI)
- OpenAI's server-to-server endpoint for ChatGPT Ads conversion events. Your backend posts confirmed events, such as a paid order, with a Pixel ID and a separate Conversions API key. OpenAI calls it a more reliable tracking source than the Pixel alone.
- oppref
- The OpenAI click reference appended to the end of a ChatGPT ad's landing page URL (for example
?oppref=gAAAAAb123). The Pixel captures it and stores it in a first-party__opprefcookie for 30 days; server events should pass the original value unchanged.
What does OpenAI give you to measure ChatGPT ads?
OpenAI's stack is conventional: a browser pixel, a server API, an image tag, URL parameters and partner integrations. Tracking has three parts: a data source that receives events, a conversion event setting that says which event counts, and the campaign it's attached to.
| Method | Where it runs | What it's for | Fit for a Shopify store |
|---|---|---|---|
| ChatGPT Ads app for Shopify | Shopify admin, with an OpenAI Pixel for Shopify | Catalog sync, commerce events and campaign creation from Shopify | The default route; OpenAI says it's live for US Shopify merchants |
| Measurement Pixel | Shopper's browser | Browser events; captures oppref and can hash form data automatically | Theme pages directly; checkout only through Shopify's pixel system |
| Conversions API | Your server | Confirmed orders, retries, server-side matching | Needs custom development or a partner tool |
| Image tag | A 1×1 image on a page | Page-load events where JavaScript can't run | Rarely needed; no user data, no automatic oppref |
| Landing page query parameters | Ads Manager campaign, ad group or ad | UTMs and macros for GA4, Shopify and other tools | Use on every ad, whatever else you install |
| GA4 connection (beta) | Ads Manager → Conversions → Data Sources | Imports aggregate GA4 data for comparison and, where eligible, optimization | Ask your OpenAI account manager for access |
OpenAI's help center also lists measurement partners (Northbeam, Rockerbox, Triple Whale, WorkMagic, Fospha, Hightouch, LiveRamp, INCRMNTAL) and two implementation tools, Stape and Datahash. Capabilities vary by partner.
What's the easiest way to track ChatGPT ads conversions on Shopify?
Use OpenAI's own app. OpenAI's Shopify setup article describes the ChatGPT Ads app as connecting your product catalog and commerce-event data to Ads Manager. The Shopify App Store lists OpenAI as the developer. OpenAI says the integration is available to all Shopify customers in the US now and will reach the other ChatGPT Ads markets "shortly", without a date.
- 01
Install the app and connect an account
In Shopify, install or open the ChatGPT Ads app and select Connect Account. Pick an existing Ads Manager account, or create one with your organization, website, industry, country, currency and time zone.
- 02
Select or create the OpenAI Pixel for Shopify
Connect the Pixel so eligible Shopify commerce events flow to Ads Manager. This is the step that makes conversion tracking work; catalog sync alone doesn't.
- 03
Wait for the catalog sync
Your products sync into a ChatGPT Ads product feed. OpenAI says sync time depends on catalog size and system conditions.
- 04
Create a campaign with an optimization event
From the app, choose Create Campaign, then set a name, budget, optimization event and targeting, pick an ad type (all products, single product or website) and launch. Ads Manager itself offers more settings than the app.
- 05
Check results in both places
OpenAI says overall performance sits in the app's Analytics tab, and campaign detail in Ads Manager.
OpenAI tells Shopify merchants to check the app's connection before adding another integration, and to check whether custom tags, checkout code or a server sender already send the same events. Two sources firing order_created without a shared event ID can count one sale twice.
OpenAI doesn't list which Shopify events the app sends, so place a test order after install and confirm the purchase reaches Ads Manager.
How do you set up ChatGPT ads tracking on Shopify without the app?
Outside the US for now, or need more control? Wire the Pixel and the Conversions API yourself, inside Shopify's pixel manager, which is Shopify's documented way to run tracking code on checkout and the Thank you page.
- Browser side: a Shopify custom pixel. Custom pixels run in a sandbox under Customer events. Subscribe to
checkout_completed, which fires once per checkout (usually on the Thank you page, or the first upsell page) and carries the order ID, and map it toorder_created. - Server side: the Conversions API. Shopify notes that if the page where
checkout_completedshould fire fails to load, the event isn't sent. A server event from the paid order closes that gap. Use the order ID as both the Pixel'sevent_idand the API'sidso OpenAI keeps one copy. - Carry `oppref` to the server. The API doesn't capture it for you. Your integration has to keep the value from the landing page and attach it to the order: custom work on Shopify, or a job for a partner tool.
Shopify says sandboxed pixels can't scrape forms for emails or phone numbers, and that URLs detected in the custom-pixel sandbox aren't exactly the main window's URL. OpenAI's Pixel reads oppref from the landing URL and can match on form data. Neither company documents how the OpenAI Pixel behaves inside a Shopify custom pixel, so turn on debug: true and test a real click-to-order path.
- 01
Create a data source and Pixel ID
In Ads Manager, open the conversions tab and create a Pixel ID. A server-only setup still needs one. For the Conversions API, also create a Conversions API key there and keep it on your server.
- 02
Send the purchase as `order_created`
Use the
contentsdata shape withamountandcurrency, pluscontents[]items if you want product detail. Amounts are integers in the currency's minor unit. Send the order ID as the event ID. - 03
Create a conversion event setting
Tell Ads Manager that
order_createdfrom this data source counts as a purchase conversion. Sending an event and creating a setting are separate steps. - 04
Attach it to campaigns before traffic starts
OpenAI says goal reporting applies from attachment forward, and events from a mismatched setup won't backfill. A conversion-optimized campaign's event can't be changed after creation.
- 05
Verify end to end
Click a live ad, buy, and confirm the request in the browser's network panel, then in Ads Manager.
How should the purchase event be formatted?
Most broken ChatGPT Ads revenue numbers trace back to four formatting rules in OpenAI's supported events reference. They apply to the Pixel, the image tag and the Conversions API alike.
- Minor units, as integers.
12999withcurrency: "USD"means $129.99. Shopify's pixel events give prices as decimal amounts, so a $89.00 order becomes8900. Currencies without decimals, such as JPY, aren't multiplied: OpenAI's example is8900for JPY 8,900. - Event amount vs item amount. The event-level
amountis the whole order.contents[].amountis the price of one unit, withquantitysent separately. - One definition of order value. OpenAI's troubleshooting guide tells you to compare tax, shipping, discounts and fees when revenue disagrees, and to send the same value from browser and server. Pick one: total paid, or subtotal. Write it down.
- Timely, honest timestamps. Conversions API events must be dated within the last 7 days and no more than 10 minutes in the future. OpenAI's event-quality check flags server events received more than an hour after the action. Never rewrite a timestamp to get an event accepted.
For better matching, both the Pixel and the API accept SHA-256-hashed email, phone, external ID and names, plus plain location fields; the API also takes the shopper's IP address, user agent and the Pixel's __obref browser reference. Send only what your consent setup allows. Shopify custom pixels require Marketing and Analytics permission by default where consent is required.
How does ChatGPT Ads attribute a sale?
Ads Manager counts a conversion when an event matches the campaign's configured conversion event, falls inside the window, and can be tied to an ad interaction through oppref, advanced matching or, where available, modeled measurement. OpenAI calls the logic last touch, not multi-touch.
| Setting | Options | Default | What it changes |
|---|---|---|---|
| Click-through window | 7, 14 or 30 days | 30 days | Conversions, sales, CPA, ROAS, post-click conversion rate |
| View-through window | 0 days (off) or 1 day | 1 day | Whether view-through conversions join the Conversions total |
| Time basis | Ad event time or conversion time | Ad event time | Which date a conversion is reported on |
| Click vs view | If both qualify, the click wins | Always on | No double credit within ChatGPT Ads |
| Billing and bidding | Unaffected by reporting windows | Click- or impression-based | Reporting choices never change what you pay |
Three details catch people out. Order Created Sales and Order Created ROAS come only from attributed order_created events, so a purchase sent as a custom event earns no revenue column. Totals may include modeled conversions. And conversions take 24–48 hours to appear, longer than spend (about 7–8 hours).
OpenAI's Measurement Pixel page says view-through conversions sit outside the Conversions total. Its Measure Results help article and Reporting docs say the total includes them when the view window is 1 day. Before you compare numbers, hover over the Conversions column for the click and view split, or set the view window to 0 days for click-only totals.
How do ChatGPT ad clicks show up in GA4 and Shopify?
That depends on the URL. OpenAI says static tracking parameters such as UTMs persist on ad clicks. Ads Manager also has a Landing page query parameters field on campaigns, ad groups and ads, with macros such as {campaign_id}, {ad_group_id} and {ad_id}. The most specific level wins: ad URL, then ad, then ad group, then campaign.
Without UTMs, GA4 sorts the visit by its referrer, and OpenAI doesn't document what referrer an ad click carries. If it's a ChatGPT domain, GA4's AI Assistant channel, or a custom AI channel built on a source regex, would count a paid click as AI-assistant traffic. With a paid medium such as cpc, GA4's default rules usually put the session in Paid Other, or in Paid Search if your source value is on Google's list of search sites.
Our GA4 AI Assistant channel guide uses one regex on Session source for every AI assistant. It matches anything containing "chatgpt" or "openai". If your ads use utm_source=chatgpt, those paid sessions match it too. In your custom channel group, add a ChatGPT Ads channel (for example, Medium exactly matches cpc and Campaign name matches your naming) and drag it above the AI channel. GA4 puts each session in the first channel it matches.
- Crawler visits aren't clicks. OpenAI's ad-review crawlers may load your landing pages with the tracking parameters attached. OpenAI says analytics tools may label them paid traffic, but they aren't billed.
- Checking a link in the iOS app. OpenAI notes that ChatGPT's iOS in-app browser shows only the hostname; use Share to copy the full URL and check its parameters.
Ads Manager's GA4 connection (beta) imports aggregate data from one property, including source/medium, key events and purchase revenue, for attribution comparisons. OpenAI is explicit that those imported totals cover all traffic sources and aren't campaign conversions or ROAS.
Why don't Ads Manager, GA4 and Shopify agree?
Because each one answers a different question. OpenAI's own list of reasons: different attribution methods and windows, time zones and date boundaries, consent and browser storage, deduplication, campaign configuration, and modeled conversions. Its help center adds that a difference "does not necessarily indicate an error".
| Tool | What it counts | Attribution | Use it for |
|---|---|---|---|
| ChatGPT Ads Manager | Conversions credited to a ChatGPT ad click or view | Last touch, 7/14/30-day click, optional 1-day view, may include modeled | Bids, budgets, creative and product decisions inside ChatGPT Ads |
| GA4 | Sessions and purchases by the session's source and medium | Your report's channel rules; the session's own source | Comparing ChatGPT Ads with every other channel on one set of rules |
| Shopify | Every order, whatever the source | Not needed for the total; the order list is the record | The revenue that actually reached your bank |
OpenAI's own example: someone clicks an ad, returns later directly, and buys. GA4 may call that sale Direct while Ads Manager credits the ad. Neither is wrong. Compare the same date range, time zone and windows. How this fits a wider attribution plan is covered in our AI traffic attribution guide.
What should you check in the first two weeks?
- 01One source of `order_created`, or shared event IDs across sources.
- 02Conversion attached before launch, matching the exact event name you send.
- 03`oppref` survives redirects on a real ad click.
- 04Amounts in minor units: a $40 order reads 4000.
- 05UTMs on every ad, and a paid channel above your AI channel in GA4. Otherwise your ChatGPT traffic report mixes paid and organic.
- 06Event quality reviewed after a week. OpenAI's score covers seven complete days and flags missing click information, late server events and duplicates.
Judge the first month on Shopify orders you can tie to the campaign's UTMs, with Ads Manager's conversions as the second opinion. Ads Manager steers delivery inside ChatGPT; your order list is what your accountant uses. A reporting habit, not a benchmark: OpenAI says it has none yet.
Once tracking works, the monthly AI revenue report shows how to read it each month. If you'd rather have the measurement and the product data that feeds ChatGPT set up together, that's part of our Agentic Commerce Setup work for Shopify stores.
FAQ
Does ChatGPT Ads have a conversion pixel?
- Yes. OpenAI's Measurement Pixel is a JavaScript SDK you initialize with a Pixel ID from the conversions tab in Ads Manager, then call oaiq("measure", "order_created", ...) when a purchase completes. OpenAI also offers a server-side Conversions API and an image tag, and suggests using the Pixel and API together with one event ID per order.
Is there a ChatGPT Ads app for Shopify?
- Yes. OpenAI publishes a ChatGPT Ads app on the Shopify App Store. It syncs your product catalog to a ChatGPT Ads product feed, connects an OpenAI Pixel for Shopify so commerce events reach Ads Manager, and lets you create campaigns from Shopify. OpenAI says it's available to all US Shopify customers now, with other ad markets to follow.
Do ChatGPT ads add UTM parameters automatically?
- OpenAI appends its own click reference, oppref, to landing URLs, but UTMs are yours to add. You can put them on each ad's URL or use Ads Manager's Landing page query parameters, which support macros such as {campaign_id}, {ad_group_id} and {ad_id}. OpenAI says static tracking parameters persist on ad clicks.
What attribution window do ChatGPT ads use?
- Ads Manager reporting defaults to a 30-day click-through window and a 1-day view-through window, measured by the time of the ad interaction. You can choose 7, 14 or 30 days for clicks and 0 or 1 day for views. When a click and a view both qualify, the click gets credit. Changing windows affects reporting only, not bidding or billing.
Why does Ads Manager show more conversions than GA4?
- Ads Manager credits ChatGPT ad clicks and views within its windows, can include view-through and modeled conversions, and dates them by ad interaction by default. GA4 credits each session to its own source, so a shopper who clicks an ad and later returns directly shows as Direct in GA4. OpenAI says a difference isn't necessarily an error.
Do I need the Conversions API if the Pixel is installed?
- Not to start, but OpenAI calls the Conversions API more reliable than the Pixel alone. On Shopify, the browser purchase event doesn't fire if the Thank you or upsell page fails to load, and consent choices or blockers can stop it. A server event for the paid order fills those gaps, ideally carrying oppref.
Will ChatGPT ad clicks show as AI Assistant traffic in GA4?
- They can if the click arrives without UTMs and GA4 recognizes the referrer as an AI assistant; OpenAI doesn't document that referrer. Tag every ad with a paid medium such as cpc, and in a custom channel group put a ChatGPT Ads channel above your AI channel, because GA4 uses the first channel that matches.
How long do ChatGPT Ads conversions take to appear?
- OpenAI says attributed conversions can take 24–48 hours to show in Ads Manager, and recent totals can change while events are processed. Impressions, clicks and CTR refresh about every 15 minutes; spend lags about 7–8 hours. Wait at least a full day before judging a test, and compare full days.
Sources
- 1.Measurement Pixel · OpenAI DevelopersPixel install, consent, oppref capture, __oppref/__obref cookies, event_id deduplication
- 2.Conversions API · OpenAI DevelopersServer events, 7-day timestamp limit, oppref not captured automatically, user data and hashing
- 3.Supported Events · OpenAI Developersorder_created, contents data shape, amounts as integers in minor units
- 4.Conversion Tracking · OpenAI DevelopersData sources, conversion event settings, attaching events to campaigns
- 5.Reporting · OpenAI DevelopersAttribution windows, view-through, Order Created Sales and ROAS, data freshness
- 6.Conversion-Optimized Campaigns · OpenAI DevelopersConversions API more reliable than the Pixel alone; event can't change after creation
- 7.Image Tag · OpenAI DevelopersNo-JavaScript conversion tag and its limits
- 8.Set up ChatGPT Ads for Shopify · OpenAI Help CenterShopify app, OpenAI Pixel for Shopify, US availability, setup steps
- 9.Conversion Measurement · OpenAI Help CenterHow conversions are matched, oppref format, modeled measurement, why tools differ
- 10.Measure Results · OpenAI Help Center7/14/30-day click and 0/1-day view windows, last touch, 24–48h delay, landing page query parameters and macros
- 11.Troubleshooting conversion tracking for ChatGPT Ads · OpenAI Help CenterShopify double-tracking check, revenue comparisons, Direct vs ad credit example
- 12.Understand and improve event quality · OpenAI Help CenterSeven-day event quality score, one-hour server event check
- 13.Connecting Google Analytics 4 to OpenAI Ads Manager · OpenAI Help CenterBeta GA4 connection; imported totals aren't campaign conversions
- 14.Set up Measurement Partner Integrations · OpenAI Help CenterNamed measurement partners and implementation tools
- 15.Ads in ChatGPT: The Basics · OpenAI Help CenterUTMs persist on ad clicks; crawler visits aren't billed clicks
- 16.Creating ads for ChatGPT Ads · OpenAI Help CenterUTM tags on creative URLs; checking links in the iOS in-app browser
- 17.Frequently asked questions (ChatGPT Ads) · OpenAI Help CenterNo performance benchmarks yet
- 18.ChatGPT Ads · Shopify App StoreApp listing with OpenAI as developer
- 19.checkout_completed · Shopify.devWhen the purchase event fires; order ID available only on this event
- 20.Pixels overview · Shopify Help CenterSandbox limits and consent defaults
- 21.Create custom pixel code · Shopify Help CenterSubscribing to customer events; Marketing and Analytics permissions by default
- 22.[GA4] Default channel group · Google Analytics HelpAI Assistant rule; paid-medium regex for Paid Other and Paid Search
- 23.[GA4] Custom channel groups · Google Analytics HelpFirst matching channel wins; reordering channels

Founder of GigaCommerce, part of Gigaverse. Works with mid-market Shopify and Amazon merchants on agentic commerce installs, AI-ready catalogs, and Commerce GEO.
LinkedIn