How a Virtual Waiting Room Works

This page is best for anyone evaluating a waiting room for the first time. It follows one visitor from arrival to admission, explains the integration options at a buyer's level of detail, and sets out what the free Lite plan includes. For the technical version, start with how online waiting rooms work in the docs.

From arrival to admission

A virtual waiting room, also called an online queue or virtual queue, sits between your visitors and the pages you want to protect. Here is what happens to one visitor.

  1. Arrival. The visitor requests a protected page: a ticket on-sale, a product page or the whole site. Your integration asks CrowdHandler whether there is room.
  2. Normal traffic. If the site is under its limits, the visitor passes straight through and sees nothing. A catch-all waiting room stays invisible until traffic crosses the threshold you set.
  3. Over the limit. When demand exceeds the admission rate, the visitor is redirected to the waiting room, a branded page hosted by CrowdHandler rather than on your servers. It shows their position, an estimated wait, and whatever else you add: stock remaining, a video, the rules of the sale.
  4. Waiting. The position is held on CrowdHandler's side rather than in the browser. On plans with email notifications, a visitor can ask to be emailed when their turn arrives.
  5. Admission. When their position is reached, the visitor is forwarded to the page they asked for, carrying a token that your integration recognises. From then on they browse and check out as normal.
  6. Scheduled sales. For a drop or an on-sale with an advertised start time, you open the waiting room early in countdown mode. Nobody holds a position while the countdown runs. When the queue activates, everyone present is given a random position, and later arrivals join behind them in order. This removes the advantage of arriving early and of automated first-millisecond requests. The product launches and drops page walks through this setup step by step.

How capacity and outflow are set

The waiting room protects your site by controlling how quickly visitors are admitted. Two settings do most of the work, with a third for special cases.

  • Admission rate. The number of new visitors allowed onto the protected pages per minute. This is a funnel, not a capacity figure: only the rate you set gets through each minute and the rest queue. One In, One Out explains the difference. The maximum rate depends on your plan, from 10 a minute on Lite to 1,000 a minute on Professional.
  • Autotune. Rather than guessing a safe rate, autotune samples the performance of your pages using live traffic, a continual load test, and raises or lowers the rate to keep performance acceptable. The default target is 98 per cent of page loads under five seconds, and you can change both numbers. With the JavaScript integration it reads browser performance metrics; with the DNS integration it reads the load times of the pages it proxies; with a server-side integration you send performance data through the API. Autotune is on the Plus plan and above. See the autotune guide.
  • One In, One Out. Also available: a cap on concurrent active sessions, where one new visitor is admitted for each one who leaves. For long checkout flows where the bottleneck is how many people are on the site at once rather than how fast they arrive.

You can run several waiting rooms on one domain, each protecting a different sale or product. They share the domain's admission rate, and as one queue empties its share goes to the queues still running, so a customer booking a quiet event never waits behind a busy one. The queue mechanics guide covers how the rate is shared and why the queue does not always fall by exactly the rate you set.

Integration options, and when each fits

Every integration checks each request with CrowdHandler and sends the visitor to the waiting room when needed. They differ in where the check runs.

  • JavaScript tag. A script added to your pages, directly or through Google Tag Manager. Live in about 15 minutes, with no server changes. Because the check runs in the visitor's browser, a technically capable visitor can bypass it, so it suits crash protection and lower-stakes sales better than high-value drops. Included on every plan.
  • Edge integrations. The check runs on your content delivery network before the request reaches your servers. CrowdHandler has integrations for Cloudflare, AWS CloudFront and Akamai EdgeWorkers. Recommended when bypass matters, or when queued traffic must stay off your infrastructure entirely. Cloudflare and CloudFront are included on every plan; Akamai is on Professional and above.
  • CrowdHandler DNS. Point your domain's DNS at a CloudFront-based proxy that CrowdHandler sets up for you, and the waiting room check runs there. All traffic routes through CrowdHandler, within a bandwidth allowance of 2 TB a month on Standard, 5 TB on Plus and 10 TB on Professional. Secure and running within a few hours.
  • Server-side API and SDKs. Your application checks each request against the CrowdHandler API, with SDKs for .NET, PHP, Node.js and mobile apps. A developer with a good grasp of HTTP can do a basic integration in a few hours, plus testing time. API and SDK integration is included on every plan; full REST API access for automation is on Plus and above.
  • Platform apps. The Shopify app, on Plus and above, installs the integration into a store without development. The WordPress plugin, for WordPress and WooCommerce sites, is included on every plan.

What's the best way to integrate a waiting room? walks through choosing between these, and the integration guides cover each in detail.

What the free Lite plan includes

The figures below are from the pricing page on 3 November 2026.

The Lite plan is free, with no time limit, and is intended to keep CrowdHandler on standby between events. It includes:

  • 1 waiting room on 1 domain
  • Up to 100 visitors waiting at once, admitted at up to 10 a minute
  • Rate limiting and One In, One Out
  • Standard integrations: JavaScript, Google Tag Manager, API and SDKs, WordPress, Cloudflare and AWS CloudFront
  • 1 team member seat and documentation-based onboarding

Custom templates, CAPTCHAs, fingerprinting, stock control and multi-language waiting rooms start on the Standard plan ($900 a month). Autotune, priority codes, email notifications, the firewall and the Shopify app start on Plus ($1,680 a month). Threat blocking, anomaly detection and Akamai start on Professional ($4,500 a month). Starter ($290 a month) raises the Lite capacity to 2,000 waiting and 100 a minute and adds a 99.9 per cent uptime SLA. The listed plans are monthly, you can upgrade or downgrade between them instantly from the dashboard, and the free tier is always there to return to. Enterprise is agreed by quote.

How to choose a virtual waiting room sets out the questions to ask before you pick a plan or a provider.

How it works FAQ

Is a virtual waiting room the same as an online queue?

Yes. Virtual waiting room, online queue and virtual queue describe the same thing: holding excess visitors on a separate page and admitting them to a website or application at a controlled rate. CrowdHandler protects online systems only; it is not a tool for managing physical queues.

What do visitors see when traffic is normal?

Nothing. A catch-all waiting room passes visitors straight through while traffic is under your thresholds and engages only when they are crossed.

What happens if my site slows down while the queue is running?

With autotune, on the Plus plan and above, CrowdHandler measures live page performance and lowers the admission rate when the site slows, then raises it again as it recovers. On other plans you set the rate yourself and can change it at any time from the dashboard.

Can I add a waiting room without changing my code?

Yes. The JavaScript tag can be deployed through Google Tag Manager, the Shopify app and WordPress plugin install without development, the Cloudflare, AWS CloudFront and Akamai integrations are configured at the CDN, and the DNS integration runs the check on a proxy in front of your site.

How quickly can a waiting room be live?

A basic waiting room using the JavaScript tag can be set up in 15 minutes or less, with no software to install. Most other integrations can be set up within a few hours.

See it on your own site

The Lite plan is free, with one waiting room and no time limit.