Skip to main content

Integrating Mailchimp with Alliance Pro

Emily avatar
Written by Emily
Updated over a month ago

Use Mailchimp to send branded, automated emails for your pro program. Alliance Pro sends membership lifecycle events to Mailchimp and attaches them to the correct contact by email so you can trigger Customer Journeys, personalize content, and segment your audience.

In this article:


What the integration does

  • Sends membership lifecycle events from Alliance Pro to Mailchimp in real time

  • Identifies the correct Mailchimp contact via their email address

  • Includes event properties for logic, conditional content, and segmentation

When Mailchimp is selected as the notification method, Alliance Pro does not send these member emails directly. Your Mailchimp Customer Journeys become the system of record for delivery.


Prerequisites for using Mailchimp

To use the Mailchimp integration with our app, you'll need:

  • A Mailchimp Standard plan or higher (required for event-triggered Customer Journeys and testing end-to-end)

  • Each member’s email address in Alliance Pro must match an existing contact in your chosen Mailchimp audience, and must not be archived or unsubscribed for events to attach properly.

  • A connected Mailchimp account with at least one active audience

  • If you have multiple audiences, you must select one during setup. Events will not send until this is done.


Connect Mailchimp in Alliance Pro

To connect Mailchimp to our app, you'll need to follow these steps:

  1. In the Alliance Pro admin, go to Preferences.

  2. Under NotificationsCustomer notification method, choose Mailchimp.

  3. Click Connect and authorize Mailchimp.

  4. If prompted, select your Mailchimp audience and Save.

If your Mailchimp account has only one audience, Alliance Pro auto-selects it and test events send automatically. If you have multiple audiences, events will not send until you manually choose and save an audience.


Next step: create a Flow in Mailchimp

If this is your first time setting up a Flow, you’ll need to generate an API key.

Create an API Key

To establish the connection with Mailchimp, you’ll need to create an API key.

In Mailchimp, go to Automations → Build from scratch → Create a Flow, then navigate to API & Integrations. Under Customer Journeys API or Event API, click Want to set one up?

You’ll be taken to the API Keys page. Click Generate an API Key, then copy the key and store it somewhere safe.

Now return to Automations and select the Flow you started.

Back to your Flow in Mailchimp

In Mailchimp, go to Automations → Build from scratch → Create a Flow → API & Integrations → Event API and set the trigger to Custom event. Then select the relevant Alliance Pro event (for example, submitted_application).

Connecting Mailchimp enables Alliance Pro to send events, but it doesn’t automatically send emails. To send response emails, create a Event Flow in Mailchimp and use Alliance Pro events as triggers — for example:

  • submitted_application → send an auto-response confirming the application was received

  • approved_application → send a welcome or approval confirmation

  • rejected_application → send a polite rejection message

  • invited_membership → send an account activation email

  • expired_membership → send a renewal reminder

Each Journey should contain the message you want members to receive for that event. Once the Journey is active, Alliance Pro will trigger it automatically when that event occurs.


Events sent to Mailchimp

Each event includes the member’s email address so Mailchimp can attach it to the matching contact.

Events and properties:

  • submitted_application

    • No additional properties

  • approved_application

    • membership_active_at

    • membership_expires_at

    • membership_group

    • membership_is_active

    • message

    • send_customer_notification

  • rejected_application

    • message

    • send_customer_notification

  • updated_membership

    • membership_active_at

    • membership_expires_at

    • membership_group

    • membership_is_active

  • expired_membership

    • membership_active_at

    • membership_expires_at

    • membership_group

    • membership_is_active

    • send_customer_notification

  • invited_membership

    • activation_url

Core properties:

%{   
membership_active_at: membership.active_at, membership_expires_at: membership.expires_at, membership_group: membership.group.name, membership_is_active: Memberships.active?(membership)
}

Invitation behaviour and testing

  • activation_url appears for new Shopify accounts (when an account must be created). It’s empty for existing accounts.

  • Use conditional content in your templates to only show activation buttons when the property has a value.

  • Confirm invited_membership is sent correctly, with or without an activation URL.


Best practices for Journeys

Create a separate Journey for each notification type. This will help prevent issues with Mailchimp’s “customer can repeat journey” setting and keeps the flow predictable.

Recommended Journeys and when to use them:

  • Application Received

    Trigger: submitted_application

    Purpose: Let applicants know their request was received and is being reviewed.

  • Welcome to the Program

    Trigger: approved_application

    Purpose: Confirm approval, welcome the member, and outline what to expect.

  • Application Decision

    Trigger: rejected_application

    Purpose: Send a clear, respectful message if the application doesn’t meet requirements.

  • Account Setup

    Trigger: invited_membership

    Purpose: Send the activation link and guide the member to finish setting up their account.

  • Membership Renewal Reminder

    Trigger: expired_membership

    Purpose: Prompt expired or lapsed members to renew their access.

You can also use updated_membership for renewal or tier change notifications, but consider filters to prevent unnecessary sends during imports.

Suggested filters:

  • membership_group — adjust messaging based on membership tier.

  • membership_is_active — target active vs. expired members differently.

  • send_customer_notification = true — helps avoid sending emails during admin-only changes.

Conditional content tips:

  • Only show the activation button in the Account Setup Journey if an activation URL is present.

    Use Mailchimp’s merge tag format: *|EVENT:activation_url|*

    • If the value is empty, hide the button.

Common Journey naming examples:

  • "Application Received" → triggered by submitted_application

  • "Welcome to the Program" → triggered by approved_application

  • "Account Setup" → triggered by invited_membership

  • "Membership Renewal Reminder" → triggered by expired_membership

  • Suggested filters:

    • membership_group — branch content for different tiers

    • membership_is_active — target active vs. expired members

    • send_customer_notification = true — suppress admin-only actions

Testing before turning Journeys live:

  • Send test events from Alliance Pro after connecting Mailchimp.

  • Open a test contact in Mailchimp and confirm events appear under Activity → Events.

  • Preview your email templates to ensure event properties (like message or activation_url) display as expected.


Segmentation ideas

  • Active members by group:

    • membership_is_active = true and membership_group = "Pro"

  • Renewal cohorts:

    • membership_expires_at within the next 30 days

  • Recently approved members:

    • approved_application in the last 7 days

  • Lapsed members:

    • expired_membership in the last 90 days and membership_is_active = false


Seeding and testing events

Alliance Pro sends sample events automatically when connecting Mailchimp to seed metrics. You can also manually resend test events.

Verification checklist:

  1. Connect Mailchimp and select your audience.

  2. Use the Send test notification events button.

  3. In Mailchimp, open a test contact and confirm that events and properties appear under Activity → Events.


Troubleshooting & FAQ

"I don’t see Alliance Pro events in Mailchimp!"

  • Confirm you sent a test event after connecting and saving your audience.

  • Make sure the contact exists in Mailchimp with the same email.

  • If the contact is archived or unsubscribed, unarchive or resubscribe them so events attach properly.

"My Journey didn’t start ☹️"

  • Ensure the Journey trigger matches the exact event name (e.g., approved_application).

  • Check filters — if filtering on send_customer_notification = true, confirm that property is set on the event.

"The activation button shows for existing accounts"

  • Add conditional logic so the button only displays when |EVENT:activation_url| has a value.

"Properties are missing in templates"

  • Use the underscore property names (e.g., membership_expires_at), not the readable labels from the UI.

"Duplicate sends are happening during imports"

  • If using updated_membership as a trigger, add filters to exclude bulk imports or temporarily disable the Journey.


Privacy and data handling

  • Alliance Pro events include membership metadata and the contact’s email address.

  • Manage consent and opt-outs directly in Mailchimp.

  • Keep Journeys transactional and limited to program communications in line with your privacy and data-retention policies.

  • For EU or UK merchants, ensure you collect lawful consent under GDPR before sending marketing communications.

Did this answer your question?