Shopify's Fake Abandoned Checkout Bots Are Corrupting Your Customer List and Analytics: A Containment Plan

By Milan Dhameliya · · 9 min read

Since early 2025, waves of bots — merchants have nicknamed one recurring pattern "James James" — have been creating tens of thousands of fake customers and abandoned checkouts on Shopify stores, wrecking email deliverability, GA4 conversion data, and ad attribution. Shopify has not shipped a platform-level fix. Here's a concrete Shopify Flow and email-hygiene plan to contain the damage.

If your Shopify admin has quietly filled up with customer profiles named things like "Will Will" or "Tyler Tyler," an email address ending in @yopmail.com or @rtremail.com, and an abandoned checkout count that has climbed for no reason you can point to, you're not imagining it and you're not the only store it's happening to. Since roughly January 2025, Shopify merchants have been reporting recurring waves of bot traffic — one persistent pattern is nicknamed "James James" after a recurring fake profile — that create fake customer accounts and abandoned checkouts at scale, sometimes 10-20 a day on a small store, sometimes in the thousands on larger ones. Community threads describe individual merchants clearing out 50,000+ fake profiles in a single cleanup pass.

This isn't the low-volume spam every store has always had a little of. It's automated, it runs in waves every few hours, and as of a merchant thread from April 2026, Shopify's own product team engaged publicly after a merchant posted hard numbers showing abandoned checkouts had grown by roughly a fifth in the four weeks after Shopify said it had "strengthened protections." There is no changelog entry documenting a platform-level fix. This is a problem you have to contain yourself, not one you can wait out.

What's actually happening

Why this costs more than admin clutter

The direct damage isn't the fake profiles sitting in your customer list — it's what happens once your other tools treat them as real:

Step 1: confirm the pattern before you automate anything

Pull a sample of 20-30 recent customer records or abandoned checkouts and look for the shared signature rather than assuming every unfamiliar customer is a bot. The patterns that show up repeatedly in merchant reports:

Don't automate deletion on "email looks weird" alone — false positives here mean deleting a real customer's account, which is worse than leaving a few bot profiles uncleaned for another day.

Step 2: automate cleanup with Shopify Flow, not manual review

Shopify Flow can act on a Customer created trigger before the volume becomes unmanageable. A workflow matching the pattern merchants have had success with:

Tag first, delete second. Running the workflow in tag-only mode for a week lets you spot-check the tagged batch before you let Flow delete customers unattended — a workflow that's slightly wrong at 50 fake accounts a day is a nuisance; the same workflow wrong at 50 real accounts a day is a support disaster.

Add a second Flow triggered on Checkout created with the same empty-name condition to tag suspect abandoned checkouts, so your recovery email app can exclude them from send lists at the source instead of after the fact.

Step 3: cut off the flood before it reaches your email platform

Cleaning up inside Shopify doesn't automatically clean up Klaviyo, Omnisend, or whichever platform you sync customers into — a profile synced before you tagged and deleted it in Shopify can still sit in an email list. Build a suppression segment in your email platform keyed on the same signal (missing name fields, disposable domain, or the bot-suspected tag if your integration syncs Shopify tags), and exclude that segment from every automated flow, not just cold campaigns. Do this before you clean up Shopify, because the email platform is where the deliverability damage actually happens.

Step 4: reduce how far bots get without hurting real checkout conversion

Two settings changes merchants report as genuinely useful, and one that's a real tradeoff:

Step 5: for Shopify Plus, a checkout validation Function has a real but limited role

If you're on Plus and have Shopify Functions available — the same replacement platform covered in our Shopify Scripts migration guide — a cart or checkout validation Function that rejects known disposable email domains at the information step can stop some of this before an abandoned checkout is even recorded. Be clear-eyed about its limits though: a validation Function only runs once a real customer reaches that step in your storefront's checkout UI. Bots that hit the Storefront API directly, bypassing your theme entirely, never trigger it. Treat it as one more layer, not the fix.

Setting expectations honestly

Nothing in this plan stops the bot traffic at its source — that has to happen on Shopify's infrastructure, and as of this writing there's no confirmed platform-level fix, despite Shopify's public statements about strengthened protections. What this plan does is stop the fake data from reaching the systems where it does real damage: your email sender reputation, your marketing platform's contact list, and your conversion analytics. That containment is achievable today with Flow and segment exclusions; waiting for Shopify to close the underlying hole is not a plan you can budget around.

Code Kaarigari builds Shopify Flow automations and checkout Functions for stores dealing with exactly this kind of platform-level noise, and can wire up the tagging, suppression, and validation layers described here end to end. Start with our Shopify development services, or contact Code Kaarigari to get a Flow-based containment workflow running against your own store's bot pattern.

Sources reviewed