Referral loop
How Waitkit turns every signup into a growth engine.
When someone signs up for your waitlist, they see their queue position and a share link. The share link is unique to them — it contains a short referral code attached to their signup.
When someone else signs up through that link, two things happen:
- The new signup is recorded as referred by the original person.
- The original person's referral count goes up by one, surfaced on their success screen.
Every signup is part of the loop automatically. You don't configure anything.
https://waitlist.findutils.com/w/your-slug?ref=XY9ZW8V7
The ?ref=XY9ZW8V7 query parameter carries the referral code. When the page loads, the signup form and embed widget both read the code from the URL and include it in the next signup POST.
Positions are assigned in signup order — first to sign up is #1, second is #2, and so on. Referrals don't skip the queue by default: they show a referral count next to your name, but your numerical position stays the same.
This design is deliberate. "Invite 5 friends to jump the queue" feels like a gimmick and invites abuse (email aliasing, burner accounts). Real waitlists benefit more from ranking users by invite count at launch time, not by moving them up in real time.
If you want queue-jumping referrals, open an issue — we can add it as an optional per-waitlist setting.
Every signup is checked against multiple defenses:
- Email deduplication — same email can't sign up twice to the same waitlist.
- IP hash — Waitkit stores a salted SHA-256 of the signup IP and uses it to detect obvious duplicate entries.
- Honeypot field — bots that fill hidden form fields are rejected.
- Cloudflare Turnstile — invisible bot check on every signup POST, failing closed.
- Rate limit — 120 requests per IP per minute across all endpoints.
None of these are perfect, but together they catch the vast majority of casual abuse without hurting legitimate users.
In the Signups tab of your waitlist, each row shows:
- # — their queue position.
- Email and optional name.
- Refs — how many people they've referred successfully.
- Joined — when they signed up.
You can sort by referral count to find your top advocates — the people you should email first when you launch. On Pro tier, export the full list to CSV and send out launch emails via your ESP.
A few things that make the referral loop actually work:
- Make the success screen the hero. After signup, the user is most engaged they'll ever be. Show the share link prominently with a big copy button. Waitkit does this by default.
- Pre-fill share copy. Add social share buttons (Twitter, WhatsApp, Telegram) with a pre-written message to your hosted page via the Description field. Example: "I just joined the Acme AI waitlist — come join me!"
- Show the count. "You're #47" is less motivating than "You're #47 and 12 people joined from your link." Pro will surface referral count on the success screen when there's anything to brag about.
- Reward at launch. The referral count is your sorted list of true fans. Give the top 10% early access, beta seats, or a small gift. They'll remember.
Referral relationships are stored server-side and visible only to you (the waitlist owner) in the dashboard. The signup form never shows who referred whom publicly. You can delete any signup from your dashboard at any time — the dependent referral count on their referrer stays intact (we don't rewrite history).