
If your analytics dashboard shows 10,000 monthly visitors, somewhere between 15% and 40% of that number is probably bots. Not malicious traffic—just crawlers, monitoring services, SEO tools, and automated scrapers that ping your site without any human behind them.
Most analytics platforms count these as real visitors by default. And unless you’ve configured filters, you’re making decisions based on inflated numbers.
Why analytics tools count bots in the first place
Client-side analytics tools like Google Analytics 4, Plausible, and Fathom fire a JavaScript snippet when a page loads. If the bot renders JavaScript, the analytics event fires. If it doesn’t, the request still shows up in server logs—and server-side analytics tools count it.
Google Analytics 4 has built-in bot filtering, but it’s not comprehensive. It blocks known bots from the IAB/ABC International Spiders and Bots List, which covers major crawlers like Googlebot and Bingbot. But it misses:
- Uptime monitors (Pingdom, UptimeRobot, StatusCake)
- SEO crawlers (Ahrefs, Semrush, Moz)
- Social media preview scrapers (LinkedIn, Slack, Discord)
- Headless browser automation (Playwright, Puppeteer scripts)
- RSS feed readers that also fetch the full page
Each of these shows up as a pageview. Some trigger multiple events per visit if they follow internal links.
How to spot bot traffic in your current numbers
Three signals tell you bots are inflating your counts:
Abnormally high bounce rate on specific pages. If a page shows 95%+ bounce with an average session duration under three seconds, you’re likely looking at bot traffic. Uptime monitors hit the homepage and leave. SEO crawlers fetch a page, extract the content, and exit.
Traffic spikes at regular intervals. Check your hourly traffic distribution. If you see consistent spikes every hour, every six hours, or every day at the same time, that’s automated monitoring. Human traffic clusters around working hours in your audience’s timezone.
Zero scroll depth and instant exits. Platforms that track scroll depth (Hotjar, Microsoft Clarity, Fathom’s newer builds) show bots as 0% scroll. If a page shows hundreds of visits with zero engagement and no scroll, filter those out manually or via segments.
The filtering options that actually work
Server-side filtering is more reliable than client-side. If you control your web server or use a reverse proxy like Cloudflare, you can block bot traffic before it reaches your analytics tool.
In Google Analytics 4, enable bot filtering under Admin → Data Settings → Data Filters → Internal Traffic. You’ll need to define internal traffic by IP or user agent. The built-in bot filter is already on by default, but it’s not enough—add custom filters for known monitoring services.
In Plausible, bot filtering is automatic and more aggressive than GA4. The platform blocks traffic from data centers, known crawlers, and requests without a referrer or with suspicious user agents. You can’t customize it, but the default works well for most solo operators.
Fathom takes a similar approach: automatic filtering with no configuration required. It excludes bot traffic by checking for JavaScript execution, referrer presence, and IP reputation. Unlike Plausible, Fathom also filters out traffic from VPNs and known hosting providers by default, which can occasionally exclude real users—but keeps bot counts low.
For self-hosted analytics (Matomo, Umami, Ackee), you’ll need to configure exclusions manually. Most support regex-based user agent filtering. A starter list:
bot|crawler|spider|scraper|headless|phantom|seleniumuptimerobot|pingdom|statuscake|newrelicahrefsbot|semrushbot|mj12bot|dotbot|blexbot
Test your regex in a staging environment first—you can accidentally block legitimate traffic if you’re too broad.
What the real numbers tell you
After you filter bots, expect your visitor count to drop by 15–40%. For sites with heavy SEO tool activity or uptime monitoring, the drop can hit 50%.
That’s not a problem. It’s clarification.
Your engagement metrics—time on page, scroll depth, conversion rate—will improve because you’re no longer averaging in zero-second bot visits. If your conversion rate was 2% before filtering and 3.2% after, you didn’t suddenly get better at writing CTAs. You just removed the denominator noise.
One non-obvious benefit: better attribution data. When bots trigger pageviews without referrers, they dilute your traffic source reports. After filtering, you’ll see clearer breakdowns of which channels actually send engaged visitors. That matters when you’re deciding where to spend time or ad budget.
If you’re running a content site and using traffic numbers to pitch sponsors, filter first. Advertisers who audit your analytics will spot bot inflation immediately. Showing 6,000 real visitors is more credible than claiming 10,000 mixed visits.
Want more operator-to-operator breakdowns like this? Subscribe to One Two Three Send for weekly deep dives into the tools and tactics that actually move the needle for solo operators and small teams.
