← View All Guides
Bento logo
Integration Guide

How to Add Referral Links to Bento Emails and Flows

Bento reads GrowSurf data as visitor attributes, so one broadcast gives every person their own referral link.

Want the full setup walkthrough?

Use these docs for exact setup steps, supported fields, and troubleshooting.

Once GrowSurf is syncing to Bento, each person carries their referral link and progress as attributes. Bento reads them with the visitor object, so the same tag works in a broadcast, a flow email, and a conditional block.

This guide covers the tags worth using and the two places a referral email usually goes wrong.

Integration Steps

Check the attributes are landing

The Bento integration card in GrowSurf
Bento lives in Program Editor > 4. Options > Integrations.

Open a synced person in Bento and confirm the grsf_ attributes are populated before you build the email against them.

Put the link where it gets copied

Use {{ visitor.grsf_share_url }} as the href and as the visible text, above the fold. A visible URL gets pasted into messages; a styled button does not.

Branch the flow on referral count

{{ visitor.grsf_total_referral_count }} splits your audience into the two groups that need different messages: people who have never shared, and people already earning. On most programs the first group is the larger of the two.

Change the offer in GrowSurf, not the email

Milestone copy and reward rules are configured in GrowSurf. Update them there and the next sync carries the new values into Bento without an email edit.

Code Snippets

The referral link

<p>Share your referral link:</p>
<a href="{{ visitor.grsf_share_url }}">{{ visitor.grsf_share_url }}</a>

Progress and next milestone

<p>You have {{ visitor.grsf_total_referral_count }} referrals so far.</p>
<p>{{ visitor.grsf_next_milestone }}</p>

A link into your referral portal

<a href="https://grow.surf/YOUR_PROGRAM_ID">View your referral progress</a>

Replace YOUR_PROGRAM_ID with your GrowSurf Program ID, or use your custom Referral Portal domain.

Tips

Attribute names are exact

Use the grsf_ names as GrowSurf creates them. A near-miss renders empty rather than erroring, so it is easy to ship.

Give a new person somewhere to go

Someone with zero referrals has no milestone text. Write that branch as an invitation rather than a progress report.

Preview with a synced person

A test send to an address that is not a participant renders blank tags and tells you nothing.

FAQ

What object holds GrowSurf data in Bento?

visitor. For example, {{ visitor.grsf_share_url }}.

Can I use these in a flow, not just a broadcast?

Yes. They are standard person attributes, so flows can both branch on them and print them.

Which attribute matters most?

The share URL. If you add only one, add that.

Trusted by marketing and product teams that grow through customer, user, and partner referrals.