← View All Guides
Brevo logo
Integration Guide

How to Add Referral Links to Brevo Campaigns and Automations

Brevo reads GrowSurf data as uppercase contact attributes, so one campaign gives every contact their own link.

Want the full setup walkthrough?

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

With GrowSurf syncing into a Brevo list, each contact carries their referral link and progress as attributes. Brevo resolves them with the contact object, so the same tag works in a campaign, an automation email, and a conditional block.

The attribute names are uppercase. That one detail accounts for most blank referral links in Brevo sends.

Integration Steps

Confirm the list is syncing

The Brevo API key field in the GrowSurf Program Editor
Check the integration in Program Editor > 4. Options > Integrations.

Open a synced contact in Brevo and confirm the GRSF_ attributes are populated before building the campaign around them.

Lead with the link

Use {{ contact.GRSF_SHARE_URL }} as both href and visible text, high in the email. A reader who never scrolls still leaves with their link.

Segment, then personalize

Build a Brevo segment on {{ contact.GRSF_TOTAL_REFERRAL_COUNT }} to separate people who have never referred from active referrers, then send each group a message that makes sense for where they are.

Keep the source of truth in GrowSurf

Change the reward or the milestone copy in GrowSurf and the next sync updates every Brevo contact. The campaign itself does not need editing.

Code Snippets

The referral link

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

Progress and next milestone

<p>You have {{ contact.GRSF_TOTAL_REFERRAL_COUNT }} referrals so far.</p>
<p>{{ contact.GRSF_NEXT_MILESTONE }}</p>

Social share buttons

<a href="https://www.facebook.com/sharer/sharer.php?u={{ contact.GRSF_SHARE_URL }}">Share on Facebook</a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ contact.GRSF_SHARE_URL }}">Share on LinkedIn</a>

Tips

Uppercase or nothing

{{ contact.GRSF_SHARE_URL }} works; the lowercase spelling renders empty and sends cleanly, which is the worst kind of bug.

Encode share text, not the link

When you build a share button, URL-encode your message copy and leave the attribute tag as-is so Brevo can still substitute it.

Send a test to a real contact

Brevo’s test send against a non-contact address cannot resolve attributes.

FAQ

What is the syntax for the referral link?

{{ contact.GRSF_SHARE_URL }}.

Do these work in automations?

Yes. Anywhere Brevo resolves a contact attribute, including automation emails.

Why is my referral link blank?

Either the contact has not synced yet, or the attribute name is not uppercase.

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