Troubleshooting Your In-App Referral Program
Where the problem usually sits
If your in-app referral program isn't performing the way you expected, the cause almost always falls into one of four groups:
- The widget doesn't show up.
- Referrals or payments aren't tracked.
- Few users share, or referred users don't convert.
- Rewards don't reach the advocate or the referred user.
The widget doesn't show up
Work through these checks:
- Check that the Reditus script loads on the page where the widget should open.
- Check that your frontend loads the widget with your product ID and the user's details, and that your backend creates the JWT that authenticates the user. Your product secret belongs on your backend only, never in the browser.
- Check that something actually opens the widget: a button that calls the show function, or a deep link with the URL parameter from the widget documentation.
- Look in your browser's developer console for errors related to the Reditus script, and make sure no Content Security Policy blocks it.
The widget documentation walks through every step. Still stuck? Ask for a human in the support chat.
Referrals aren't tracked
Advocate links use the same tracking script and cookie as affiliate links, so the same checks apply:
- Make sure the tracking script is in the site-wide header of your main domain and of every subdomain in your funnel, including the one where people sign up. Tracking works across subdomains, not across different root domains.
- Make sure the signup snippet fires once, in code, right after a successful new registration, on every signup method you offer (email and password, Google and others). A snippet that only fires for email signups misses every Google signup.
- Make a test signup through every signup method. A test signup is the only way to confirm the snippet works.
- Check whether a cookie consent banner holds back the Reditus script. If it does, the cookie isn't set for visitors who decline, and their signups can't be credited.
- Check the referral link itself: if it passes through a redirect, the referral parameter has to stay in the link.
Good to know: attribution is last click. If someone clicked an advocate's link and later an affiliate's link (or the other way round) before signing up, the last click gets the referral. The cookie also sits in the browser where the link was clicked, so a signup on another device isn't credited.
Payments don't show up
If referred signups are tracked but their payments aren't:
- Stripe: make sure your Stripe account is connected and that your checkout passes the customer's email address. A missed payment is usually an email mismatch: the email in Stripe has to match the email Reditus received at signup.
- Payments API: make sure every payment you send carries the email address or the unique ID of the referral, and send amounts in cents. If your checkout runs on a merchant of record such as Paddle, always send a unique ID too, because the checkout email can differ from the signup email.
More checks in end-to-end payment tracking.
Few users share, or referred users don't convert
If everything tracks but little happens, the problem is usually placement or the incentive, not a bug.
- Placement: put the program where users already are, such as your top navigation, the settings menu or a referrals page, and link to it from lifecycle emails and in-app messages.
- Timing: ask at value moments, right after a user gets their first real result, hits a milestone or renews.
- Reward size: tiny rewards don't get people talking. One Reditus customer pays its users €150 for every new paid client they refer, and it has worked really well for them. Compare your reward with what a new paid client costs you through other channels.
- Both sides: give the referred user a welcome benefit too. If people share but few referred users sign up or pay, the welcome offer is the first thing to look at.
More in the implementation guide and the referral strategy guide.
Rewards don't arrive
Granting rewards is what most customers use our webhooks for: when a lead is created, their own system applies the promised benefit, such as a discount, credits or a longer trial. If that's your setup:
- Check that your webhook endpoint receives the referral program events: advocate.created, lead.created and reward.created. Events like referral.converted don't exist, so don't build on them.
- Check that your own system applies the benefit when the event arrives.
- See webhooks: adding benefits to referrals for the setup.
Paying advocates in cash? Cash rewards are paid out exactly like affiliate payouts. We can put your in-app referral program and your affiliate program on one invoice, or send two separate invoices.
For a full walkthrough of the correct setup end to end, see the in-app referral program implementation guide.