The Mailchimp integration keeps your audience contacts in sync with loyalty data through merge fields (always-on profile data) and member events (fired when specific actions happen). Both can be used in Mailchimp Customer Journeys to trigger targeted email automations.
Merge Fields
Merge fields are updated on the Mailchimp contact record automatically whenever the corresponding data changes. You need to create these fields in your Mailchimp audience before they can store data. Go to Audience → Manage Audience → Settings → Audience fields and *|MERGE|* tags to add them.
| Merge Tag | Type | When Updated | Description |
|---|---|---|---|
LOYALTYPTS | Number | Every points transaction | The customer’s current points balance. |
PTSUPDATE | Text | Every points transaction | Timestamp of the most recent points change (MySQL datetime format). |
BIRTHDAY | Birthday | When customer saves their birthday | The customer’s birthday in MM/DD format. Required for Mailchimp’s native birthday automation trigger. |
Events
Member events are sent to the Mailchimp Events API and can be used as triggers in Customer Journeys. Event names use lowercase letters and underscores as required by Mailchimp.
points_updated
Fired on every points transaction: earning, spending, expiring, and manual adjustments.
| Property | Type | Description |
|---|---|---|
delta | Integer | Points change. Positive for earned, negative for spent or expired. |
balance_after | Integer | Points balance after the transaction. |
reason_title | String | Human-readable reason. See the full list below. |
source | String | Machine-readable source type. |
awarded_at | ISO 8601 datetime | Timestamp of the transaction. |
All possible reason_title values:
| reason_title | When it fires |
|---|---|
| Order purchase | Customer earns points for placing an order. |
| Order discount | Customer redeems points for a discount on an order. |
| Order cancelled | Points are reversed when an order is cancelled. |
| Order refunded | Points are reversed when an order is refunded. |
| Product review | Customer earns points for leaving a product review. |
| Friend referral | Customer earns points for referring a friend. |
| Manual adjustment | An admin manually adds or removes points. |
| Registration bonus | Customer earns points for creating an account. |
| Birthday bonus | Points awarded on the customer’s birthday. |
| Imported points | Points added via CSV import. |
| Points expired | Points removed due to inactivity expiry. |
rank_achieved
Fired when a customer reaches a new rank tier.
| Property | Type | Description |
|---|---|---|
rank_id | Integer | ID of the new rank. |
rank_name | String | Display name of the new rank. |
rank_milestone | Integer | Points threshold for the new rank. |
previous_rank_name | String | Name of the previous rank. Not present on first rank. |
achieved_at | ISO 8601 datetime | Timestamp when the rank was achieved. |
coupon_code | String | The coupon code issued as a rank reward. Only present when a coupon is configured for this rank. |
coupon_codes | Array | All coupon codes issued when the rank has multiple rewards configured. Only present when more than one coupon is issued. |
Using Events in Customer Journeys
In Mailchimp, go to Automations → Customer Journeys and create a new journey. For the starting point, choose API as the trigger type and select the event name (points_updated or rank_achieved). You can then add conditional splits based on event properties to route customers into different email branches. For example, split on reason_title = Birthday bonus to send a birthday congratulations, or reason_title = Friend referral for a referral reward email.