# How to Add Referral Links to Resend Broadcasts > Use GrowSurf referral Contact Properties in Resend Broadcasts, with the exact triple-brace syntax and fallback values. - URL: https://growsurf.com/integration-guides/resend-referral-broadcast-personalization/ --- [← View All Guides](/integration-guides/) Drop each participant’s own referral link and progress into a Broadcast with Resend’s Contact Property syntax. Want the full setup walkthrough? Use these docs for exact setup steps, supported fields, and troubleshooting. [GrowSurf Resend Broadcast tutorials](https://docs.growsurf.com/integrations/resend/tutorials) [Resend Broadcasts docs](https://resend.com/docs/dashboard/broadcasts/introduction) A referral Broadcast only works if every reader gets their own link. Once GrowSurf is syncing to a Resend Segment, that link is a Contact Property, so one Broadcast covers the whole list. This guide shows the exact syntax for the referral link, a portal link, and progress copy, plus the fallback that keeps an empty value from printing a blank line. ## Integration Steps ### Confirm the Segment is syncing The connected Resend integration in GrowSurf with a Segment selectedThe Contact Properties exist once a Segment is selected and participants have synced. A Broadcast can only personalize on properties that are already on the Contact. Check that the Segment is selected in **Program Editor > 4. Options > Integrations** and that at least one participant has synced. ### Write the Broadcast against that Segment In Resend, create a Broadcast and send it to the Segment GrowSurf is keeping current. Reference properties with triple braces: `{{{contact.grsf_share_url}}}`. Resend supports a fallback after a pipe, so `{{{contact.grsf_total_referral_count|0}}}` prints `0` rather than nothing. ### Lead with the link, not the explanation Put the referral link above the fold and make it both the href and the visible text. People copy the visible URL far more often than they click a styled button, and a visible link survives being pasted into a message. ### Check where to change the source values Milestone text, reward rules, and the referral link itself are configured on the GrowSurf side. Change them there and the next sync carries the new values into your Broadcast. ## Code Snippets **The participant’s referral link** ```
Copy and paste your unique referral link to share:
``` **Referral progress, with a fallback** ```You have made {{{contact.grsf_total_referral_count|0}}} referrals so far.
``` **A link into your referral portal** ``` View your referral progress ``` Replace `YOUR_PROGRAM_ID` with your GrowSurf Program ID, or swap the whole `https://grow.surf/YOUR_PROGRAM_ID` portion for your custom Referral Portal domain. ## Tips #### Three braces, not two Resend uses `{{{contact.property}}}`. Two braces will not resolve, and the Broadcast will go out with the raw tag visible. #### Give every number a fallback A new participant has no referral count yet. `|0` keeps the sentence readable instead of shipping “You have made referrals”. #### Send a test to a synced Contact Preview against a Contact that has already synced. A Contact without the properties renders the fallbacks, which hides mistakes in the property names. Recommended Guides [Resend logo How to Sync GrowSurf Participants to a Resend Segment Point GrowSurf at a Resend Segment and it keeps Contacts and their referral Contact Properties current on its own. View Guide →](/integration-guides/resend-referral-contact-sync/) [SendGrid logo How to Send Referral Reminder Emails from SendGrid with GrowSurf Use GrowSurf's SendGrid sync plus referral portal links to build welcome, reminder, and progress emails that keep participants sharing. View Guide →](/integration-guides/sendgrid-referral-transactional-emails/) [Klaviyo logo How to Personalize Klaviyo Referral Emails with GrowSurf Sync GrowSurf referral properties into Klaviyo profiles, then use them in email flows that keep each participant's link and reward progress current. View Guide →](/integration-guides/klaviyo-referral-email-flows/) ## FAQ #### What is the exact Contact Property syntax? `{{{contact.grsf_share_url}}}`. Add a fallback after a pipe when the value can be empty, like `{{{contact.first_name|there}}}`. #### Can I show milestone progress? Yes, with `grsf_next_milestone`. It is populated on programs that use milestone rewards and have Next Milestone text set, so give it a fallback on other programs. #### Which property matters most? `grsf_share_url`. If you only add one, add that one — it is the field that turns an open into a share. ## Turn word of mouth into steady growth from your customers Launch a refer-a-friend or affiliate program that lowers your acquisition costs and builds customer loyalty, with little engineering work. [Launch Your Program](https://app.growsurf.com/signup) 14-day free trial No credit card required Trusted by marketing and product teams that grow through customer, user, and partner referrals. ## Built for lean teams, scaled for category leaders Thanks. You're signed up. Something went wrong. Please try again.