What happens if a user joins a Waiting Room before the queue activates?

The user can wait in the Waiting Room, but will not receive a queue position before the queue activates. All users who are already in the Waiting Room when the queue activates will be assigned a random queue position. Users who join the queue after that will be behind those initial users, in the order they joined the queue.

Why don’t I always see the queue drop by exactly the amount I’ve set?

There are various reasons why the fall in a queue may not exactly match the Ingress Rate you have set in CrowdHandler:

  1. The domain rate is set for all queues on your domain. You may have more than one active queue, in which case the domain rate is shared between all active queues. In the case of a catch-all queue, there may be background traffic which is constantly being promoted without the queue even building up. These promotions still count towards your domain rate, as they are still traffic that your domain has to handle.
  2. Some users in the queue give up and their session expires. In this case active users are favoured for promotion. The increase in transacting users is limited to your domain rate, but you will see the queue drop by a bigger number due to some of the sessions in the waiting room expiring, in addition to your set rate being promoted.

Will the user join any catch-all queue as soon as they exit another queue?

Won't this cause them to get double queued?

When a user is promoted from a queue, they are automatically promoted for any catch-all queues on the same domain, this double promotion is only counted once for all transacting users.

Which queue gets priority?

Will users in a catch-all queue have to wait behind users in a specific queue or vice versa?

Think of queues more like lanes on a freeway. They all have the same capacity, but tailbacks start to build up at the exits where the demand is. So if you have a very busy queue for a specific product, and low levels of background traffic, the waiting room for the catch-all queue will probably not kick in at all. However if you do see a surprise spike in background traffic, the catch-all waiting room will kick in, and both queues will empty at the same rate. The same is true if you have two or more specific queues running concurrently on the same domain.

Why don’t I always see a perfectly even output flow from simultaneous queues?

Active users flow out first. Queue positions are held open for users who have been promoted even if they have disconnected from the waiting room, until the timeout period closes. If you have a queue that’s been running for some time, a higher proportion of those users are likely to be inactive. In that case, a newer, more aggressive queue will take a higher proportion of the outflow traffic.

Why do I often see a significant drop in the queue 3 minutes after a spike in traffic?

Often an initial burst of traffic is caused by scraper bots or users just looking for information with no immediate intent to transact. This type of user will typically connect once and never re-connect when they encounter a waiting room. CrowdHandler detects these users and clears those sessions to make way for real users in the queue.