< All work

Referrals & rewards

Merchants could build referral and rewards programs but couldn't see how they performed. I added simpler page setup and analytics right on the program lists.

Company
Recharge
Role
Frontend engineer, rewards & loyalty
When
2022–2026
Stack
React, TypeScript

The demos here are recreations with fictional brands and fake data. The original work was done at Recharge.

Try it

Change the rewards on the left and watch the customer landing page on the right. Switch the shopper’s country to see the credit in their currency.

Merchant admin · Referral program

Customer who refers

Store credit, set separately for each currency you sell in.

Friend who orders

Storefront · loamcoffee.example/refer

Give 15% off. Get $10.

Share your link with a friend. They get 15% off their first bag, and you get $10 in store credit 14 days after their order ships.

Credit applies to future orders and never expires. One reward per new customer.

Referral performance

Merchants need to know whether a program pays for itself. These analytics sat on the referrals list: referral revenue, referred orders and rewards given, with each month split by whether the friend bought once or started a subscription. Hover or use the arrow keys on the chart to read a month.

Merchant admin · Referral performance

Referral revenue
$52,837
Referred orders
1,618
45% started a subscription
Rewards given
1,472
Credit sent to the customer who referred

Revenue from referrals

Referred revenue by month, one-time vs subscription
  • One-time orders
  • Subscriptions
$0$4,000$8,000NovDecJanFebMarAprMayJunJulAugSepOct
Show as table
MonthOne-time ordersSubscriptions
Nov$1,428$899
Dec$2,448$1,364
Jan$1,904$1,054
Feb$1,836$1,178
Mar$2,006$1,488
Apr$2,414$1,860
May$2,754$2,077
Jun$2,788$2,170
Jul$2,754$2,201
Aug$2,958$2,387
Sep$3,400$2,728
Oct$3,672$3,069

Rewards performance

Credit only matters if customers come back to use it. On the rewards list, merchants could compare what rewards members spend over their first twelve orders against everyone else, and track credit from issued to redeemed, expired or still owed.

Merchant admin · Rewards performance

Credit issued
$67,683
Credit redeemed
$46,064
68% of issued
Credit expired
$4,061
Still outstanding
$17,558
Owed to customers today

By their 12th order, rewards members have spent 57% more than customers who never joined.

Average lifetime revenue per customer, by order
  • Rewards members
  • Not in rewards
$0$150$300123456789101112
Show as table
OrderRewards membersNot in rewards
1$31$30
2$60$55
3$87$76
4$112$94
5$135$109
6$156$122
7$176$132
8$195$141
9$212$148
10$229$155
11$244$160
12$257$164
Where credit gets used
  • Auto-applied at renewal54% $24,875
  • Customer account27% $12,437
  • Checkout14% $6,449
  • Support team5% $2,303
Days to first use
18
Average, after credit is issued
Credit balance
$12.40
Average per customer with credit

The problem

Merchants could create rewards and referral programs and add them to customer journeys in the canvas view, but once a program was live they couldn’t see how it was doing outside of a sales bump. Nothing showed the results visually, so they had no data to make educated decisions with.

What I did

Working with a designer, I added two things. First, a simpler way to build the pages customers see: rewards landing pages and referral link pages. Second, analytics on the rewards and referral list pages, so merchants could see how each program was performing at a glance.

Result

Merchants could finally see what their programs were doing. Instead of judging a reward or referral by whether sales bumped, they could check the numbers right from the list, spot which programs were paying off, and adjust the ones that weren’t. The simpler page setup made it quicker to get a new landing page or referral link live.

Get in touch

I'm looking for my next frontend role. The quickest way to reach me is LinkedIn.

matt_kam