Built for lean teams,
scaled for category leaders
Thanks. You're signed up.
Something went wrong. Please try again.
Want the full setup walkthrough?
Use these docs for exact setup steps, supported fields, and troubleshooting.
With GrowSurf syncing into Kit, each subscriber carries their referral link and progress as custom fields. Kit reads them with Liquid, which means you can print a value and branch on it in the same broadcast.
That matters for referral email: the person who has never shared and the person on their fourth referral need different sentences, and Liquid lets one send cover both.

Open a subscriber in Kit that has already synced and check the GrowSurf fields carry values.
Use {{ subscriber.grsf_share_url }} as the href and the visible text. Kit audiences forward emails a lot, and a visible URL survives the forward.
A Liquid if on {{ subscriber.grsf_total_referral_count }} lets you congratulate active referrers and invite everyone else, without building two broadcasts.
The same Liquid works in sequence emails. A broadcast reaches the list once; a sequence email reaches every new subscriber at the same point in their onboarding, without you sending again.
If different referral outcomes should be worth different amounts, set that up with dynamic rewards in GrowSurf rather than in the email.
The referral link
<p>Share your referral link:</p>
<a href="{{ subscriber.grsf_share_url }}">{{ subscriber.grsf_share_url }}</a>One broadcast, two messages
{% if subscriber.grsf_total_referral_count > 0 %}
<p>You have {{ subscriber.grsf_total_referral_count }} referrals. {{ subscriber.grsf_next_milestone }}</p>
{% else %}
<p>Share your link and earn your first reward.</p>
{% endif %}A link into your referral portal
<a href="https://grow.surf/YOUR_PROGRAM_ID?grsf_email={{ subscriber.email_address }}">
View your referral progress
</a>Replace YOUR_PROGRAM_ID with your GrowSurf Program ID, or use your custom Referral Portal domain.
A misspelled field name renders empty rather than erroring. Send yourself a test as a real, synced subscriber before the broadcast goes out.
{{ subscriber.grsf_next_milestone }} is blank on programs without milestone rewards, so it makes an unreliable condition. The referral count is always present.
A broadcast only reaches people who are already on the list. A sequence keeps asking everyone who joins later, with no further work from you.
subscriber, for example {{ subscriber.grsf_share_url }}.
Yes. Kit’s Liquid supports if blocks on any custom field, including the referral counts.
Yes, identically.
Launch a refer-a-friend or affiliate program that lowers your acquisition costs and builds customer loyalty, with little engineering work.
Trusted by marketing and product teams that grow through customer, user, and partner referrals.
