Last updated: November 4, 2026
Say a customer emails to ask whether the blue mug comes in a larger size, and mentions that ChatGPT recommended your store. You open Google Analytics 4 (GA4) to see how many more shoppers arrived that way and find "chatgpt.com / referral" buried under Referral with 31 sessions this month. Whether those 31 bought anything is a second report, in a second place, that does not quite match the first. Learning how to track ChatGPT traffic properly means three things: recognising the visits, separating human clicks from the bots OpenAI documents, and tying the visits to paid WooCommerce orders. This guide covers all three, in GA4 and inside WordPress, with a worked example at the end.
Key takeaways
- ChatGPT visits arrive with chatgpt.com as the referrer or with utm_source=chatgpt.com on the link. Perplexity, Gemini, Claude and Copilot send their own referrers.
- GA4 groups them under an "AI Assistant" default channel, per Google's channel group documentation.
- OpenAI documents three agents: OAI-SearchBot (ChatGPT search index), ChatGPT-User (pages fetched for a user) and GPTBot (training). Only human clicks count as traffic.
- Only a tool that reads WooCommerce orders can tell you which AI visits became paid orders. GA4 estimates it from events.
- Allowing OAI-SearchBot in robots.txt decides whether you appear in ChatGPT search answers at all, per OpenAI.
How does ChatGPT traffic show up in analytics?
As a referral from chatgpt.com, and sometimes with utm_source=chatgpt.com added to the link the assistant shows. Other assistants send their own referrers: perplexity.ai, gemini.google.com, claude.ai and copilot.microsoft.com are the common ones. Any analytics tool that records the referrer can see these visits. The question is whether it names them or buries them under "referral".
The chatgpt.com referrer and the utm_source form are both observed in the wild rather than documented by OpenAI. OpenAI's bots documentation describes its crawlers and user agents but does not describe the links shown to users. Tools that specialise in this traffic describe the two forms the same way, for example "ChatGPT visits arrive either with chatgpt.com as the referrer or with utm_source=chatgpt.com added to the link". Treat both as ChatGPT.
How do you track ChatGPT traffic in GA4?
Open Reports, then Acquisition, then Traffic acquisition, and set the dimension to Session primary channel group. Google's default channel groups include an "AI Assistant" channel for sources such as ChatGPT, Gemini, Deepseek, Copilot and Grok, so the traffic is already grouped. For more detail, switch the dimension to Session source and filter for chatgpt.
- In GA4 go to Reports, Acquisition, Traffic acquisition.
- Choose Session primary channel group as the primary dimension and find the AI Assistant row.
- Change the dimension to Session source / medium to see chatgpt.com, perplexity.ai and the rest as separate rows.
- Add the Key events or Purchases column to see how many of those sessions reached a purchase event.
- If your property predates the AI Assistant channel, create a custom channel group under Admin, Data display, Channel groups, with a rule for sources containing chatgpt, perplexity, gemini, claude and copilot.
Per Google's channel group definitions, "AI Assistant is the channel by which users arrive at your site from sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok". Note that the list does not name every assistant, which is why the source dimension is still worth checking.
One useful GA4 habit is to save the filtered view as a custom report so the AI row is one click away each month. Add Session source, Sessions, Engagement rate and Purchases as columns, and keep the date range at the last full month. Week-level numbers for a source this small swing too much to mean anything.
Two limits. GA4 only sees shoppers who accepted cookies and did not block the script, so the AI row is an undercount. And the Purchases column counts purchase events, not WooCommerce orders, so it misses orders where the shopper never returned from the payment gateway. The comparison with WooCommerce Analytics explains the size of that gap.
How do you track ChatGPT traffic inside WordPress without GA4?
Use an analytics plugin that records the referrer on the landing page and names AI assistants as a source. StorePinger's traffic sources report lists ChatGPT, Perplexity, Gemini, Claude and Copilot as their own source, counts visits from each, and matches the paid WooCommerce orders those visits produced. No cookies are set and the data stays in your database.
Setup is shorter than the GA4 route. Install the plugin, open the traffic sources report, and the AI assistants appear as named rows as soon as the first visit arrives. There is no channel group to build and no filter to save. If you also run GA4, keep both and compare the AI rows monthly: the in-WordPress count will be higher, because it includes shoppers who declined cookies, and the difference is the undercount you should mentally add to any GA4 figure.
The in-WordPress route has one advantage GA4 cannot match: it reads the orders table. A visit from ChatGPT that ends in a paid order is linked to that order, so the sources report shows orders and revenue per assistant, not purchase events. It also keeps working for shoppers who declined cookies, because the tracker sets none. The traffic sources and AI section of the features page shows the report, and sales by source shows the revenue side.
How do you see which pages ChatGPT sends people to?
Filter the landing pages report by the AI source. In GA4 that is the Landing page report with a filter on session source containing chatgpt. In StorePinger, the detail view for each AI tool lists its top landing pages. The pages that appear are the ones the assistant is citing, which tells you what shoppers are asking about and which pages are doing the work.
A store usually finds that AI visits land on a small number of pages: two or three products, a comparison post, a policy page. Those pages deserve attention out of proportion to their traffic. Read each one as the shopper who just asked "is this mug dishwasher safe" or "do they ship to Canada" would, and put the answer in a plain sentence near the top. Assistants quote what they can find quickly. The visitor journey on Pro shows what a ChatGPT visitor did after landing, which is the fastest way to learn whether the cited page answered them.
How do you track ChatGPT traffic in server logs?
Search the access log for the user agents OpenAI documents, OAI-SearchBot, ChatGPT-User and GPTBot, to see bot activity, and for requests whose referrer field contains chatgpt.com to see human clicks. Logs are the only place that sees both, because bots do not run analytics scripts and some humans block them.
Logs are noisy and most owners should not live in them, but two checks are worth doing once a quarter. First, confirm OAI-SearchBot is fetching your product pages at all. If it never appears, robots.txt or a firewall is keeping it out, and no amount of content work will put the store in ChatGPT's search answers. Second, compare the count of chatgpt.com referrers in the log with the count in your analytics tool. The log number is the ceiling. The gap between them is the share of AI visitors your analytics cannot see, which for a cookie-based tool can be large and for a cookieless tracker should be small.
A worked example, not a customer result. In a month the log shows 640 requests with a chatgpt.com referrer. GA4 shows 410 sessions from chatgpt.com. A cookieless in-WordPress tracker shows 600. The 230 missing from GA4 are mostly shoppers who declined cookies. The 40 missing from the cookieless tracker are mostly blocked scripts. Both gaps are normal. Knowing them is what lets you read the analytics numbers without over- or under-stating what ChatGPT sends.
Which ChatGPT visits are humans and which are bots?
OpenAI documents three agents. OAI-SearchBot crawls to build ChatGPT's search index. ChatGPT-User fetches a page when a user asks ChatGPT to look at it. GPTBot crawls for model training. None of these is a shopper. Human traffic is a person clicking a link in a ChatGPT answer, which arrives with the chatgpt.com referrer. Keep the bot hits out of your visitor counts and watch them separately.
| Agent or source | What it is, per OpenAI | Counts as traffic? | Where you see it |
|---|---|---|---|
| OAI-SearchBot | "Used to surface websites in search results in ChatGPT's search features" | No, a crawler | Server logs, bot reports |
| ChatGPT-User | Visits a page when a user asks ChatGPT a question that needs it | No, a fetch on a user's behalf | Server logs, bot reports |
| GPTBot | Crawls content that may be used to train models | No, a crawler | Server logs, bot reports |
| Human click from a ChatGPT answer | A person following a link | Yes | Analytics, as referrer chatgpt.com or utm_source=chatgpt.com |
Why the distinction matters in practice: a store that counts ChatGPT-User fetches as visitors will report AI traffic rising while orders stay flat, and will conclude that AI shoppers do not buy. They do. The fetches were never shoppers.
OpenAI's documentation adds two points that matter for a store. Sites that opt out of OAI-SearchBot "will not be shown in ChatGPT search answers", and the three settings are independent, so you can allow the search crawler while disallowing training. StorePinger's AI visibility report shows which AI bots read the store, separately from the human visits, so the two are never mixed. The AI visibility feature describes it.
How do you tie ChatGPT visits to WooCommerce orders?
Record the source when the visit starts, follow the visit through the store, and match the paid order to it. GA4 approximates this with purchase events. A plugin inside WordPress does it from the orders table, so the number is orders and revenue, not events. Either way, judge AI traffic by orders and conversion rate, never by visits alone.
A worked example, not a customer result. In October a store records 1,000 visits from AI assistants: 600 from ChatGPT, 250 from Perplexity, 100 from Gemini, 50 from Claude and Copilot. Those visits produce 35 paid orders at an average of $52, so $1,820. Conversion rate is 35 divided by 1,000, or 3.5%, against 2.1% for the store overall. ChatGPT alone sent 600 visits and 24 orders, a 4% rate. The same month, Instagram sent 2,000 visits and 20 orders, a 1% rate. AI assistants are 5% of traffic and 8% of orders. That is the sentence worth knowing, and it only exists if visits and orders are counted in the same place.
| Source | Visits | Paid orders | Conversion rate | Revenue |
|---|---|---|---|---|
| ChatGPT | 600 | 24 | 4.0% | $1,248 |
| Perplexity | 250 | 7 | 2.8% | $364 |
| Gemini | 100 | 3 | 3.0% | $156 |
| Claude and Copilot | 50 | 1 | 2.0% | $52 |
| All AI assistants | 1,000 | 35 | 3.5% | $1,820 |
| Instagram, for comparison | 2,000 | 20 | 1.0% | $1,040 |
What should you do once you can see the traffic?
Three things. Make sure OAI-SearchBot and the other search crawlers you want are allowed in robots.txt. Look at which pages the AI visits land on and make those pages answer the question the shopper asked. Watch the conversion rate monthly, because AI referrals tend to arrive with a specific product in mind and convert well when the page delivers.
- Check robots.txt for rules that block OAI-SearchBot, and for blanket rules that block everything. Per OpenAI, opted-out sites are not shown in ChatGPT search answers.
- Open the landing pages report filtered to AI sources. The pages that appear are the ones assistants cite.
- Read each cited page as a shopper would. Add the answer to the question the page is cited for, in plain sentences near the top.
- Keep product names, prices and availability consistent across the site and any feeds. Assistants cross-check.
- Compare AI conversion rate with your other sources monthly. A rate that falls while visits rise usually means a cited page changed, or the assistant started citing a page that does not answer the question.
- Set a sales alert so you notice the first orders from a new source. StorePinger sends email alerts for sales and app notifications for orders, which is how most owners first notice an AI assistant has started sending buyers.
- Optionally publish an llms.txt file. The llm.txt for SEO guide explains why it is a cheap hedge rather than a tactic as of November 2026.
Can you track ChatGPT traffic with UTM parameters?
Not on links you do not control. You cannot add UTMs to the links ChatGPT shows, so recognition relies on the referrer and on whatever utm_source the assistant itself adds. UTMs still matter for your own links, so that email and social traffic are not mistaken for direct, which keeps the AI share accurate by keeping everything else labelled.
The same logic applies to the AI assistants that let users share or copy links. A shopper who pastes a product link from ChatGPT into a group chat produces a visit with no referrer at all, which lands in direct. There is no way to recover that attribution, and it is one more reason the AI row is a floor rather than a total.
If you ever see utm_source=chatgpt.com on a visit, keep it as ChatGPT rather than merging it into a campaign. Some analytics tools treat any UTM-tagged visit as a campaign, which would move those visits out of the AI row. The WooCommerce UTM tracking guide covers the naming rules that keep sources clean.
Common mistakes
- Counting bot fetches as visitors. OAI-SearchBot and ChatGPT-User are not shoppers. Keep them in a bot report.
- Reading visits without orders. AI traffic is small and converts well. Visits alone understate it.
- Trusting GA4's AI row as a total. It only includes shoppers who accepted cookies.
- Blocking everything in robots.txt. A blanket disallow removes the store from ChatGPT search answers, per OpenAI.
- Merging utm_source=chatgpt.com into campaigns. It is ChatGPT traffic. Keep it there.
- Optimising the llms.txt file instead of the cited pages. The pages are what assistants read and quote.
- Checking weekly. AI traffic is small enough that weekly numbers swing. Read it monthly and compare conversion rate, not count.
Conclusion
Tracking ChatGPT traffic is a referrer problem first, a bot problem second and an orders problem third. The referrer is chatgpt.com or a utm_source that says so, and GA4 now groups it under AI Assistant. The bots are documented by OpenAI and belong in a separate report. The orders are the part most setups skip, and they are the only number that says whether being recommended by an assistant is worth anything to the store. Count visits and paid orders in the same place, allow the search crawler you want, make the cited pages answer the question, and read the result monthly. The AI visibility and sales by source reports in StorePinger do that inside WordPress, and the live visitors view will show you the next ChatGPT visitor the moment they arrive.