# Referral Waitlists

_Lead Generation_

A launch waitlist that grows itself. Every confirmed signup gets a place in line and a personal ?ref= link; every friend who joins with it moves them up. Double opt-in, reward tiers, a share page with one-tap sharing, daily "a friend joined" emails, closing-soon reminders, a review queue for suspicious referrals and CSV export. It runs on your own website with a one-line script, or on a hosted page. You can run several waitlists at once (one live at a time on Starter).

## Steps
1. Go to Tools > Lead Generation > Waitlists and click "+ New waitlist". Give it a name (it appears in the emails) and, if people are already in line, the number already in line — with 2,410 the first new signup is #2,411.
2. Settings tab: set the spots moved up per confirmed referral (default 25), reward tiers (e.g. 3 and 10 referrals), the date and time positions freeze, the websites allowed to use the waitlist (e.g. unumring.com and www.unumring.com), where referral links point (your landing page — ?ref=CODE is added), the From name and address (use your verified sending domain), your postal address for the email footer and the consent text. Save.
3. Emails tab: edit the confirm, welcome, friend-joined and reward-unlocked emails (tokens like {{position}}, {{link}} and {{nextTierLine}} fill in per person) and use "Send me a test" to see each one. "Add closing-soon reminders" schedules three reminders before the freeze date; you can also write an update and send it to everyone now or at a set time.
4. Install tab: copy the script tag into your site before </body>, add class "js-waitlist" (or the data-waitlist attribute) to your signup form, and put data-count on any element that should show the live count. Optionally add a status page on your site with <div data-waitlist-status></div> and enter its URL in Settings. Without one, people land on the hosted status page.
5. Click "Go live". Sign up yourself with a second address, confirm, and share your link to test a referral before announcing.
6. Overview tab shows confirmed signups, confirmation rate, signups and K (viral coefficient) by week, top referrers and where signups come from (utm_source). People lists everyone in line order; Review holds suspicious referrals; Download CSV exports everyone with positions, referrals, UTM and consent.

## Tips
- Only confirmed signups count: the place in line is given when they click the confirm link, and a friend counts for their referrer only once the friend confirms too.
- Places in line are live — they change the moment a referral confirms. Nobody moves above #1, and two people never share a number.
- Signing up again with the same email (including Gmail dot and +tag variations) never creates a second spot. It re-sends their own link to their inbox instead of showing their position to whoever typed the address.
- Suspicious referrals (same device, or same network and browser as the referrer, or a sudden burst) are held in Review. The friend still gets their spot; the referrer moves up only when you click Approve.
- Remove takes someone out of the line and takes back the referral credit they gave. Delete permanently erases their waitlist record for privacy requests.
- Every confirmed person is saved as a contact tagged waitlist:<name>, with email and marketing consent logged, so you can use segments, campaigns and automations on them.
- Webhooks: waitlist.confirmed, waitlist.referral_confirmed and waitlist.tier_reached (Settings > Developer > Webhooks) — useful for Zapier or your own reward fulfilment.
- When the freeze date passes, positions become final, signups close and the status page says so. Rewards for the top N are marked by hand in People ("Mark rewarded").
- Using a CRMown Web Studio site? Paste the script into the page footer code. Web Studio leaves forms marked js-waitlist or data-waitlist to the waitlist script.
- Building your own front end? The Install tab lists the API: signup, confirm, status, count and leaderboard, with CORS limited to your websites.

## Example
A wearable startup opens a pre-order waitlist with 2,410 people already counted. A visitor joins from an Instagram link and confirms — they are #2,411 and get a link like unumring.com/?ref=K7Q2M. They send it to four friends on WhatsApp; three confirm the same evening, so they move up 75 spots to #2,336 and unlock the 3-referral tier, which emails them their reward. The founders watch K by week on the Overview, clear two same-device referrals in Review and export the top 50 on December 31 when positions freeze.

## Troubleshooting
- **Signups on my website do nothing or show "This waitlist is not enabled on this website"** — The website isn't in the allowed list, the waitlist is still a draft, or the script isn't on the page. Fix: Add the exact domain (and the www version) in Settings > Your website, click Go live, and check the script tag from the Install tab is on the page.
- **People say they never got the confirm email** — It went to spam, or the address was mistyped. Fix: Send from your own verified domain (Settings > Communications > Send Email From Your Own Domain) and add a DMARC record. In People > Awaiting confirm you can click "Resend confirm".
- **A referrer says a friend joined but they didn't move up** — The friend hasn't confirmed yet, or the referral is held in Review. Fix: Their status page shows confirmed referrals and how many are waiting to confirm. Check the Review tab and approve the referral if it's genuine.
- **"Too many signups from this connection"** — More signups than the per-network limit came from one network in an hour (common at events on shared Wi-Fi). Fix: Raise "Signups per network per hour" in Settings > Spam and fraud for the event, then set it back.
- **"Your plan includes one live waitlist"** — Starter allows one live waitlist at a time. Fix: Pause or close the other waitlist, or upgrade to Pro for unlimited live waitlists.

## Error messages
- `Please use your real email address.` — The address is from a throwaway email service. Turn off "Block throwaway email addresses" in Settings if you need to allow them.
- `Positions on this waitlist are frozen.` — The freeze date has passed. Create a new waitlist for the next batch.

## Plans
Core on every plan. Starter: one live waitlist at a time. Pro and above: unlimited.
