What this template solves

  • Delivers the payoff moment that motivates future referral activity.
  • Handles reward hold periods before notifying users their credit is available.
  • Closes the full referral loop from invite to payout with a clear celebration.
  • Combines in-app and email to ensure referrers never miss their reward.

When to use this template

Use this template when:

  • Your referral program offers credits, cash, or discounts as rewards.
  • Rewards have a hold period for fraud prevention or refund windows.
  • You want a distinct notification for "reward earned" vs. "referral converted."
  • Referrers need a clear CTA to claim or view their reward balance.

How it works (step-by-step)

  1. Trigger. Referral conversion is verified and reward eligibility is confirmed.
  2. Hold period. Wait 7 days to allow for refunds, chargebacks, or fraud review.
  3. In-app notification. Tell the referrer their reward is ready with a claim link.
  4. Email confirmation. Send an email with reward amount, type, and claim button.

Best practices

  • State the exact reward. "$10 credit" is clearer than "You earned a reward."
  • Explain the hold period. Tell users upfront why rewards take time to process.
  • Make claiming easy. One-click claim button that applies credit automatically.
  • Encourage repeat referrals. Show total earned and how close they are to the next tier.

Common mistakes to avoid

  • Surprise hold periods. Communicate the delay when the referral converts, not just when the reward arrives.
  • Vague reward types. Specify whether it's credit, cash, discount, or extended trial.
  • Not handling revocations. Cancel the workflow if the referred user's action is reversed during the hold.

FAQ

How long should the hold period be?
7–14 days is standard for SaaS. Match your refund window or billing cycle.

Should I auto-apply rewards or require claiming?
Auto-apply reduces friction. Require claiming only if you need explicit user acknowledgment.

What if the reward amount varies?
Pass the amount and type in the trigger payload. The templates support dynamic values.