Some of your visitors aren't people any more, and some of your customers never visit at all.
AI assistants started by answering questions. Now they browse. ChatGPT's agent mode can open a website, read pages, fill in forms and work through a task a person has handed it. Other assistants do similar things.
Checkout is moving the same way. OpenAI and Stripe have published an agentic commerce protocol so a purchase can be completed inside ChatGPT, and Google has announced its own work on payments made by agents. The details will keep shifting. The direction won't.
Analytics was built on an assumption nobody wrote down: a person, in a browser, on your pages. Each part of that is now optional.
Some agents look like people.
An agent that drives a real browser loads your pages the way a person's browser does. It runs JavaScript. Your consent banner appears, and depending on how the agent handles it, your tags may fire.
When they do, GA4 records a session. It may be short, oddly direct, with no scrolling and a form completed faster than anyone could type. Or it may look perfectly ordinary. Either way it counts towards sessions, engagement rate and any funnel built on them.
GA4 excludes traffic from known bots and spiders automatically, and you can't switch that off or see how much it removed. It relies on published bot lists. An agent using a normal browser identity isn't on that list in any useful sense, so it can pass straight through.
Some agents are invisible.
Other agents fetch pages without running JavaScript. They read the HTML, take what they need and leave. No tag fires, so GA4 never hears about them.
They still show up somewhere: in your server logs, or your CDN's analytics if you use one. Many AI crawlers and fetchers identify themselves in the user agent string, and some sign their requests so sites can verify who they are. Plenty of requests are less forthcoming.
So one visit type inflates GA4 and another is missing from it entirely. Neither shows up as a line in any standard report.
The purchase that never touched your site.
This is the part that will matter most to ecommerce teams. When a purchase is completed inside an AI app, the order can reach your systems without anyone loading your product page, basket or confirmation page.
Your on-site tags never see it. The order lands in Shopify or Stripe, the revenue is real, and GA4 records nothing, because the page that carries the purchase event was never loaded.
The same applies to leads. An agent that books an appointment through an API, or submits a form without running your scripts, creates a record in your CRM that analytics can't match to anything.
Back-office revenue grows while GA4 stays flat. That's another reason GA4 revenue doesn't match Shopify or Stripe, and it will be harder to spot than a broken tag, because nothing is broken.
The decision happened somewhere you can't see.
Attribution assumes you can see the step before the visit. With AI assistants, the comparison, the shortlist and often the decision happen in a conversation. You receive the outcome.
Referral data from AI tools is thin. Some send a referrer or add a utm_source to links, some don't, and apps often strip both. A person who read about you in an assistant and later typed your address arrives as Direct. The guide to tracking AI traffic in GA4 covers what can be captured.
No setting fixes this. The honest position is that some influence won't be attributable, and your reporting should say so rather than hand the credit to whichever channel happened to be last.
What to do now.
None of this calls for a rebuild. It calls for knowing which of your numbers still mean what you think they mean.
- Separate AI assistant traffic in GA4. Build a custom channel group, or at least a segment, for known AI referrers. It won't catch everything, but it turns an invisible trend into a visible one.
- Compare GA4 with your server or CDN logs. Look for AI agent and crawler user agents in the logs, then check whether GA4 shows sessions at the same pages and times. The gap tells you which kind of agent you're dealing with.
- Record purchases and leads from the back office too. If a purchase or lead can happen without a page load, a browser tag can't be the only record of it. Send orders from the platform or payment provider, for example through server-side GTM or the Measurement Protocol.
- Keep the data layer and product data clean. Agents read the page too. Accurate prices, stock status and structured product data help an agent represent you correctly, and the same fields make your own ecommerce events trustworthy.
- Decide what "a visit" means. Agree whether agent sessions count, where they're excluded, and how you'll label reports that include them. If nobody decides, every dashboard will quietly decide differently.
The fourth point is easy to underrate. Structured data used to be about search listings. It's now also how a piece of software, acting for a buyer, understands what you sell.
The numbers are changing meaning.
Sessions used to be a rough proxy for interest. Revenue in GA4 used to be a fair sample of revenue in the business. Both assumptions are weakening, and they're weakening quietly.
That doesn't make GA4 less useful. It makes the reconciliation between GA4, your logs and your back office more important than any single report. The businesses that cope will be the ones that know which source to trust for which question.
If you'd like to know where agent traffic and off-site orders are already bending your reports, the GA4 mini audit is a sensible first check, and the 38-point GA4 audit covers the full setup.