Navigating a Sudden Shopify Direct Traffic Spike: Is it Bots, AI, or a GA4 Glitch?
Hey fellow store owners!
Lately, there’s been some chatter in the Shopify community about a pretty alarming analytics issue: sudden, massive spikes in “Direct / (none)” traffic showing up in Google Analytics 4 (GA4). One merchant recently posted about seeing their usual 200-300 daily Direct sessions jump to an incredible 14,000 in a single day. And the patterns they described in GA4 – weird countries, odd screen resolutions like 1366×1366, often from Singapore, Chrome, and Macintosh – definitely didn’t look like normal customer behavior.
This kind of thing can send shivers down your spine, right? Is it real traffic? Are you suddenly a global sensation? Or is it something more sinister, like bots or a GA4 misfire? The community rallied with some really sharp insights, and I wanted to break down what we learned to help anyone else facing this.
The Great Traffic Detective Work: Where to Start
The core question everyone had was: Are these users actually reaching the website, or are fake/automated events being sent directly to GA4? This is crucial because it changes your entire approach to diagnosis and mitigation.
Step 1: The Three-Way Comparison – Your First Line of Defense
This was the loudest and clearest advice from the community, coming from several experts like Icey.Lane, Ad-attack, and drstone. Forget deep-diving into GA4 dimensions just yet. Your fastest diagnosis comes from comparing three data sources for that exact spike day:
- Your GA4 sessions: The 14,000-session number you’re seeing.
- Shopify Analytics sessions: What does your Shopify admin report for that day?
- Cloudflare requests (if you use it): Do your Cloudflare logs show a corresponding jump in requests?
Here’s why this comparison is gold:
- GA4 relies on JavaScript executing in a browser.
- Shopify counts sessions on its own server side, meaning traffic actually reached your store.
- Cloudflare logs all requests hitting your domain, even before they reach Shopify.
What the comparison tells you:
-
Scenario A: GA4 is spiked, but Shopify Analytics and Cloudflare are flat (showing your usual 200-300 sessions).
This is the most likely scenario for many. As lumine and Ad-attack pointed out, this means the traffic never actually arrived at your store. What you’re seeing are hits sent directly to your GA4 property using your public measurement ID. Anyone can grab that ID from your page source and send fake data. This is often called measurement spam or spoofed hits. Shopify’s bot filter won’t even see this, because the visits didn’t hit Shopify. -
Scenario B: GA4, Shopify Analytics, AND Cloudflare all show a significant spike.
If all three moved, then the traffic genuinely arrived at your store. This points to a scripted headless browser rather than simple crawlers. Headless browsers are automated tools that can load web pages, execute JavaScript (like your GA4 tag!), and mimic user behavior. The “1366×1366” screen size is a dead giveaway here, as drstone and lumine noted – it’s a common default viewport size for automated scripts, not a real laptop display.
Dealing with the Data Mess: Next Steps
If it’s Measurement Spam (Scenario A: GA4 spike only)
This is annoying, but fixable for the future. Remember Ad-attack’s crucial point: GA4 cannot retroactively remove data. That spike day is permanently in your history. So, annotate it in GA4 and move on.
To clean up future data:
-
Filter by Hostname in GA4: As clickfromai and drstone suggested, check the “Hostname” dimension in GA4. If you see anything other than your actual store domains (e.g., “unknown” or blank hostnames), those are injected events. Create a GA4 comparison or filter to only include your legitimate hostnames going forward.
-
Implement Internal Traffic Rules / Unwanted Referrals: Set these up in GA4 to filter out known spam sources or internal traffic that might be skewing your data.
Check your marketing spend: Ad-attack highlighted the real financial impact here. If your GA4 property feeds into Google Ads for remarketing lists or conversion signals, that junk data is costing you money. Check your Google Ads audience manager for any remarketing lists sourced from GA4 and see how they jumped. Also, look at any GA4 conversion actions imported into Google Ads for bidding; smart bidding will chase those fake patterns!
If it’s Headless Browser Automation (Scenario B: All three spike)
This means something is genuinely hitting your site, but it’s not a human. The clues like Singapore (often a datacenter region, not a market) and the specific screen resolution strengthen this.
Here’s how to investigate and mitigate:
-
Shopify’s Human/Bot Filter: As gotinker recommended, in Shopify Analytics, try flipping on the “Human/bot filter” for that day. This can help you see how much of the spike Shopify itself identifies as bot traffic.
-
Deep Dive into Cloudflare: Since Cloudflare saw the traffic, dig into its analytics. Look at user agents, Autonomous System Numbers (ASNs), and IP ranges. You can often identify datacenter traffic by its ASN. If you find suspicious patterns, Cloudflare allows you to block these at the edge.
-
GA4 Dimensions for Suspicious Patterns: Even if it’s real bot traffic, GA4 can still help. Look for repeated landing pages, identical event counts per session, or strange sequences of events (e.g., add_to_cart without browsing). These are hallmarks of scripted behavior, as clickfromai pointed out.
What About the llms.txt and AI Agent Theory?
The original poster wondered if their new `llms.txt` file or UCP/MCP endpoints might be related to AI/LLM traffic. The consensus from the community (Bristan_FARRE, drstone, lumine, gotinker) was pretty clear: you can take this off your worry list for GA4 spikes.
-
First, `llms.txt` and the UCP/MCP endpoints are standard Shopify features, automatically generated for every store. If they caused a spike, the entire platform would see it, not just your store.
-
Second, and most importantly, AI crawlers or agents fetching `llms.txt` or MCP endpoints typically do not execute your theme’s JavaScript. Since GA4 relies on client-side JavaScript (`gtag`) to fire, these types of fetches won’t create GA4 sessions. If these agents are hitting your site, you’d see it in your server logs (like Cloudflare) or Shopify’s bot filter, not as 14,000 GA4 sessions.
So, while AI agents are definitely a thing, they’re not the culprit for GA4 Direct traffic spikes like this one.
It’s frustrating when your analytics get messy, especially with the transition to GA4 still feeling new for many of us. But by systematically comparing your data sources and understanding what each system is actually measuring, you can quickly diagnose these phantom traffic spikes. The key takeaway is to not panic, use your tools wisely, and remember that your Shopify order-level attribution is generally safe from these GA4 measurement issues. Keep an eye on those Google Ads accounts, though!