OpenAI Ads Manager provides advertising platform metrics such as impressions, clicks, spend, and conversions. However, GA4 allows you to analyze in greater detail what users do on the product page after clicking an ad, whether they add products to their carts, whether they complete a purchase, and how the quality of traffic from OpenAI Ads compares with traffic from other channels.
Three core elements are required to measure OpenAI advertising traffic accurately in GA4:
- A consistent UTM standard
- Correctly configured GA4 e-commerce and conversion events
- Regular reporting that compares Ads Manager and GA4 data
Recommended UTM structure for OpenAI Ads
A clear naming convention should be used to separate OpenAI advertising traffic from organic ChatGPT traffic and other advertising channels in GA4.
Recommended structure:
| UTM parameter | Recommended value | Purpose |
|---|---|---|
utm_source |
chatgpt_ads |
Indicates that the traffic originates from ChatGPT Ads |
utm_medium |
cpc |
Defines paid AI advertising traffic |
utm_campaign |
usa_women_dresses_summer_2026 |
Carries the campaign name |
utm_id |
oa_2026_001 |
Assigns a unique ID to the campaign |
utm_content |
dresses_creative_01 |
Separates the ad or creative variation |
utm_source_platform |
openai_ads |
Identifies the platform where the ad is managed |
Example landing page URL:
https://www.example.com/womens-dresses?utm_source=chatgpt_ads
&utm_medium=cpc
&utm_campaign=usa_women_dresses_summer_2026
&utm_id=oa_2026_001
&utm_content=dresses_creative_01
&utm_source_platform=openai_ads
In the actual URL, the parameters should be included in a single address without line breaks. They are displayed on separate lines above only to make the structure easier to read.
For manual campaign tagging, Google Analytics recommends using at least utm_source, utm_medium, and utm_campaign. The utm_id, utm_content, and utm_source_platform parameters can be added for more detailed campaign analysis.
Why should utm_source=chatgpt.com not be used?
Organic ChatGPT referrals should be separated from advertising traffic. Using utm_source=chatgpt.com in advertising URLs may cause organic and paid traffic to be combined under the same source.
For this reason, using a separate value for paid advertising traffic is more appropriate:
utm_source=chatgpt_ads
Alternatively:
utm_source=openai_ads
Maintaining the same standard across all campaigns prevents data fragmentation in GA4 reports.
For example, GA4 interprets the following three values as different sources:
chatgpt_ads
ChatGPT-Ads
openai-chatgpt
UTM values should therefore be written in lowercase, should not contain locale-specific characters, and should use underscores instead of spaces.
How should utm_medium be selected?
Using utm_medium=cpc for OpenAI Ads makes it easier to group the traffic when utm_medium=cpc is also used for other advertising channels. It also standardizes reporting filters and allows similar channels to be compared more easily.
It can optionally be used as follows:
utm_medium=paid_ai
Under GA4’s current default channel rules, custom medium values beginning with paid may generally be classified under Paid Other. GA4 also provides a default channel called AI Assistants for referrals from sources such as ChatGPT and Gemini. This channel is associated with the ai-assistant medium value.
For this reason, using the following medium for advertising traffic is not recommended:
utm_medium=ai-assistant
This value may cause paid advertising traffic and organic AI referrals to appear under the same channel.
A cleaner structure would be:
| Traffic type | Source | Medium |
| OpenAI advertising traffic | chatgpt_ads |
cpc |
| Organic ChatGPT traffic | Referrer or chatgpt.com |
ai-assistant |
| Google Ads | google |
cpc |
| Meta Ads | facebook or instagram |
cpc |
How to create a Paid AI channel group in GA4
If you do not want OpenAI advertising traffic to be classified under the default Paid Other channel, you can create a custom channel group in GA4.
In GA4:
- Go to Admin.
- Open Data display > Channel groups.
- Select Create new channel group.
- Create a copy of the default channel group.
- Add a new channel and name it Paid AI.
- Define the following conditions:
Session source exactly matches chatgpt_ads
AND
Session medium exactly matches cpc
Alternatively, you can use a regular expression for the source:
^(chatgpt_ads|openai_ads)$
Because traffic is assigned to the first channel whose rules it matches, the Paid AI channel should be positioned above Paid Other and other general channels. Move Paid AI higher in the channel order. GA4 allows custom channel groups to be created using rules and allows the channel order to be adjusted.
Where can OpenAI advertising traffic be viewed in GA4?
The following report can be used for the initial review:
Reports > Acquisition > Traffic acquisition
Change the primary dimension to one of the following:
- Session source / medium
- Session source
- Session medium
- Session campaign
Use the following value in the search or filter field:
chatgpt_ads
The GA4 Traffic acquisition report is session-scoped. It is therefore suitable for analyzing sessions started through OpenAI Ads by both new and returning users. The User acquisition report, on the other hand, shows the source through which a user first arrived on the website.
Custom GA4 report for OpenAI Ads
For more detailed analysis, performance marketing specialists can create a Free Form report in the Explore section of GA4.
Recommended dimensions
- Session source / medium
- Session campaign
- Session manual campaign ID
- Session manual ad content
- Date, week, month, and year
- Device category
- Country
- Item name
- Item ID
Recommended metrics
- Sessions
- Engaged sessions
- Engagement rate
- Average engagement time per session
- Key events
- Session key event rate
- Add to carts
- Checkouts
- Ecommerce purchases
- Total revenue
- Purchase revenue
Example filter:
Session source exactly matches chatgpt_ads
This report can be used to compare performance by campaign, creative, landing page, and device.
Which performance metrics should be monitored?
OpenAI Ads Manager and GA4 answer different questions.
| Metric | Source | What does it show? |
| Impressions | Ads Manager | How many times the ad was displayed |
| Clicks | Ads Manager | How many times the ad was clicked |
| Spend | Ads Manager | Total advertising spend |
| CTR | Ads Manager | The percentage of impressions that generated a click |
| Avg CPC | Ads Manager | Average cost per click |
| Avg CPM | Ads Manager | Cost per thousand impressions |
| Sessions | GA4 | Measurable sessions that began after advertising clicks |
| Engagement rate | GA4 | How actively the traffic interacted with the website |
| Add to carts | GA4 and Ads Manager | Add-to-cart events |
| Checkouts | GA4 and Ads Manager | Checkout starts |
| Ecommerce purchases | GA4 and Ads Manager | Completed purchase events |
| Total revenue | GA4 and Ads Manager | Total revenue submitted to GA4 and the revenue displayed in the advertising platform |
| Conversions | GA4 and Ads Manager | Conversion events attributed to campaigns |
How should the e-commerce funnel be measured?
It is important to analyze not only the number of purchases generated by OpenAI advertising traffic, but also how users progress through the purchase journey.
The following e-commerce events can be monitored in GA4:
| Funnel stage | GA4 event |
| Product view | view_item |
| Add to cart | add_to_cart |
| Checkout start | begin_checkout |
| Purchase | purchase |
| Refund | refund |
The following rates can be calculated using these events:
Add-to-cart rate =
add_to_cart / view_item
Checkout start rate =
begin_checkout / add_to_cart
Purchase rate =
purchase / sessions
Checkout completion rate =
purchase / begin_checkout
If OpenAI advertising traffic generates strong engagement but few add-to-cart actions, product relevance, pricing, or the landing page should be reviewed. If add-to-cart activity is high but purchase volume is low, delivery, payment, availability, or the checkout experience should be checked.
Why might clicks and GA4 sessions not be equal?
The number of clicks in Ads Manager should not be expected to match the number of GA4 sessions exactly.
Differences may occur because:
- The user may leave before the page loads completely.
- The consent system may prevent the GA4 tag from running.
- The browser or an ad blocker may prevent measurement.
- A landing page redirect may remove UTM parameters.
- The same user may click the ad more than once.
- GA4 session logic differs from click measurement.
- Ads Manager and GA4 may use different time zones.
- Date ranges and attribution windows may differ.
Strategic recommendation: Rather than trying to make click and session counts match exactly, monitor the difference between them regularly. If the gap increases suddenly, review the UTM structure, redirects, consent setup, and GA4 tag implementation.
Product feed and GA4 product IDs should match
To perform product-level performance analysis in OpenAI Product Feed campaigns, product identifiers should remain consistent across systems.
Recommended structure:
| System | Product ID value |
OpenAI product feed item_id |
SKU12345 |
OpenAI Pixel / Conversions API contents[].id |
SKU12345 |
GA4 items[].item_id |
SKU12345 |
| E-commerce platform product ID | SKU12345 |
| Product ID within the order | SKU12345 |
If a different item_id is sent to GA4 than the one used in the product feed, it becomes more difficult to combine campaign, product view, and purchase data at the product level.
This consistency is also important for catalog match rate. To explore how product ID matching can be improved, read What Is Product Match Rate?
To learn how product feed-based advertising works, you can also read How Do OpenAI Product Feed Campaigns Work?
How can Optifeed support this process?
Optifeed helps maintain greater consistency between product feed fields such as product identity, price, availability, category, and variants and the data used across advertising and analytics systems.
The following areas are particularly important when analyzing OpenAI Ads in GA4:
- Matching the feed
item_idwith the GA4item_id - Keeping price and availability data up to date
- Dividing products into category and performance groups
- Monitoring the product segments used in campaigns
- Maintaining consistency between product feed and landing page information
- Identifying catalog match rate problems
To explore the general structure of OpenAI Ads, you can also read What Are OpenAI Ads?
