Send emails with Mailchimp
The Mailchimp integration syncs a customer's loyalty profile into one Mailchimp audience and sends a loyalty event whenever something happens in the program. Those events can start a Customer Journey, and both the profile fields and the event details can be inserted into the emails that journey sends.
Connect Mailchimp
- In Love Loyalty, open Integrations and select Mailchimp.
- Click Connect to Mailchimp and approve access in Mailchimp.
- Back on the integration page, choose the Mailchimp audience every contact, merge field, and event should be written to.
- Save. Saving creates the Love Loyalty merge fields on that audience.
Nothing syncs until an audience is selected. The page stays on "Mailchimp is connected, but nothing syncs until you select an audience below" until you save one.
Changing the audience later does not copy contacts or their values into the new one. Syncing continues on the new audience only, and the merge fields on the old audience stay there until you remove them in Mailchimp.
What the integration syncs
Two kinds of data are written to the selected audience.
Profile properties are Mailchimp merge fields on the contact, such as the current point balance and VIP tier. They update when the customer's loyalty data changes, and they can be used in segments, journey conditions, and any email.
Events are one-off loyalty actions, such as points earned or a reward redeemed. Each event carries its own properties, such as how many points were earned. An event can start a Customer Journey, and its properties can be inserted into the emails of that journey.
A contact has to exist before Mailchimp will accept an event for them, so each event also updates that contact's profile. If the contact is not in the audience yet, it is created as a transactional contact first.
Some profile fields are off until you turn them on under Enable additional profile properties on the integration page. Saving after you enable one creates its merge field. Merge field names are fixed. They cannot be renamed in Love Loyalty, because a rename would create a new field and leave the old data behind.
-. Mailchimp cannot clear a merge field, so - is the empty value.Set up a Customer Journey
Mailchimp only offers an Event API starting point once the account has an API key. Love Loyalty never uses that key. Create one under Account & billing → Extras → API keys, then leave it there.
Mailchimp also only lists an event after it has received that event at least once. On the Mailchimp integration page, click Send test events. That registers every loyalty event on the selected audience by sending one of each to help@loveloyalty.app. You can archive that contact afterwards.
Use a loyalty event as the trigger
- In Mailchimp, open Automations and create a Customer Journey for the same audience you selected in Love Loyalty.
- Choose a starting point, then API & Integrations → Event API. Mailchimp documents this starting point in Track outside activity with events.
- Select the event. The name has to match exactly, including the
love_prefix.love_points_earnedstarts the journey when points are earned. The friendly name on the integration page, such as "Loyalty points earned", is not the name Mailchimp stores. - Add a Send email step and design that email.
The journey runs for a contact when that event is sent for them. It does not run for the whole audience.
Use profile properties
Profile properties are the contact's merge fields. They are available in every email, including campaign emails, and in audience segments and journey conditions. In a condition, pick the field by the name Mailchimp shows, such as Love Points Balance.
In the email body, insert the merge tag. Mailchimp's merge tag format is documented in All the merge tags cheat sheet. For the point balance:
*|LLPOINTS|*A sentence such as "You have *|LLPOINTS|* points" shows that contact's current balance, whether or not the journey was started by a points event.
Use event properties
Event properties belong to the event that started the journey. They are available in the emails of that journey, and they describe what just happened rather than the contact's current profile. Points earned on this order and the current balance are different values.
Mailchimp inserts an event property with *|EVENT:property_name|*. The property name is lowercase, with words separated by underscores. For the points earned on a love_points_earned journey:
*|EVENT:points_earned|*"You just earned *|EVENT:points_earned|* points from *|EVENT:rule_name|*" fills in the amount and the earning rule for that event. The same email can also include *|LLPOINTS|* for the balance after the event.
*|EVENT:points_earned|* only resolves in a journey triggered by love_points_earned. In any other email, Mailchimp has no event to read it from.
Profile properties
These merge fields are created on the audience when you save. Optional fields are created only after you enable them.
Merge tag | Name in Mailchimp | What it stores |
|---|---|---|
| Love Points Balance | Current point balance |
| Love VIP Tier | Current VIP tier name |
| Love Birthday | Birthday saved in Love Loyalty, as |
| Love Paid Membership | Current paid membership name, or |
| Love Referral URL | The customer's referral link, or |
| Shopify Store Credit | Current Shopify store credit balance |
| Love Opt-in Status |
|
| Love VIP Progress | Current VIP progress. Optional, off by default |
| Love Points to Next Tier | Points or amount left until the next VIP tier, or |
| Love Lifetime Points | Lifetime points earned. Optional, off by default |
| Love Lifetime Redemptions | Lifetime number of redemptions. Optional, off by default |
| Love Lifetime Loyalty Discount Value | Lifetime value of loyalty discounts on orders. Optional, off by default |
Events and their properties
Type the event name in the first column into the Event API starting point. In that journey's emails, reference a property as *|EVENT:property_name|*.
love_points_earned — sent when points are earned, and when points are deducted. A deduction sends a negative points_earned.
points_earned— points earned or deductedrule_name— earning rule name
love_points_redeemed — sent when points are redeemed.
points_redeemedrule_namediscount_code— empty when the redemption did not create a codediscount_amount
love_discount_code_generated — sent when a discount code is created.
discount_codediscount_amountrule_nameredeem_type
love_reward_reached — sent when the customer reaches a reward's point cost.
reward_namereward_costreward_type
love_approaching_reward — sent when the customer is close to a reward's point cost.
reward_namereward_costpoints_neededreward_type
love_vip_tier_achieved — sent when the customer reaches a VIP tier.
tier_nametier_progressnext_tier_name— empty on the top tieramount_until_next_tier
love_approaching_vip_tier — sent when the customer is close to the next VIP tier.
current_tier_nametier_progressnext_tier_nameamount_to_next_tier
love_birthday_reminder_7d and love_birthday_reminder_30d — sent 7 or 30 days before the customer's birthday.
birthday_date—MM-DD
love_points_expiry_7d and love_points_expiry_30d — sent 7 or 30 days before points expire.
expiry_date—YYYY-MM-DD
love_program_joined — sent when the customer joins the program. This event has no properties.
love_double_opt_in_request — sent when the customer needs to confirm opt-in.
confirmation_link
love_membership_started, love_membership_upgraded, and love_membership_downgraded
membership_namemembership_priceexpiration_date—YYYY-MM-DD
love_membership_renewed
membership_namemembership_priceexpiration_date— included when the customer changes or restarts a plan. A recurring billing renewal does not include it.
love_membership_cancelled
membership_name
love_membership_expiry_7d — sent 7 days before a membership renews or expires.
membership_nameexpiration_dateis_renewal—truewhen the membership will renew,falsewhen it will expire
love_store_credit_received — sent when Love Loyalty awards Shopify store credit.
earned_credit_amountearn_rule_titleexpiry_date—YYYY-MM-DD, or empty when the credit does not expire
love_referral_request — sent to each friend a customer refers. This event is not included in Send test events. It appears after the first real referral.
referrer_namereferral_urlreferrer_emailmessage
Updated on: 30/09/2026
Thank you!