How referrals work

Every signup gets a referral link and a queue position. Referring people moves you up. Here is exactly how attribution, credit and positions are calculated.

Updated ·6 min read

Referrals are the reason a waitlist grows on its own. Every signup gets a personal link; anyone who joins through it moves the referrer up the queue.

This page explains what actually happens, because "why has my referral not counted?" is the question people ask most.

The loop#

  1. Someone signs up and receives a referral code and a share link.
  2. They share it. A visitor arrives with ?ref=THEIRCODE in the URL.
  3. The code is stored in that visitor's browser for 90 days.
  4. The visitor signs up, on any page of your site, through any channel.
  5. The referrer is credited and moves up: once the new person verifies their email if you ask them to (or hold referrals until the friend verifies), otherwise straight away.

Attribution survives real browsing#

The naive version of this reads ?ref= at the moment of submission, which breaks constantly: people land on a referral link, read three other pages, close the tab, come back tomorrow, and sign up from the homepage.

Instead the code is captured on arrival and stored in the browser for 90 days, alongside any UTM parameters. It travels with the visitor across your whole site and survives them leaving and coming back. Whichever form they eventually use, the referrer still gets credit.

This is also why a referral link works when it points at any page, not just the signup page.

Credit is awarded on verification, not signup#

If you ask people to verify their email, a referral counts when the new person verifies, not when they submit.

That is deliberate. Crediting on submission means anyone can inflate their position by typing made-up addresses, and every waitlist tool that does it has a fraud problem. Verification costs a real mailbox, which is a meaningful barrier.

The consequence to explain to your users: there is a gap between "my friend signed up" and "my count went up". A referrer's status page counts credited referrals only, so during that gap the number genuinely has not moved. The gap closes at the other end: the person who just signed up is told on their own status page that they still need to verify their email, and what that is holding up.

To keep the check for referrals only, turn on Hold referrals until the friend verifies under Spam protection in Project settings → Privacy & spam. Referred friends then get a link to verify their email even on a form that doesn't ask, and the referral counts once they click it. Everyone else joins as before, and a friend with no email address counts straight away.

Positions#

Position is live, not stored. It is computed from the referral leaderboard on read, which means:

  • Someone's position updates the moment anyone above or below them changes
  • There is no nightly recalculation and no drift
  • It stays fast at a million contacts

Signup order is the tiebreaker, so referring nobody still leaves you ahead of everyone who joined after you.

Points#

The line is ordered by points. A friend who joins gives 10 points on a new project, and an action you add, such as following you on X, gives as many as you set, from 1 up. That gap is deliberate: one real friend is worth more than several small actions unless you decide otherwise.

Change what a friend gives under Audience → Referrals & rewards: press Settings, then under Friends give points set Each friend who joins gives a number of points. Turn Friends give points off and friends give none, so the line stays in the order people joined. Actions that give points, such as following you on X, are under More ways to move up on the same screen. A project created before October 2026 started at 1 point per friend and keeps that until you change it there.

The referral settings panel with Points per referral and Start numbering at.
Settings: points per referral.

Rewards never read points. They unlock from the number of friends who joined, so an action can move somebody up the line and never earns them a reward.

The More ways to move up section listing actions that give points.
Actions that give points.

Head start#

The Start numbering at setting, under Settings on Audience → Referrals & rewards, sets the number your first signup gets. It gives everyone a position offset, so the first signup sees "#1,247" rather than "#1". It is display-only and applied identically to everybody, so it changes nothing about the ordering or who is actually ahead.

Some founders find it useful for early social proof. Others consider it dishonest. It is off by default and the call is yours.

When credit is withheld#

Three reasons, in the order they actually happen:

They have not verified yet. The most common one. Not a problem, just a delay.

They were already in your audience. Deduplication is per project, so a person who already exists cannot be referred again. The submission is recorded, but nobody moves up.

It failed a fraud check. A signup does not credit if it refers itself from the same device, comes from an IP address that has already sent too many referrals, or arrives faster than the rate we allow. Every one of those is recorded with its reason, so you can see why a count did not move.

Credit can also be taken back later. Device clusters are only visible once the rest of a wave has landed, so a contact that turns out to be farmed, a device cluster, a spam score, a disposable address, loses the referrer the points and the position they earned from it. A merely uncertain address never does: a catch-all or role mailbox is a real person and keeps its credit. That is deliberate, and it is why a farmed burst does not survive the hour. Choosing Mark as fake on a contact takes the credit back immediately, but clearing a verdict does not hand a revoked credit back, so use the override before a wave lands rather than after.

See spam and trust for how that judgment is made.

Self-referral and gaming#

The obvious attack is signing yourself up through your own link. That is caught by device and identity clustering rather than by a single rule, which is why the check is a verdict rather than a checkbox.

The honest position: no waitlist can make referral farming impossible, only expensive. Verification plus clustering plus disposable-address detection raises the cost enough that casual gaming stops being worth it.

What people see#

The status page is where a signup checks their own state: position, referral link, how many people they have brought in, and whether they still need to verify.

It matters more than it sounds. In the previous version of LaunchList, "am I on the list?" and "where is my referral link?" were among the highest-volume support questions, and every one of them landed in the founder's inbox. A durable status page answers both without anybody being emailed.

Next#

Common questions

How does a waitlist referral system work?

Every signup gets a unique referral code and link. When someone joins through that link, the referrer is credited and moves up the queue. Position is recalculated live, so the effect is immediate and visible.

Why has my referral not been counted?

The three usual reasons are that the person has not verified their email yet, that they were already in your audience, or that the signup failed a fraud check such as being a self-referral from the same device. If you ask people to verify their email, or hold referrals until the friend verifies, referrals are credited on verification, not on signup, and a referrer's count shows credited referrals only.

Does a referral link still work if someone browses around before signing up?

Yes. The referral code is stored in the visitor's browser for 90 days when they arrive, so they can read other pages, leave, and come back later and the referrer is still credited.

Was this page helpful?