ChatGPT can send highly interested readers to an affiliate post, but GA4 may file those visits under generic referrals or direct traffic. That makes it hard to see which articles attract AI-referred visitors and whether those visitors click affiliate offers.
You can improve the picture by creating a custom GA4 channel for ChatGPT, checking source and landing-page dimensions, and tracking affiliate clicks as separate events. The most important distinction is this: a ChatGPT referral session is not the same as an affiliate conversion or commission.
Key Takeaways
- Create a custom GA4 channel for
chatgpt.com,chat.openai.com, and related OpenAI sources. - Place the ChatGPT channel above the default Referral channel so GA4 classifies it correctly.
- Use Session source / medium, Landing page + query string, Sessions, Engaged sessions, and key events in your reports.
- Track affiliate clicks with Enhanced Measurement, Google Tag Manager, or a custom event.
- Match GA4 click data with affiliate-network sales reports before calculating revenue.
Why ChatGPT referrals can be difficult to see in GA4
GA4 doesn’t include a built-in “AI traffic” channel. When someone clicks a link in ChatGPT, the visit may appear as:
chatgpt.com / referralchat.openai.com / referralopenai.com / referral- Direct traffic when the referrer isn’t passed
- Referral traffic without an obvious AI label
The result depends on the ChatGPT experience, browser, privacy settings, and whether the visitor opens your page inside an in-app browser. Some visits may also fail to trigger your JavaScript analytics tag. That means GA4 can undercount AI-referred sessions.
Start by checking Reports > Acquisition > Traffic acquisition. Change the primary dimension to Session source / medium, then search for chatgpt, openai, or gpt. Add Landing page + query string as a secondary dimension if your report supports it.
A row such as chatgpt.com / referral confirms that GA4 recorded the source. However, a missing row doesn’t prove ChatGPT sent no traffic. Compare unusual direct-traffic increases with your server or CDN logs, especially when AI referrals appear to be growing.
Google’s Analytics community includes a useful discussion about isolating AI referrals in GA4. It also shows why source classification needs a custom setup rather than a standard report alone.
Create a custom ChatGPT channel in GA4
A custom channel group gives ChatGPT referrals a separate place in your acquisition reports. The exact menu wording can vary slightly by GA4 account, but the current path is usually Admin > Data display > Channel groups.
Follow these steps:
- Select Create new channel group.
- Name the group something clear, such as
AI Referral Traffic. - Add a channel called
ChatGPT. - Choose the source dimension and set the condition to matches regex.
- Add the domain pattern below:
^(www.)?(chatgpt.com|chat.openai.com|openai.com)$
If your goal is to compare several AI sources, use a wider pattern:
^(www.)?(chatgpt.com|chat.openai.com|openai.com|perplexity.ai|claude.ai|gemini.google.com|copilot.microsoft.com)$
For a ChatGPT-only report, keep the narrower pattern. A broad AI channel is useful for overview reporting, but separate channels give you cleaner comparisons between ChatGPT, Claude, Perplexity, Gemini, and Copilot.
The ordering matters. Move the new ChatGPT channel above the default Referral channel. GA4 checks channel rules from top to bottom. If Referral appears first, GA4 can classify chatgpt.com as a generic referral before it reaches your custom rule.
Save the channel group and wait for new data. Custom channel classifications generally apply to incoming data after the change, so don’t expect old sessions to be fully reprocessed. Allow at least 24 to 48 hours before judging the result.

Build a GA4 report for ChatGPT affiliate traffic
Once the channel exists, open Reports > Acquisition > Traffic acquisition and select your custom channel group from the channel-group menu. Then add dimensions and metrics that connect the referral to the affiliate post and its next action.
Useful dimensions include:
| Dimension | What it shows |
|---|---|
| Session source / medium | The recorded acquisition source |
| Landing page + query string | The page where the visitor entered |
| Page path and screen class | Pages viewed during the session |
| Page referrer | The referring page recorded with an event |
| Session campaign | Campaign data when UTMs exist |
| Device category | Desktop, mobile, or tablet behavior |
Use Sessions to measure visits, Engaged sessions to measure higher-quality visits, and Engagement rate to compare visitor quality. Add Average engagement time per session when you want to see whether AI-referred readers stay with the content.
For affiliate sites, the most useful conversion metric is usually an affiliate-link click. If you’ve marked that event as a key event, add Key events and Session key event rate to the report. GA4 accounts may still display conversion language in some reports, but current GA4 terminology uses key events for important actions.
To create a focused Exploration, select Explore > Blank and add these dimensions:
- Session source
- Session medium
- Landing page + query string
- Page referrer
- Device category
- Affiliate partner, if you’ve registered it as a custom dimension
Add these metrics:
- Sessions
- Engaged sessions
- Engagement rate
- Average engagement time per session
- Affiliate link clicks
- Key events
- Total revenue, only when revenue data is actually imported
Apply a filter to Session source using this regex:
^(chatgpt.com|chat.openai.com|openai.com)$
Then use Landing page + query string as the row dimension. This reveals whether ChatGPT visitors prefer review posts, comparison pages, pricing content, or detailed tutorials.
A page with fewer sessions but a higher affiliate-click rate may be more valuable than a popular article with weak commercial intent. That comparison belongs in your content decisions, not only in your monthly traffic report. For broader affiliate measurement, see this affiliate link tracking guide, which covers UTMs, SubIDs, and placement-level tracking.
Track affiliate clicks with Enhanced Measurement or GTM
GA4 Enhanced Measurement can automatically record outbound clicks when you enable it in Admin > Data streams > Web. Open your web stream, select the Enhanced Measurement settings, and confirm that Outbound clicks is enabled.
When a reader clicks a standard affiliate link to another domain, GA4 can record a click event with parameters such as:
link_urllink_domainoutbound
This setup is quick, but the default click event can mix affiliate links with ordinary external links. You can separate them with Google Tag Manager.
In GTM, create a link-click trigger that fires when the link matches your affiliate domains. For example, use a condition based on Click URL containing your affiliate network domain. Then create a GA4 Event tag with an event name such as:
affiliate_link_click
Send useful event parameters:
affiliate_partner
affiliate_url
affiliate_placement
content_type
page_location
For affiliate_placement, use consistent values such as intro, comparison_table, mid_article, or final_cta. Keep the names stable across posts. Inconsistent labels make reports difficult to compare.
If your affiliate links use a same-domain redirect, Enhanced Measurement may not recognize them as outbound links. In that case, use GTM or a custom JavaScript event. Test every trigger with GTM Preview, then check Reports > Realtime in GA4 before publishing the setup.
Register important parameters in Admin > Data display > Custom definitions if you want to use them in standard reports or Explorations. A parameter can exist in event data without appearing as a selectable reporting dimension until you create the related custom dimension.
Separate referrals, clicks, sales, and revenue
GA4 can tell you that a ChatGPT-referred visitor arrived on your article and clicked an affiliate link. It usually can’t confirm that the merchant later approved a commission.
Those are separate stages:
- Referral session: ChatGPT sent, or appears to have sent, the visitor to your site.
- Engaged session: The visitor met GA4’s engagement criteria.
- Affiliate click: The visitor clicked an offer on your page.
- Sale or lead: The merchant recorded a transaction.
- Approved commission: The affiliate network approved the payout.
Don’t label all ChatGPT sessions as revenue. A session can produce several clicks and no sale. A sale can also be approved days later, after the original GA4 session has ended.
For reliable matching, add a SubID to each affiliate URL when the network supports it. Use a consistent value that identifies the post and placement, such as:
review-tool-a-top
comparison-tool-a-table
tutorial-tool-a-cta
The affiliate network can then report which click produced the transaction. Compare those SubID results with GA4’s ChatGPT landing-page and affiliate-click data.
If your affiliate network offers a conversion API, postback, or data export, you may be able to import approved revenue into a separate system or GA4 event stream. Otherwise, keep revenue in the network dashboard and use GA4 for sessions, engagement, landing pages, and outbound clicks.
UTM parameters help when you control the incoming link, such as links in your own email, community posts, or partner placements. They don’t let you rewrite a link ChatGPT displays to its users. For AI referrals, the referrer and your affiliate SubID usually provide more practical evidence.
Check data quality before trusting the report
Test the setup with a real ChatGPT link to your website, then inspect the visit in GA4 Realtime. Look for the source, landing page, and affiliate_link_click event. Use DebugView when you need to inspect event parameters.
Review these issues before drawing conclusions:
- The ChatGPT channel sits below Referral.
- Your regex misses
chat.openai.comoropenai.com. - Affiliate links use redirects that prevent outbound-click detection.
- GTM fires the affiliate event twice.
- A click event fires when a visitor views, rather than clicks, an offer.
- Affiliate-network revenue includes refunds or pending commissions.
- Consent settings prevent GA4 from recording part of the journey.
- Mobile in-app browsers lose the original referrer.
You can also watch the past 90 days of Direct traffic for unusual increases. Treat that as a clue, not proof. Server logs can show requests that never reached your GA4 tag, but they won’t always identify a human referral or an approved affiliate sale.
A short walkthrough can help when checking the interface, such as this video on tracking ChatGPT and AI traffic in GA4. Use it alongside your own Realtime tests because GA4 account settings and reporting views can differ.
Conclusion
ChatGPT referral traffic in GA4 becomes easier to analyze when you separate source classification from affiliate measurement. Create a custom ChatGPT channel, place it above Referral, and report on landing pages, engagement, and affiliate-link clicks.
Then compare those clicks with SubIDs and approved network transactions. Traffic shows interest, clicks show intent, and affiliate reports confirm revenue. Keeping those stages separate gives you a more honest view of which AI-referred posts deserve another update.