Alex Maksymenko Generative Engine Optimization AI visibility audit →

Cited Layer › Measurements › ChatGPT channel drop

Measurement

ChatGPT traffic collapsed overnight. Most of it was lost tracking — one number was not.

28 September – 18 October 2026 · server logs of one live store · a specialty e-commerce retailer in the UAE, restricted product category · first published 12 October, corrected 19 October

From 9 October, visits tagged as coming from ChatGPT fell from about 23 a day to 2–3. In the same days, visits with no referrer at all ("direct") rose from about 11 a day to 26, landing on the same page ChatGPT clicks used to land on. Counted together, the two fell by about 15%.

The number that no tracking change can hide — requests from ChatGPT-User, the agent that reads a page while ChatGPT is writing an answer — fell from 26.5 a day to 7. OpenAI's training crawler, ClaudeBot, PerplexityBot and Googlebot carried on; OpenAI's search crawler dipped slightly. The site did not cause either change.

Correction, 19 October 2026. The first version of this page said visitors from ChatGPT fell "to about a seventh" and treated the fall in tagged clicks as a fall in traffic. Counting direct visits day by day showed that most of that fall was lost attribution. The headline, summary and sections 1, 2, 5 and 7 were rewritten. The crawler table and the list of site changes are unchanged.

1 · What happened to the clicks

The tag disappeared. Most of the visitors did not.

ChatGPT appends utm_source=chatgpt.com to links it shows, and its clicks usually carry a chatgpt.com referrer. From 9 October both mostly stopped arriving. Reports from the same week say ChatGPT stopped passing them on part of its outbound clicks; this page cannot confirm that from the inside, only what arrived.

Visitors per day who loaded the page in a browser, by the source of their first visit that day (bots removed):

DayTagged ChatGPTDirectBothGoogle (control)
2 Oct29184744
3 Oct2683435
4 Oct2893756
5 Oct1892737
6 Oct1882643
7 Oct17153255
8 Oct8212954
9 Oct1353639
10 Oct2222448
11 Oct4283261
12 Oct4212548
13 Oct2252768
14 Oct2262868
  • Averages, 2–7 October against 9–14 October: tagged ChatGPT 22.7 → 2.5 a day; direct 11.2 → 26.2; the two together 33.8 → 28.7, a fall of about 15%.
  • Where they landed. Tagged ChatGPT visits to the homepage: 110 in the six days before, 13 after. Direct visits to the homepage: 21 before, 76 after. The new direct traffic arrived where ChatGPT traffic used to arrive.
  • After 15 October tagged visits partly came back (14, 6 and 12 on 16–18 October) while direct eased (18, 20, 15) — the pattern a tracking change leaves, not a change in demand.

So most of the visible collapse in clicks was attribution. About a sixth of the combined traffic may really have gone, but a 15% move over one week on one store is inside ordinary variation, and it is not claimed here as a loss.

2 · What the server saw

One number does not depend on tracking at all

Requests from ChatGPT-User, the agent OpenAI sends to fetch a page while composing an answer, appear in the server log whether or not anyone clicks, and whatever ChatGPT does with tags and referrers.

  • 28 September – 7 October: 17 to 42 fetches a day, average 26.5.
  • 9 – 11 October: 5, 10 and 6. Average 7 — about a quarter.

This fall is real, and it is the one fact on this page that survives the attribution question. It is also not the same thing as lost visitors: a fetch is the engine reading the page, not a person arriving. Fetches fell fourfold while the people arriving fell by about a sixth.

3 · The control

Every AI crawler, every day

If the site had broken, or become unreadable, every crawler would have noticed. Requests per day from each agent, exploit-scanner traffic removed (see method). Shaded rows are after 9 October. The first column counts unique addresses with the ChatGPT tag; as section 1 shows, from 9 October it undercounts.

DayTagged visitors from ChatGPTChatGPT-UserOAI-SearchBotGPTBotClaudeBotPerplexityBotGooglebot5xx
28 Sep1923821201,7730
29 Sep3227811120420
30 Sep27267241202,7910
1 Oct223084120940
2 Oct32421612177540
3 Oct291961561321350
4 Oct2933321,02601240
5 Oct171712121,1311550
6 Oct212781122610
7 Oct192152126710
8 Oct81644153970
9 Oct35531081920
10 Oct2104194361210
11 Oct66429416169570
12 Oct*1920661190

* 12 October is a partial day, to about 12:00 UTC. Single-day spikes (ClaudeBot on 4 October, PerplexityBot on 5 October, Googlebot on 28 and 30 September) are bulk re-crawls of the catalogue.

Read the columns against each other:

  • ChatGPT-User, the live fetcher, fell to about a quarter.
  • GPTBot, OpenAI's training crawler, did not fall. On 11 October it took 294 pages in one day, the deepest pass over the catalogue in the logged period.
  • ClaudeBot, PerplexityBot and Googlebot carried on at their usual pace.
  • No 5xx errors on any day in the window.

4 · Not the site

What changed on the site, and why it is not the cause

The store's pages are under version control, so the answer is a list, not a recollection. In the 72 hours before the drop, two things changed:

  • 6 October: a contact email address added to the footer of every page.
  • 7 October: ten lines added to the store's review data.

The live fetcher was normal on both following days — 27 fetches on 6 October, 21 on 7 October. Visits dipped on 8 October and the drop was complete on 9 October. robots.txt allowed every OpenAI agent throughout, every page OpenAI's agents requested was answered with a 200 — the only other responses were http-to-https redirects and 404s served to scanners impersonating the agent, all before the drop — and the other crawlers read the same pages without trouble. A footer address and ten review lines are not a plausible cause of a fourfold drop in one agent and no drop in the others. They cannot be ruled out with certainty, and the record above is published so that you can judge for yourself.

After the main comparison window (9–14 October) the site did change, and since section 1 quotes 16–18 October, those changes are listed too: on 16 October a decorative CSS ornament in the header and footer; on 17 October two structured-data fixes — the video upload date on 226 product pages, which had been regenerating as "today" every 30 minutes, and the return-fee type on 422 pages. No visible text changed. None of these can add or remove a UTM tag on a click arriving from ChatGPT.

5 · Indexed, but fetched less often

The search crawler barely moved. The live fetcher did.

OpenAI runs a separate crawler, OAI-SearchBot, that builds the index ChatGPT searches. It averaged 7 requests a day before the drop and about 4 after — lower, but nothing like the fall in live fetches, and it kept fetching on every day of the window.

Put together: the site remained in the index, still readable and still crawled, and ChatGPT retrieved it far less often when answering. Why is not visible from the server. It may be that the site was picked for fewer answers; it may equally be that the engine changed how it retrieves — caching more, or fetching fewer pages per answer — in the same week it changed its tracking. Either way the change was made inside the engine, and no edit to the site is a lever on it.

6 · What was within reach

One change in the same week had a clean cause and effect

The store had 439 placeholder pages left over from renamed products, each answering 200 with a noindex tag and a meta refresh. Roughly a third of Googlebot's visits were being spent on addresses that could never be indexed. On 11 October they were replaced with real 301 redirects. Googlebot's requests to those addresses:

DayRequests to placeholder addresses
9 Oct23
10 Oct13
11 Oct (fix)9
12 Oct3

One variable, a response in the logs within a day. That is the kind of result that can honestly be called a result.

Google search rankings for the store's main queries also improved over the autumn. That is not claimed here as an effect of the work: there was no control group, the domain was ageing, competitors were moving, and many things changed at once.

7 · What it means if you are buying GEO work

Ask what your supplier will do when this happens to you

  • Nobody can sell you a citation in ChatGPT. In one week the engine changed how it tags clicks and how often it reads this store, and the store changed neither. Any promise of being "put into" ChatGPT answers is a promise about decisions made inside the engine.
  • Ask how they would tell a real drop from a tracking change. Tagged clicks alone showed a collapse that was mostly not real. This store needed three numbers side by side: tagged clicks, direct visits by landing page, and live fetches in the server log. The first version of this page used two and got the size of the drop wrong.
  • Ask how they would prove the site was not the cause. Without every crawler side by side, a drop like this gets blamed on the last change anyone made — and someone spends a month undoing good work.
  • Ask which of their results have a clean cause. Most will not. Those that do are usually technical, small and visible in the logs within days.

8 · Method

Repeat it on your own server

Source: the nginx access log of the store, all rotated files. Requests to exploit paths are removed first — on one site measured earlier, 86% of requests carrying AI-crawler names were scanners probing for .env and .git, not crawlers.

zcat -f /var/log/nginx/access.log* \
 | grep -vE '\.(env|php|git|asp|aspx|jsp|cgi)|wp-|phpmyadmin|xmlrpc' \
 | grep 'ChatGPT-User' \
 | awk '{print substr($4,2,11)}' | sort | uniq -c

Swap ChatGPT-User for OAI-SearchBot, GPTBot, ClaudeBot, PerplexityBot and Googlebot to build the control columns. Count visitors from ChatGPT as unique IP addresses per day on requests containing utm_source=chatgpt.com, excluding crawler user agents. For section 1, take each address's first page view of the day, keep only addresses that also loaded the site's stylesheet (a real browser rendered the page), and classify it by tag and referrer; "direct" is no referrer and no UTM tag. Compare direct visits by landing page before and after.

Check that the fetcher is real. Any scanner can put ChatGPT-User in its user agent, so match each address against the ranges OpenAI publishes at openai.com/chatgpt-user.json. On this store every ChatGPT-User request from 5 to 19 October came from a published range; earlier log files had already rotated out, and the impersonating requests before the drop were the 404s described in section 4.

What this measurement does not show: why ChatGPT fetched the site less often — fewer answers, a different retrieval method, a model update, or something else. It cannot prove that every new direct visit came from ChatGPT; the landing pages and timing point that way, nothing more. It covers one store. It shows that the cause was not on the site, that tagged clicks alone overstated the drop several times over, and that the server saw the real change the day it happened.