Synchronisation

In this chapter we explain which data is synchronised between Mailchimp and beabee, when and how.

From Mailchimp to beabee

On events from Mailchimp:

beabee uses a webhook to get updates from Mailchimp, it listens for the following events:

  • Subscribe -> A new contact has been added to Mailchimp, create the contact in beabee

  • Change email -> A contact's email address has changed, update it in beabee

  • Update profile -> A contact's profile data has changed, update it in beabee

  • Note: We currently only support updating the contact's first name and last name, all other updates are ignored

From beabee to Mailchimp

Immediately when an action is triggered in beabee:

  • A new contact is created -> Create the contact in Mailchimp

  • A contact is updated (e.g. update address, contribution, etc.) -> Update the contact's merge fields in Mailchimp

  • A contact's membership role becomes active -> Add the "Active member" tag

  • A contact's membership role becomes inactive -> Remove the "Active member" tag, set their status to unsubscribed

  • A contact answers a call out that has been assigned a newsletter merge field -> Update the contact's merge field with their answer to the call out

  • Resync is triggered -> All contacts are reuploaded to Mailchimp, overwriting all merge fields and creating any unknown contacts in an unsubscribed state. Contacts that are only in Mailchimp are imported into beabee Note: We don't currently sync tags

Daily jobs:

  • Archive members that have expired in the last day -> Remove the "Active member" tag, set their status to archived

  • Update members who have joined a segment in the last day -> Add segment tag to contact in Mailchimp

  • Update members who have left a segment in the last day -> Remove segment tag from contact in Mailchimp

Problems:

  • If a contact manually unsubscribes from Mailchimp they can't be opted back in via the API at a later date

Last updated