Table of Contents
How to Enable the Iterable Integration
Updated
by Samantha Brown
Friendbuy sends your referral and loyalty data to Iterable automatically, so you can personalize emails, SMS, push notifications, build segments, and trigger journeys without any custom code.
The integration sends two kinds of data:
- Profile fields on each customer: name, referral link and code, QR code, share and referral counts, coupons, unredeemed reward value, points, tier and more.
- Events when something happens: a share, a reward earned, a tier change, a receipt processed and more. These are sent right away and can trigger a journey.
Advocate and Friend email addresses will be added to two specific lists that are generated once the integration is enabled.
Before you start
Complete these three steps before installing. Step 2 is critical because data types of fields cannot be changed after established in Iterable.
- In Iterable, go to Integrations → API Keys and click New API Key. Name it (for example, "Friendbuy Integration Key"), choose the Server-side type, then click Copy and store the key somewhere secure. You can't view the full key again after closing the dialog; if you lose it, generate a new key and reinstall.


- Ask your Iterable CSM to create two user fields as type nested:
friendbuyReferralLinksandfriendbuyCoupons.
Install and verify
Install
- In Friendbuy, go to Developer Center > Integrations > click on the Iterable tile.

- Paste your Iterable API key and click Install Integration.

Verify the connection
- Make a test share using a test email address from one of your live widgets tied to your Referral program.
- In Iterable, go to Audience → Lists and confirm the Friendbuy Advocates and Friendbuy Referred Friend lists appear.


- Open the test user's profile. You should see fields beginning with
Friendbuy, including the referral link infriendbuy_purl.
- Open the user's Events tab. You'll see events such as
Friendbuy - Referral Shared.
Profile fields
Profile fields update user profiles and can be used in templates as merge variables, for example {{[Friendbuy Shares]}}.
Customer Profile Fields
Field | Example | Notes |
| Jane Doe | When available from first name and last name |
| Jane | When available |
| Doe | When available |
| 03-14 | Month-day |
| Jane Doe, +15555550123 | Standard Iterable fields |
| Friendbuy | Set only when Friendbuy first creates the user; never overwrites your value |
Referral links and sharing
Field | Example | Notes |
| https://fbshare.me/ab12 | Advocate's main referral link |
|
| Campaign the advocate shared most recently, including their referral code |
| List, one item per campaign (same shape as above) | Active campaigns only |
| Link to a QR image | For the most recently used campaign |
| Link | Only if you use Google Wallet passes |
| Link | Only if you use Apple Wallet passes |
| 4 | Total shares; 0 or more |
| 2026-10-01T08:09:53.994Z | |
| 2 | Friends who completed a qualifying purchase; 0 or more |
| 3 | |
| 1387.95 | |
| USD |
Coupons and rewards
Field | Example | Notes |
| List of |
|
| Newest coupon (same shape as above) | |
| 16 | Total value of rewards not yet used |
| 1 | Number of rewards redeemed |
| SAVE20, 20, USD, distributed | Legacy fields, kept so existing templates keep working |
Loyalty
Field | Example | Notes |
| 120 | Uses your program's points name, e.g. |
| 20 | |
| 5 | Only if you give account credit |
| Gold | Empty when the member is in no tier |
| 2026-10-01T05:47:54.799Z | |
| 2026-10-05T10:12:00.000Z | When a member re-joins |
| 3 | Approved receipts |
Events
Events are sent right away, and each one can start an Iterable journey.
Event | When it's sent | Data in the event |
| An advocate gets a referral link | Campaign Name, Campaign ID, Advocate Name |
| An advocate shares | Campaign Name, Campaign ID, Share Channel (email, purl, facebook…), Advocate Name |
| An advocate earns a reward | Campaign Name, Campaign ID, Reward Code, Reward Value, Reward Currency, Order ID, Customer Name |
| A referred friend earns their reward | Same as above, plus Friend Name |
| Points or credit for a purchase or receipt | Campaign Name, Campaign ID, Points (or Account Credit), Reward Value, Reward Currency, Order ID, Customer Name |
| A member joins your loyalty program | Same as above |
| Points for a referral | Same as above |
| Points for signing up | Same as above |
| Points for a custom action, such as a birthday | Same as above, plus Custom Event Name |
| A member reaches a tier or drops out of one | Tier Name (e.g. Gold); empty when they lose their tier |
| A receipt is approved or rejected | Receipt ID, Customer ID, Store Name, Store ID, Amount, Status, Purchase Date, Submission Date, Product Count, Products, Rejection Reason (if rejected) |
Reward events also include any custom purchase attributes you send to Friendbuy, such as subtotal.
Example payload for Friendbuy - Advocate Reward Earned:
{
"Campaign Name": "Fall Campaign",
"Reward Code": "SAVE20",
"Reward Value": 20,
"Reward Currency": "USD",
"Order ID": "8334577139810",
"Customer Name": "Priya Shah"
}Building journeys
In Iterable, go to Journeys → New Journey, choose a Custom Event start, pick a Friendbuy event, then add actions such as Send Email or Send SMS steps. Common Journey flows:
Goal | Start with | Use in the message |
Ask a new advocate to share |
|
|
Thank an advocate for sharing |
|
|
You earned a reward |
|
|
Welcome a referred friend |
|
|
You earned points |
|
|
Tier up or tier lost |
| Filter on Tier Name is empty → you lost your tier; otherwise → welcome to |
Receipt approved or rejected |
|
|
Profile fields also work in any Campaign, not just Journeys. For example, a monthly newsletter can show {{[Friendbuy Successful Referrals]}} and {{[Friendbuy Unredeemed Coupon Value]}} to remind advocates of rewards waiting to be used.
Data in Iterable
Opted in Advocate email addresses and phone numbers (optional) that are captured through your Referral Widgets will automatically display in the user profile under the Friendbuy Advocates list.
Sample Referral Widget (Burrow)
The referral link that was generated for a given Advocate will also be displayed in their Iterable user profile. Click on any email address in the Friendbuy Advocate Audience List to view their profile and locate the referral link under the friendbuy_purl field.

Referred Friend email addresses and optionally phone numbers that are captured from your Friend Incentive Widgets will automatically display in the user profile under the Friendbuy Referred Friend list.
Sample Friend Incentive Widget (Burrow)
We will also display the coupon codes that were sent to Advocates and referred Friends and you can see this code if available under couponCode. We will also display the status of the coupon code under CouponStatus.
The status will either say distributed if the coupon code was distributed to the user via Friendbuy, or redeemed, if the coupon code was redeemed at checkout.

Also, if you click on the email address, you can see the coupon code under Available User Fields

FAQ
- Lists: Friendbuy adds advocates to the Friendbuy Advocates list and referred friends to the Friendbuy Referred Friend list. They can be used in Iterable campaigns and journeys.
- Opt-in: only contacts who opted in through your Friendbuy widget checkboxes are sent to Iterable.
- Already using the Iterable integration? Your existing fields (
friendbuy_purl,couponCode,couponStatusand the rest) keep working, so current templates don't need changes. - Only active campaigns appear in referral link fields. Draft, paused and ended campaigns are left out.
- QR code and wallet links point to the advocate's most recently used campaign.
- Project types: works with email-based, hybrid and userId-based Iterable projects. Friendbuy uses the customer's Friendbuy ID as the Iterable
userId. - Invalid email addresses are rejected by Iterable and skipped.
- No historical backfill: existing customers' fields fill in at their next activity.
- Referral emails sent by Friendbuy still go out from the Friendbuy platform using your domain.
- Uninstall: go to Developer Center → Integrations → Iterable and remove the integration. Friendbuy stops sending data; data already in Iterable remains.