> For the complete documentation index, see [llms.txt](https://docs.bloop.plus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bloop.plus/referral-program/integrations/mailchimp.md).

# Mailchimp

Label contacts as referrers or referees and sync their referral data to Mailchimp.

Connecting Mailchimp lets your referral program work with the audience you already have. Bloop labels each contact as a referrer or referee, fills in their link, code, revenue, and referral count, and marks each milestone as it happens.

Set it up under **Settings → Integration → Mailchimp**. The integration is available on the **Scale** plan; on lower plans the enable toggle stays locked.

Mailchimp expresses this in three building blocks: **tags** for instant segmentation, **merge fields** for standing details, and **Customer Journey events** for point-in-time triggers.

> **Best practice:** Segment with the **BLOOP Referrer** / **BLOOP Referee** tags, and use **events** for automations that fire at a specific moment. Run the sync once after connecting so existing contacts carry tags and fields from day one.

### Connecting Mailchimp

1. In Mailchimp, create an API key and copy the **Audience ID** of the audience you want Bloop to write to.
2. In Bloop, open the Mailchimp page and turn on the integration toggle — until it's on, **Connect** is disabled.
3. Press **Connect**, enter the API key and Audience ID, then press **Sync**.

Bloop reads the Mailchimp data centre from your key automatically. Both fields are validated before anything is written, so a wrong audience is caught immediately rather than silently populating the wrong list.

That first sync is what carries your existing base across. Skip it and only customers who hit a milestone *after* connecting get tagged — a "BLOOP Referrer" segment would then miss everyone who joined before.

#### Watching the sync

Bloop writes your audience in a Mailchimp batch and reports it live: the batch id and its status (`pending` → `finished`, or `errored`), total operations, finished, and errored counts. **View Mailchimp batch response** opens the raw result when you need to see which contacts failed — the usual cause is a merge-field type conflict in Mailchimp.

A contact who is both a referrer and a referee is merged into a single entry.

### Tags

| Tag              | Applied to                                                                                    |
| ---------------- | --------------------------------------------------------------------------------------------- |
| `BLOOP Referrer` | Anyone enrolled as an advocate                                                                |
| `BLOOP Referee`  | Anyone who was referred                                                                       |
| `BLOOP Removed`  | Someone removed from the program — their `BLOOP Referrer` tag is deactivated at the same time |

That last pair is what keeps a "current referrers" segment honest: removal doesn't just stop the events, it flips the tags your segments are built on.

### Merge fields

| Merge field        | Holds                                                                                                                                                                              |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `*\|BLOOPLINK\|*`  | Their referral link                                                                                                                                                                |
| `*\|BLOOPCODE\|*`  | Their referral code                                                                                                                                                                |
| `*\|REVENUE\|*`    | Referral revenue they've generated                                                                                                                                                 |
| `*\|SUCCESSREF\|*` | Successful referral count                                                                                                                                                          |
| `*\|JOINDATE\|*`   | When they joined                                                                                                                                                                   |
| `*\|BLOOPHUB\|*`   | A **permanent** link to their [referral hub](/referral-program/referral-hub.md) — safe in a journey email that sends long after the referral, unlike Bloop's own 2-hour magic link |

### Customer Journey events

Each event is a trigger you can start an automation from.

| Mailchimp event                   | Fires when                                        |
| --------------------------------- | ------------------------------------------------- |
| `BLOOP_Join_Program`              | A customer joins your referral program            |
| `BLOOP_Referral_Sharing`          | A referrer shares with a friend                   |
| `BLOOP_Referral_Purchase_Pending` | A friend purchased; the reward is under review    |
| `BLOOP_Successful_Referral`       | A referral converts (carries `BLOOP_Reward_Type`) |
| `BLOOP_Referral_Made_Ineligible`  | A referral is rejected                            |
| `BLOOP_Referee_Receive_Discount`  | A referee receives their discount                 |
| `BLOOP_Removed_From_Program`      | A customer is removed from the program            |

> **Avoid double-sending.** If you replace Bloop's built-in emails with Mailchimp journeys, disable the matching emails in [Email notifications](/referral-program/emails.md) so advocates don't receive both.

### Three high-value plays

* **A referrer-only campaign.** Segment on the **BLOOP Referrer** tag — never send a "join the program" invite to someone already in it.
* **A top-referrer VIP segment.** Segment on `SUCCESSREF` ≥ your threshold; it stays current as merge fields update.
* **An instant thank-you automation.** Start it from the `BLOOP_Successful_Referral` **event**, using `BLOOP_Reward_Type` to match the wording to the reward they actually got.

### A worked example

Sync first so tags and merge fields exist for everyone. Build a segment (**BLOOP Referrer** tag *and* `SUCCESSREF` ≥ 3) for a standing VIP campaign personalised with `*|BLOOPLINK|*`, paired with a *separate* automation off the `BLOOP_Successful_Referral` **event** for an instant thank-you on each new conversion. The segment handles "who is a VIP today"; the event handles "a referral just landed."

### Multiple campaigns

Mailchimp merge fields hold one value per contact, so `BLOOPLINK` and `BLOOPCODE` carry the contact's **most recent** campaign membership — not one field per campaign. Revenue and successful referrals are different: they're totalled across every campaign the contact belongs to.

If you run several campaigns and need each one's link in your emails, [Klaviyo](/referral-program/integrations/klaviyo.md) is the integration that models them separately.

### Common mistakes to avoid

* **Triggering an automation off a tag instead of an event.** A tag is a standing state, not a moment — use the *event* to fire at the right instant.
* **Segmenting off an event instead of a tag or merge field.** Events only capture recent activity — build durable segments from tags and merge fields.
* **Skipping the initial sync.** Without it, existing referrers carry no tags for weeks.
* **Ignoring errored operations.** A failed batch row is a contact your segments will quietly miss.

### Related

* [Klaviyo integration](/referral-program/integrations/klaviyo.md) — the equivalent integration for Klaviyo.
* [Referral analytics](/referral-program/analytics.md) — the in-app view of the same performance.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bloop.plus/referral-program/integrations/mailchimp.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
