---
title: Mailchimp integration
slug: mailchimp
description: How the Personizely Mailchimp integration works: OAuth connection, merge field mapping, audience, tag, segment and interest actions, double opt-in and sync.
docTags: 
createdAt: 2026-10-17T10:00:18.858Z
---

The Mailchimp integration adds visitors who sign up through Personizely widgets to your Mailchimp audiences, with tags, merge fields, segments and interests. It also syncs subscription changes back from Mailchimp, so you can target visitors by audience membership, and recognizes subscribers who click through from your Mailchimp emails.

**Available on:** all platforms. Email only (no SMS).

## Connect Mailchimp

1. Go to **Settings → Integrations**, find **Mailchimp** and click **Connect**.
2. Log in to Mailchimp and approve access. You're sent back to Personizely.
3. Personizely loads your audiences with their merge fields, static segments and interest groups, and the **Mappings** dialog opens.
4. Map the merge fields you want filled (see below) and click **Save**.

When you connect, Personizely also registers a webhook on each audience so it hears about subscribes, unsubscribes, profile updates and email changes. Disconnecting removes these webhooks.

## What's synced

Every action sends the contact's email address and the merge fields you mapped.

- **Mappings** lists every merge field from all your audiences, by merge tag (such as `FNAME`, `PHONE`, `BIRTHDAY`). For each one, choose the Personizely field that fills it, or leave it **Not mapped**. A mapping applies in every audience that has a field with that tag.
- Map **First name** to `FNAME` and **Last name** to `LNAME` to get names into Mailchimp; nothing but the email address is sent until you map fields.
- Dates are converted to the date format of the merge field. Personizely's **Birthdate** fits Mailchimp's birthday field.
- Mailchimp's required-field rules don't block the sync: a contact is added even if a required merge field has no value.

Open **Mappings** again at any time from the integration. After adding a merge field in Mailchimp, click **Refresh** first.

## Automation actions

Add these under **Automation → Action in → Mailchimp**. Each needs an email address on the visitor's profile.

| Action                                                         | What it does                                                                                                         | Options                                                  |
| -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| **Add to list**                                                | Adds the contact to the audience as **subscribed**, or updates an existing member, and applies tags                  | **List**, **Tags**                                       |
| **Add with confirmation to list**                              | Adds the contact as **pending**. Mailchimp emails a confirmation link, and they become subscribed when they click it | **List**, **Tags**                                       |
| **Unsubscribe from list**                                      | Marks the member unsubscribed in that audience                                                                       | **List**                                                 |
| **Add to segment** / **Remove from segment**                   | Adds or removes the member in a static segment                                                                       | **Segment** (shown as "Audience - Segment")              |
| **Add VIP status in a list** / **Remove VIP status in a list** | Sets or clears Mailchimp's VIP flag on the member                                                                    | **List**                                                 |
| **Add interest** / **Remove interest**                         | Sets or clears an interest (group) on the member                                                                     | **Interest** (shown as "Audience - Category - Interest") |

"List" is Mailchimp's audience. Tags are added to the member's existing tags; Personizely never removes tags.

## Double opt-in

Mailchimp's audience setting "Enable double opt-in" applies to Mailchimp's own forms, not to contacts added by integrations. With Personizely, you choose per action:

- **Add to list** subscribes immediately (single opt-in).
- **Add with confirmation to list** sends Mailchimp's confirmation email first (double opt-in).

## Identifying Mailchimp subscribers

When Mailchimp is connected, a link carrying the subscriber's Mailchimp unique ID in `mc_eid` identifies the visitor. Mailchimp adds `mc_eid` to your links automatically when e-commerce link tracking is on for a campaign. You can also add it yourself with the `*|UNIQID|*` merge tag:

```javascript
https://example.com/?mc_eid=*|UNIQID|*
```

Personizely looks the member up in your audiences, links the visitor to their profile and copies their email and mapped merge fields. See [Identifying visitors](docId\:Q2m71k4qe54obA5WmAvBT).

## Two-way sync and target filters

Changes in Mailchimp come back to Personizely for visitors it already knows by email (or SMS phone number):

| Change in Mailchimp       | Effect in Personizely                               |
| ------------------------- | --------------------------------------------------- |
| Subscribed to an audience | Visitor counts as subscribed to that list           |
| Unsubscribed or cleaned   | Visitor no longer counts as subscribed to that list |
| Profile updated           | Mapped Personizely fields are updated               |
| Email address changed     | The visitor's email is updated                      |

Use the **Mailchimp List** filter to target by audience membership, for example to hide a signup popup from subscribers. Memberships are recorded from the moment you connect; existing subscribers are recognized after their next change in Mailchimp or once they subscribe through Personizely. See [Email list and tag filters](docId\:bDZFefAR-ceJy5XgJmNrv).

## Gotchas

- **New audiences need a Refresh.** An audience created after you connected isn't in the dropdowns, and its changes aren't synced back, until you click **Refresh** on the integration. Refresh also registers the webhook on the new audience.
- **Existing members are updated.** **Add to list** for someone who's already in the audience updates their merge fields and adds the tags.
- **Mailchimp's compliance rules still apply.** Mailchimp may refuse to resubscribe a member who unsubscribed, or an address it flags as fake or role-based. The visitor still sees your success message; the contact is saved in Personizely.
- **Only static segments.** Saved (condition-based) segments aren't listed, because Mailchimp manages their members itself.
- **Email required.** Forms that collect only a phone number can't send to Mailchimp.

## Examples

- **Welcome popup:** Form with Email and First name → **Add with confirmation to list** "Newsletter", tag `popup-welcome`. `FNAME` mapped to **First name**.
- **Preference center lite:** Survey bound to a "Favourite category" custom field, then a Form → **Add to list** and **Add interest** "Newsletter - Interests - Running".
- **Hide from subscribers:** the same popup's [Target rule](docId\:lKIsRCLhPiFzzx8QqEhXw) uses "Mailchimp List: Visitor is not subscribed to Newsletter".

## Related

- [Email and SMS integrations](docId\:q8l96CeLAKMNxvuIxhl7v)
- [Email list and tag filters](docId\:bDZFefAR-ceJy5XgJmNrv)
- [Integrations](docId\:YweYsNdyWfChY1Z9KMneN)
- [Identifying visitors](docId\:Q2m71k4qe54obA5WmAvBT)
- [Form element](docId:_32XhaAm6KMwlL3_ZIH25)
