The weekend that makes or breaks a retail year is also the weekend bot operators plan for months in advance. Scalpers time their scripts to the second a drop goes live. Carding crews test stolen numbers in bursts, hoping a fraction authorize before anyone notices. Inventory abusers sit on stock they never intend to buy. None of this looks like a dramatic outage. It looks like sellouts that never ship, a checkout that feels sluggish, and support tickets about items that vanished from a cart. A real-time monitoring plan turns those quiet distortions into a page someone can act on.
Two to three weeks before your first big sale, spend four or five normal days measuring what healthy traffic looks like. You are not hunting bots yet. You are building the reference numbers that every alert will be compared against.
Capture, broken out by endpoint, and segmented by geography, network owner, device type, and login state:
Write down your real drop times too, including the ones marketing has not announced publicly. A threshold derived from a clean week will beat a generic blocklist every time, because it knows what your store normally does at 9:40 on a Tuesday.
You cannot watch everything. These six signals cover most of what goes wrong during peak, and each one maps to a decision you can actually make mid-shift.
Keep a canary in place: one unpopular SKU with a hidden page and a normal-looking price. If it starts receiving traffic during a drop, you have proof of automated enumeration rather than a theory.
A dashboard nobody watches at 2 a.m. is decoration. Build two tiers instead. Warnings go to a shared channel and can wait. Pages go to whoever is on call and must include three things: what changed, which endpoint or segment is affected, and the first action to take.
Set thresholds against your baseline, not against fixed numbers. "Add-to-cart from a single network owner exceeds three times its normal share for three consecutive minutes" is actionable. "Traffic is high" is noise. Some practical rules:
Confirm before you block. Check whether the traffic passes your JavaScript challenge, whether sessions share fingerprints, and whether the same accounts keep appearing. Then respond narrowly: tighter rate limits on the affected route, queue tokens for high-demand items, or short inventory holds that expire quickly. Avoid blanket bans on large network ranges. Retail traffic often shares address space with ordinary customers, and a wide ban can cost you more revenue than the bot ever did.
Watch decline ratios per session cluster rather than per single IP, because distributed testing hides behind rotating addresses. When a cluster spikes, add friction to the payment step for that traffic only: step-up verification, a challenge, or a brief delay. Talk to your payment processor before making sweeping changes, and keep a record of what you altered and when. Friction applied broadly is how you lose legitimate buyers on your biggest day.
This includes carts that hold stock without paying, coupon enumeration, and reseller patterns that buy in bulk through many accounts. Tighten hold timers during peak, cap quantity per account and per household signal, and require a verified account for the most limited SKUs. If you use a waiting room, monitor token reuse; a token shared across dozens of sessions means the queue is being gamed.
During drop windows, two people minimum: one watching telemetry, one with the authority to change rules immediately. Give them a single incident channel and a handoff note that takes three lines to write — what changed, what we did, what to watch next. Rehearse one runbook before the sale. The first time a team executes a mitigation should not be on Black Friday.
Finally, make every defense reversible. Any rule you deploy needs a kill switch that takes seconds to trigger, and someone must be watching false positives: support contacts, abandoned checkout rate, and complaints about blocked payments. Test your rules against a synthetic buyer journey each morning so you know a normal customer can still check out.
The Monday debrief matters more than the sale-day heroics. Pull the alerts that fired and separate the ones that caught something real from the ones that only made noise. Save the fingerprints, thresholds, and rules that worked, and note the ones that blocked good customers so nobody redeploys them next month.
Leave your canaries running through the returns period and January promotions. Bot activity does not stop when the banners come down; it just gets quieter and more patient. The teams that handle peak best are usually the ones that treated monitoring as a season-long habit rather than a weekend sprint.
Photo: Andrea Piacquadio / Pexels