Real flash crowd or bot swarm? Reading the signals before the on-sale

Short answer: Minutes before a major on-sale, traffic spikes 10x and every alarm fires. The instinct is to treat it as an attack: tighten the filters, challenge everyone, protect the inventory. But sometimes it is just demand, the best on-sale you have ever had, and treating real fans like bots is the most expensive mistake you can make that day. The difference between a flash crowd and a bot swarm is readable in the traffic itself, if you know which signals to check before you choose your response.

Why the distinction matters

The two situations demand opposite responses. A bot swarm calls for aggressive filtering: challenges, rate limits, queue prioritization that favors human signals. A flash crowd calls for capacity and care: honest wait times, stable queues, and communication that keeps fans patient. Apply the swarm response to a flash crowd and you will block legitimate buyers, generate a social media disaster, and lose the goodwill the on-sale was supposed to build.

Worse, the wrong response teaches the wrong lesson. Teams that survive a flash crowd by over-filtering conclude their bot defenses 'worked', then apply the same playbook to the next on-sale, which happens to be an actual swarm, and wonder why the filters that 'worked' last time let everything through. Calibrate on the right diagnosis.

Signals of a real flash crowd

Real demand has a shape. It builds along your marketing: traffic rises after the email send, the social post, the on-sale announcement, and it correlates with campaign timestamps. The geographic distribution matches your fan base. Device and browser diversity looks like the general population. Sessions browse: they look at seat maps, read event details, hesitate, come back.

The strongest signal is imperfection. Real crowds are messy. Arrival times are spread out, navigation paths vary, plenty of sessions bounce without buying. A flash crowd looks like a crowd: thousands of individuals doing slightly different things for the same reason.

Signals of a bot swarm

A swarm has a different shape. Traffic spikes with no marketing correlate, or it starts before the announcement, which means someone knew the on-sale time from your API or a leak. Geographic distribution skews toward datacenter regions or shows impossible uniformity. Device fingerprints cluster: thousands of sessions with identical TLS profiles, screen resolutions, and canvas hashes.

Behavior is the giveaway. Swarm sessions go straight to the purchase path with no browsing, request inventory endpoints a human never touches, and retry failures instantly instead of hesitating. The navigation graph is too clean: real fans wander, bots execute. When ten thousand sessions take the identical path through your funnel within seconds of each other, that is not fandom.

The gray zone: when it is both

The hardest cases are mixed: a genuinely hot on-sale with a bot swarm riding it. This is increasingly the norm for high-demand events, and it is why binary thinking fails. The response is not to pick one diagnosis but to segment: let the traffic in, then sort it inside the waiting room.

This is what waiting rooms are for. Admit everyone, then prioritize by human signals: session history, behavioral biometrics, account standing. The flash crowd gets a fair queue with honest wait times. The swarm gets deprioritized, challenged, or held. You do not need to decide what the spike is before the on-sale. You need a system that treats the two populations differently once they are inside.

Building the pre-on-sale checklist

Before every major on-sale, establish the baseline: what does normal traffic look like, what did the last comparable on-sale look like, and what are the campaign timestamps? Without baselines, every spike looks like an attack and every attack looks like success.

Then define the decision thresholds in advance, not in the moment. Which signals trigger aggressive filtering, which trigger capacity scaling, and who makes the call? The team deciding under pressure with no plan will always over-filter, because blocking a real fan feels safer in the moment than letting a bot through. Write the plan when you are calm so you can follow it when you are not.

>