Queuerd Quickstart (customer)
Goal: activate the waiting room in 10-15 minutes.
1) Before you start
You need:
- access to the Queuerd dashboard
- the domain you want to protect (example:
shop.yourdomain.com) - an admin user for your site
2) Initial setup
- Sign in to Queuerd.
- Complete onboarding and register your domain.
- Go to
Queue Settingsand confirm:Queue activeis enabled when you want to run the queue- max capacity and admission rate are configured
3) Choose an integration method
You can use one of the following:
- JavaScript Snippet (fastest)
- SDK (
@queuerd/sdk) for backend control - Reverse Proxy (enterprise)
4) JavaScript Snippet install (recommended for quick launch)
In Integrations > JS Snippet, copy the script and paste it in your site <head> or before </body>:
<script src="https://www.queuerd.com/q.js" data-domain="shop.yourdomain.com" data-api-base-url="https://www.queuerd.com" defer></script>
Notes:
data-domainmust match your tenant domain in Queuerd.- if you use another Queuerd host, update
data-api-base-url.
5) SDK install (backend control)
Install package:
npm install @queuerd/sdk
Base example:
import { withQueue } from "@queuerd/sdk"
const domain = "shop.yourdomain.com"
const waitingRoomBase = "https://www.queuerd.com"
const guard = withQueue({
domain,
apiBaseUrl: waitingRoomBase,
})
export async function handler(request: Request) {
const visitorId = request.headers.get("x-queuerd-visitor-id")
if (!visitorId) {
// Fail open if your app has not yet attached a stable visitor id.
return new Response("ok")
}
const result = await guard(request)
if (!result.allow && result.status === "waiting") {
const destination = new URL(request.url).pathname
const waitingRoomUrl = new URL(`${waitingRoomBase}/waiting-room`)
waitingRoomUrl.searchParams.set("tenant", domain)
waitingRoomUrl.searchParams.set("id", visitorId)
waitingRoomUrl.searchParams.set("dest", destination)
return Response.redirect(waitingRoomUrl.toString(), 302)
}
return new Response("ok")
}
Important:
withQueueexpects a stable visitor id in thex-queuerd-visitor-idheader.- the waiting room redirect should include
tenant,id, anddest.
6) Quick verification
- In
Queue Settings, enable queue. - Open your website in incognito mode.
- You should be redirected to
waiting-room. - In
Dashboard, verifyVisitors in queueincreases. - Disable queue and confirm direct site access.
7) Reverse Proxy (enterprise)
If you choose Reverse Proxy:
- set DNS as
CNAME your-domain.com -> proxy.queuerd.com - verify the domain in Queuerd before enabling proxy mode
- set
originto your public HTTPS upstream (example:https://origin.yourdomain.com) - keep queue and waiting room flow unchanged (queue executes first, admitted traffic is proxied)
8) Common issues
- No redirect: check
data-domainand queue active state. - Redirect loop: validate
dest/allowed paths and domain setup. - No metrics: confirm traffic is hitting the configured domain.
9) Production launch checklist
- Correct domain configured in tenant
- Integration installed (snippet or SDK)
- Queue active flow tested in incognito
- Admissions and metrics visible in dashboard
- Support team knows how to pause/resume queue