# How to Sync GrowSurf Referral Data to Loops Contacts > Connect Loops to GrowSurf with an API key, pick a mailing list, and sync 15 referral contact properties automatically. - URL: https://growsurf.com/integration-guides/loops-referral-contact-sync/ --- [← View All Guides](/integration-guides/) One API key, one mailing list, and every Loops contact carries their referral link as a contact property. Want the full setup walkthrough? Use these docs for exact setup steps, supported fields, and troubleshooting. [GrowSurf Loops setup guide](https://docs.growsurf.com/integrations/loops) [Loops contact properties docs](https://loops.so/docs/contacts/properties) GrowSurf adds and updates contacts in the Loops mailing list you choose and creates the contact properties holding each participant’s referral link, referral counts, referrer details, and milestone progress. Loops uses camelCase property names, which is worth noticing before you write your first email — they are not the snake\_case names other tools use. ## Integration Steps ### Generate a Loops API key In [Loops > Settings > API](https://app.loops.so/settings?page=api), select **Generate key**, name it, and select **Create key**. Copy the key before you close the modal — Loops will not show it again. ### Connect Loops in GrowSurf Open **Program Editor > 4. Options > Integrations** and search for Loops. Searching for Loops in the GrowSurf Program Editor integrations listSearch the integrations list in Program Editor > 4. Options > Integrations. Expand the card, paste the API key, and submit. The Loops API key field in the GrowSurf Program EditorPaste the Loops API key and submit. Connect before importing participants; the sync covers people added from that point on. Already imported? Use the [existing-participant sync options](https://support.growsurf.com/article/385-how-can-i-sync-my-growsurf-participants-to-my-esp). ### Choose the mailing list Select the Loops mailing list that should receive GrowSurf participants. If a list you just made is not in the dropdown, use the refresh icon beside it to reload. Choosing the list is what creates the contact properties and starts the sync. ### Know your contact properties | GrowSurf data | Property | Type | What it holds | | --- | --- | --- | --- | | Share URL | grsfShareUrl | Text | The participant’s unique referral link | | Participant ID | grsfParticipantId | Text | The participant’s GrowSurf ID | | Referral Status | grsfReferralStatus | Text | CREDIT_PENDING, CREDIT_AWARDED, or CREDIT_EXPIRED | | Participant first name | grsfParticipantFirstName | Text | The participant’s first name | | Participant last name | grsfParticipantLastName | Text | The participant’s last name | | Referrer first name | grsfReferrerFirstName | Text | The referrer’s first name, when there is one | | Referrer last name | grsfReferrerLastName | Text | The referrer’s last name, when there is one | | Referrer email | grsfReferrerEmail | Text | The referrer’s email, when there is one | | Total referral count | grsfTotalReferralCount | Number | All-time referral count | | Monthly referral count | grsfMonthlyReferralCount | Number | Referral count for the current month | | Previous monthly referral count | grsfPrevMonthlyReferralCount | Number | Referral count for the previous month | | Next milestone | grsfNextMilestone | Text | The next milestone message, on programs with milestone rewards | | Next monthly milestone | grsfNextMonthlyMilestone | Text | The next monthly milestone message, when there is one | | Total invite count | grsfTotalInviteCount | Number | All-time invite count | | Total impression count | grsfTotalImpressionCount | Number | All-time referral-link view count | In an email, wrap the property in single curly braces — `{grsfShareUrl}`. ## Tips #### camelCase, not snake\_case Loops properties are `grsfShareUrl`, not `grsf_share_url`. Copy them exactly. #### Single braces in email content Loops merges with one pair of braces, unlike most tools that use two. #### Refresh if your list is missing A list created after GrowSurf loaded the dropdown will not appear until you refresh it. Recommended Guides [Loops logo How to Add Referral Links to Loops Emails Single-brace contact properties put each reader’s own referral link into one Loops campaign or loop. View Guide →](/integration-guides/loops-referral-email-personalization/) [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/) [Bento logo How to Sync GrowSurf Referral Data to Bento People Three values from Bento, one tag to sync into, and every person carries their referral link as an attribute. View Guide →](/integration-guides/bento-referral-subscriber-sync/) ## FAQ #### Where do I get the Loops API key? Loops > Settings > API, then **Generate key**. Copy it before closing the modal. #### Does GrowSurf create the contact properties? Yes, when you select a mailing list. #### What is the property for the referral link? `grsfShareUrl`, written as `{grsfShareUrl}` in an email. ## 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.