Answers

Is bot traffic masking a real conversion problem?

Short answer

Recompute your conversion rate after excluding sessions with zero engagement time, no scroll events, and single-page paths. If the cleaned rate is stable while the raw rate fell, bot volume changed and your funnel didn't. Note that this cuts both ways: bots can hide a real decline as easily as they can manufacture a fake one, so run the check before starting or dismissing any conversion project.

Which direction do bots push the number?

Bots add sessions and never convert, so they push conversion rate down. The size of the effect depends entirely on where you measure.

Where measuredBot exposure
GA4 and other JavaScript analyticsLow. Most crawlers don't execute JavaScript
Server logs and CDN dashboardsHigh. Every request counts
Ad platform pixelsLow. Also JavaScript-based

So if your CDN says 0.9% and GA4 says 2.1%, both are correct and they have different denominators. That gap alone isn't a bot problem, it's a measurement mismatch.

The genuine bot problem in GA4 comes from headless browsers that do render JavaScript, and those are worth isolating.

Isolate the suspect sessions

Non-human sessions in GA4 share a signature. Build an Exploration filtered to sessions with:

Then check the volume of that segment across both periods. If it grew materially between them, you have a candidate explanation for the rate decline that has nothing to do with your funnel.

Two supporting checks that firm it up:

Hourly distribution. Human traffic follows a daily rhythm. A flat line across all 24 hours is machine traffic.

Geography and device. A sudden concentration from one region or one unusual screen resolution is the other common tell.

Recompute, then compare

Now run the arithmetic that answers the question.

1. Raw conversion rate, both periods.

2. Cleaned conversion rate, both periods, excluding the suspect segment.

3. Compare the two movements.

Raw rateCleaned rateDiagnosis
FellStableBot volume grew. Funnel is fine.
FellFell similarlyReal conversion problem. Investigate the funnel.
StableFellBots masked a real decline. The worst case.
FellFell lessBoth. Size each separately.

The third row is why this check matters even when your numbers look fine. A shrinking bot population can hold your raw rate steady while genuine performance deteriorates underneath it.

Rule out the far more common cause first

Before concluding bots, check traffic mix. It explains conversion rate movement far more often and is quicker to test.

Your blended rate is a weighted average across pages, so it falls when traffic shifts toward low-converting pages even if every page performs identically. Recompute this period's rate using last period's traffic distribution, and if it matches your old number, mix explains it entirely. Full method in Why did conversions fall after traffic shifted to different landing pages?.

Run the mix check first. It takes fifteen minutes and resolves more cases than the bot check does.

The AI crawler question, answered plainly

AI crawlers are the current worry, and for GA4 the answer is usually that they aren't your problem.

They fetch HTML and move on without executing JavaScript, so they never fire the tag and never enter your GA4 denominator. They do inflate server-side and CDN numbers substantially, which is a real cost and a real reporting distortion, but not a conversion-rate one in your analytics. Google's documentation on AI features sets out how its own AI surfaces access content, and each vendor publishes equivalent guidance for verifying their agents.

What they do affect is worth knowing separately. Our own state of AI search research, covering more than 22,000 answers and 115,000 citation events, found the pages AI systems actually cite are a narrow subset of everything they fetch. Heavy crawl activity tells you a page is reachable, not that it's valued. See How do AI crawlers distort my traffic and conversion-rate reporting?.

Keep the clean segment permanent

The mistake is treating this as a one-off investigation. Build the exclusion into your standard reporting so the question never has to be asked again.

Create a saved segment for verified human sessions and use it as the default denominator for every conversion metric. Confirm bot filtering is enabled under Admin → Data Streams → Data filters, and add internal traffic exclusions for your own IP ranges while you're there.

Then report the suspect-session volume as its own tracked line, so a change in it is visible rather than something that quietly moves your rate.

Automate the clean comparison

The reason this check gets skipped is that it needs two segments, two periods, and a comparison, which is more clicks than most people will do monthly.

GA4 AI Traffic Overview, AI Landing Pages, and Recent AI Visitors together let you separate genuine AI-referred human sessions from both bot noise and unattributed Direct, which matters because AI-referred visitors arrive at a different funnel stage and shift your blended rate on their own.

Analyze AI's AI traffic view separating referred sessions by source and behaviour

A monthly agent:

Start (schedule, 1st of month) → GA4 AI Traffic OverviewAI Landing PagesRecent AI VisitorsHubSpot Get CRM Objects (conversions by landing page, both periods) → Code (build the suspect-session segment, compute raw and cleaned conversion rates for both periods, then also recompute at prior traffic weights to separate mix from bots) → Conditional (if suspect-session volume moved less than 5%, skip the bot narrative entirely) → Prompt LLM (attribute the rate change across bots, mix, and genuine performance) → Excel exportSend Email to CMO.

The Conditional is what stops this becoming a standing excuse. If bot volume barely moved, the agent doesn't offer bots as an explanation, which keeps the analysis honest when the real answer is that the funnel got worse.

FAQ


Want conversion rates computed on verified human sessions by default? Start a free Analyze AI trial and connect GA4 and your CRM.