TopSyde
Free malware scannerGet your free site auditStart Risk-Free

AI Shopping Agents Are Hitting Your Checkout

How to spot AI shopping agents, scalpers and coupon bots in your WooCommerce logs, what to allow or block, and how to protect stock and discount codes.

Elena Marchetti

Elena Marchetti

Content & SEO Strategist

··12 min read

Last updated: September 25, 2026

Automated shopping agent sessions moving through a WooCommerce checkout while a store owner reviews server logs

An AI shopping agent is software that browses, compares, and sometimes buys on a person's behalf. When one reaches your checkout it looks like a very fast customer with no mouse movement and no hesitation. Some have a real buyer and a real card behind them. Others are scalpers and coupon scripts wearing the same coat.

What is an AI shopping agent and why is it on your checkout page?

An AI shopping agent is a browsing session driven by a model rather than a person. The shopper types "find me a 12mm hex driver under $40 that ships by Friday" into ChatGPT, Perplexity, or Gemini, and the agent loads your product page, reads price and stock, sometimes adds to cart, and occasionally completes the purchase.

Three separate things show up in your logs and they get confused constantly:

Crawlers index your catalog for answers. GPTBot, ClaudeBot, PerplexityBot, and Google-Extended pull product data so a model can cite you later. They never buy anything.

User-triggered agents fetch a page because a specific person asked right now. ChatGPT-User, Claude-User, and Perplexity-User fall here. These sessions correlate with actual purchase intent.

Everything else copies those user agent strings because it works. Sneaker scalpers, inventory scrapers running for a competitor, coupon brute-forcers, and card testers all learned that "PerplexityBot" gets fewer 403s than "python-requests/2.31".

That third bucket is where your money goes.

How to tell a real AI agent from a scalper in your logs

Verification comes down to three checks, and all three take about ten minutes to set up once.

Check the published IP ranges. OpenAI, Anthropic, and Perplexity each publish JSON files listing the IP blocks their crawlers and user agents operate from. If a request claims to be GPTBot and arrives from a residential ASN in a country with no logical connection to your catalog, it is lying. Cloudflare and similar edge providers now verify these signatures for you and label the traffic.

Do a forward-confirmed reverse DNS lookup. Take the IP, resolve it back to a hostname, then resolve that hostname forward to confirm it matches. Real Googlebot resolves to googlebot.com. Fake anything resolves to a hosting provider or a consumer ISP.

Read the request pattern, not the header. A user-triggered agent fetching a product page behaves like a stripped-down browser: it pulls the HTML, maybe the structured data, and leaves. A scalper hammers the WooCommerce Store API directly, polls variation availability every 800 milliseconds, never requests a single CSS file, and produces an add-to-cart rate that no human population would generate.

Coupon abuse has its own fingerprint. Watch for repeated POSTs to admin-ajax.php with apply_coupon, or to /wp-json/wc/store/v1/cart/apply-coupon, from sessions that never loaded a product page. That is a dictionary attack against your discount codes, and it runs fine against a store with no rate limiting on those endpoints. We covered the mechanics of protecting those routes in our guide to WordPress API rate limiting and DDoS protection.

If your only visibility is Google Analytics, you are seeing maybe a third of this. GA4 needs JavaScript to fire, and most of the traffic doing damage never executes it. Server logs and edge logs are where the picture lives, which is the argument we made in detail in WordPress bot traffic detection beyond GA4.

Which bots to allow, rate limit, or block

The instinct after a bad week is to block everything non-human. That costs you discovery revenue at exactly the moment agent-driven shopping is growing. Sort by intent instead.

Traffic typeWhat it looks like in logsWhat it costs youRecommended action
Named AI crawler (GPTBot, ClaudeBot, PerplexityBot)Steady catalog crawl, respects robots.txt, verified IPBandwidth onlyAllow on product and category pages, block on cart and checkout
User-triggered agent (ChatGPT-User, Claude-User, Perplexity-User)Single product page, verified IP, tight sessionAlmost nothingAllow, rate limit to a sane ceiling
Unverified agent using a known user agentCorrect UA string, wrong ASN, failed rDNSScraped pricing, stock probingChallenge or block
Stock scalperStore API polling, no CSS or image requests, rotating residential IPsHeld inventory, real buyers see sold outBlock at the edge
Coupon brute-forcerRepeated apply-coupon POSTs, no product page viewsMargin, leaked codesBlock plus hard rate limit on coupon endpoints
Card testerRapid small-value checkout attempts, many declines, distinct BINsChargeback fees, processor penaltiesBlock, and audit for a compromised plugin

Two rules make this manageable. First, your product and category pages should stay open to verified crawlers, because being absent from model answers is a slower and more expensive problem than a bandwidth bill. Second, nothing automated has any business on /cart/, /checkout/, or the coupon endpoints unless it is a verified agent operating through a payments protocol you have opted into.

What bot traffic at checkout costs a WooCommerce store

Run the arithmetic on your own numbers and the case makes itself.

A 15% welcome code on a $92 average order is worth $13.80 per redemption. If a script finds that code and burns 600 redemptions across rotating sessions in two days, that is $8,280 off the top line, plus whatever you spent acquiring the traffic that should have used it.

Stock holding is worse because it is invisible on the P&L. WooCommerce can reserve inventory for items sitting in a cart. A scalper holding forty units of a limited product for the length of your hold window turns a live listing into a sold-out one for every real customer who arrives during that window. You do not see a refund line. You see a quiet day.

Card testing brings a cost you cannot argue with. Each disputed transaction carries a chargeback fee in the $15-$25 range from most processors, and enough of them in one month moves you into a monitoring program with higher rates attached.

Then there is the measurement damage. Baymard Institute puts the documented average cart abandonment rate at 70.19% across dozens of studies. If a meaningful slice of your carts were never human, your abandonment number is fiction, your recovery email open rates are diluted, and you are optimizing a funnel against data that includes scripts. Worth reading alongside our take on WooCommerce abandoned cart recovery without more popups, because most stores respond to a bad abandonment number by adding friction that only the humans feel.

Server cost is the last line. Automated traffic made up 51% of all web traffic in 2024 according to Imperva's 2025 Bad Bot Report, with bad bots at 37%. Cart and checkout pages are uncacheable by definition, so every one of those requests hits PHP and MySQL. That is CPU you are paying for and latency your buyers absorb. On shared hosting it is also how a store ends up throttled during a sale, which is the whole argument in why your WooCommerce store needs managed hosting, not shared.

How to protect stock and discount codes without killing conversions

Every control here is invisible to a normal shopper. That is the test: if a customer notices it, it is the wrong control.

Start with the codes themselves. Set usage limits per coupon and per customer inside WooCommerce, cap the redemption count on any public code, and give affiliates and influencers unique codes rather than sharing one. A code that can only be used 200 times cannot cost you $8,000.

Rate limit the coupon endpoints at the edge, not in PHP. Five apply-coupon attempts per session per minute is generous for a human and fatal for a dictionary attack. Doing it at the edge means the request never reaches your origin, so it never costs you a PHP worker.

Shorten your cart reservation window on limited-stock items. Ten or fifteen minutes is plenty for someone who came to buy, and it releases inventory that a script parked there.

Put a challenge on checkout rather than on the whole site. Turnstile or an equivalent invisible challenge on the checkout POST catches scripted submissions without making a real buyer solve a puzzle. Do not put it on the product page. That is where conversions live.

Block unverified requests to cart, checkout, and the Store API cart routes. Verified agents and real browsers pass. Everything else gets a 403 before it touches WordPress.

Card testing floods usually mean something else is already wrong. A compromised checkout plugin or an injected script is the common source, and the flood is the symptom. That is where TopSyde Sentinel does its work on our stack: detecting and removing the malware that turned your checkout into somebody else's testing endpoint.

Where agentic commerce goes from here

The direction of travel is toward agents that identify themselves cryptographically instead of by a user agent string you can spoof in a text editor. Google published the Agent Payments Protocol in 2025, Stripe and OpenAI shipped the Agentic Commerce Protocol behind Instant Checkout, and the card networks have announced their own agent verification schemes. Cloudflare rolled out signed agent verification the same year.

The practical read for a store owner: the identity problem gets solved by the payment layer over the next few years, and until then you verify by IP range and behavior. Adobe Analytics recorded a 1,200% increase in traffic from generative AI sources to US retail sites between July 2024 and February 2025, and that curve has not flattened. Blocking the category wholesale means opting out of a growing referral channel to stop a problem that better-targeted rules already handle.

What you want is a store whose product pages are legible to agents, whose structured data is accurate on price and stock, and whose checkout is closed to anything that cannot prove it belongs there. Those are different jobs. Treating them as one job is the mistake, and it shows up in both directions: stores that block everything lose discovery, stores that block nothing lose margin.

How TopSyde handles this on managed WooCommerce hosting

Our WooCommerce plans run bot filtering at the edge with verified-agent rules already configured, so named crawlers reach your catalog and unverified traffic never reaches your cart or coupon endpoints. Rate limits on the Store API and admin-ajax routes ship on by default. Monitoring runs 24/7, and if something spikes, our support team responds in under 2 hours during business hours.

You also get the boring infrastructure that keeps a store upright when traffic goes sideways: object caching, isolated PHP workers, and staging so you can test a checkout change before it meets real customers. That list is on our hosting stack page, and plans start at $89/mo per site on our pricing page.

If you are not sure what is hitting your store right now, send us your domain and we will read the edge logs with you. Migration is handled on our side, and every plan carries a 30-day money-back guarantee. Stores that are still on shared hosting and wondering why their developer keeps complaining about deploy times will recognize a lot in why your developer hates your hosting, and if you are earlier in the build, 12 WooCommerce beginner mistakes that break stores covers the setup errors that make bot damage worse.

Frequently Asked Questions

Should I block AI crawlers like GPTBot from my WooCommerce store?

Not from your product and category pages. Those crawls are how your catalog ends up in model answers when a shopper asks for a product you sell. Block them from cart, checkout, and account pages, where they have no legitimate reason to be and where every request costs you a PHP worker.

How do I know if an AI agent user agent is real?

Check the source IP against the published ranges each provider maintains, then run a forward-confirmed reverse DNS lookup. If the hostname does not resolve back to the provider's domain, the user agent is spoofed. Behavior is the second signal: real agents fetch a page and leave, while scrapers poll endpoints and skip CSS entirely.

Will rate limiting my checkout hurt conversions?

Not at sane thresholds. A human applies one or two coupon codes and submits checkout once. Limits set at five attempts per minute per session catch scripts and never touch a real buyer. The controls that do hurt conversions are visible ones, like CAPTCHAs on product pages or forced account creation.

Can an AI shopping agent actually complete a purchase on WooCommerce?

Yes, and increasingly they do through agent payment protocols that pass a tokenized card and a verified agent identity. Those transactions are legitimate revenue. The goal is to accept them while refusing unverified automation, which is a rules problem at the edge rather than a plugin problem inside WordPress.

Elena Marchetti
Elena Marchetti

Content & SEO Strategist

7+ years SEO & content strategy, Google Analytics certified

Elena drives content strategy and SEO at TopSyde, helping clients maximize organic visibility and AI search presence. She combines technical WordPress knowledge with data-driven content optimization.

Related Articles

View all →

Managed WooCommerce

Your store, off your plate.

Hosting tuned for checkout speed, updates tested before they ship, daily security scans, and a senior developer on call when an order breaks. Flat $89/mo — everything included.

Flat $89/mo per site · Free migration · 30-day money-back guarantee