MailChimp Sync for User Roles and WooCommerce Memberships

Automatically subscribes/unsubscribes users to your MailChimp lists, depending on User Role (or Membership Plan).

Connect User Roles to MailChimp Lists

When someone registers on your website, he'll be automatically added to a specific MailChimp list connected to his user role. All user profile updates sync automatically as well.

Sync WordPress User Roles with Lists and Groups

Interest Groups

The plugin fits for you even if you don't use a lot of lists but only a single list with groups.

sync MailChimp interest groups with WordPress

WooCommerce Memberships Support

Each status of each WooCommerce Memberships plan can be synchronized with the specific Mailchimp list.

sync your WooCommerce members with MailChimp

Mass Resynchronization

What if your website already has users? This is the simplest way to sync them all just in one click.

Mass Sync WordPress Users with MailChimp Lists


I'm always here if you need my help.
Please create a ticket if you need assistance with my plugins or contact me if you have a question.

Sync WordPress User Roles with Lists and Groups

Connect MailChimp with your WordPress Website

Just for 39$

Get the plugin or to learn more

Install and Configure #

After purchasing my plugin you can immediately download it and at the same moment it will be sent to you by email as well. Don’t unzip it, just in WordPress dashboard go to Plugins > Add New and click the Upload Plugin button on this page.

Once you activate the plugin you will see this message:

MailChimp API key is required

Click on the link in this message or just go to Settings > MailChimp Sync (Settings tab).

Just copy your MailChimp API key to start the synchronization. Please notice that your API key is protected - it is not fully visible on the settings page.

Have problems with obtaining MailChimp API keys? Look at this step-by-step tutorial.

That’s all. To confugire the plugin — go to the Roles tab or to a specific membership plan edit page.

Each WordPress user role can be synchronized with the different MailChimp list. Group Interests are supported as well.

If you click Assign Interests button, the popup with all list interests will appear.

Groups of Interest in MailChimp
Just choose the interests you want to add to a user with a specific role.

Memberships can be configured in menu WooCommerce > Memberships. Just go to Membership Plans tab and then select MailChimp Sync subtab.

If WooCommerce Memberships is installed on your website, you can configure MailChimp synchronization just in plan settings.

How it works #

I was inspired to create this plugin when I worked with membership website of Marin Katusa. At that moment the website had 3 Lists in its MailChimp account — Free Newsletter, Premium Subscribers and Lapsed Premium Subscribers. The key features were:

  • When someone buys premium membership, my plugin checks if this email address is already subscribed to Free Newsletter, if yes — it will be unsubscribed from Free Newsletter and only after that subscribed to Premium Subscribers.
  • When user membership is expired, the plugin will remove the user from Premium Subscribers list and subscribe him to Lapsed Premium Subscribers — so the user could receive the emails with offers suggesting him to renew his subscription.

I think the best way to describe how the plugin works is with this table:

Trigger Action
User was registered. User email will be subscribed to a specific MailChimp list connected to his user role.
User was added manually in admin area.
User was registered in the custom code, using wp_insert_user(), wp_create_user() or register_new_user() functions.
Personal information (First name, Last name, Email) was updated by the user himself or by the administrator. The information will be updated in MailChimp automatically. Both for lists connected to user roles and for lists connected to membership plan statuses.
Personal information was updated in the code via wp_update_user() function.
User role was changed in admin area or in the code with wp_update_user() function. User email will be unsubscribed from the list connected to his previous role and subscribed to a list, connected to the new role. If new user role isn’t connected to a list, user just will be removed from MailChimp.
Both user role and user email were changed at the same time Old user email will be removed from the MailChimp list, connected to his old role and new user email will be subscribed to the list connected to the new role.
User was removed His email will be unsubscribed from the list connected to his role
User signs up for a membership plan. His email will be subscribed to the list connected to the current status of his membership plan
Membership was added manually to a user.
User Membership expired. The user email will be removed from the list connected to «Active» plan status and added to a list, connected to the «Expired» status. If you use just one list with groups, only groups will be changed.
Membership was removed. The member email will unsubscribed from all lists, connected to any status of the removed membership.
Trigger Action

4.2.4 – Aug 10, 2018

  • Fixed bug with endless update.

4.2.3 – Jul 24, 2018

  • Fixed bugs with processing remote connection errors.

4.2.2 – May 12, 2018

  • Fixed some bugs related to plugin usage within WordPress Multisite install.

4.2.1 – Apr 28, 2018

  • Improvements in Double Opt-In functionality.
  • License keys are more secured now.

4.2 – Mar 28, 2018

  • Added: Double Opt In feature is available now.

4.1 – Mar 9, 2018

  • Improvements in plugin update mechanism.
  • Small changes in plugin admin UI.

4.0 – Feb 18, 2018

  • Plugin was completely redesigned. Important – once updated to 4.0 from 3.x.x, you have to go to roles/memberships settings and re-save them manually.
  • Resync feature works with WP Cron and MailChimp batch operations now – it allows to save your server resources and time. AJAX progress bar sucks.
  • Works better and faster with large amount of roles/users/groups.
  • MailChimp hidden interests (groups) are now visible and can be used for synchronization.
  • Fixed: Updates bug in WordPress Multisite.

3.0.2 – Feb 10, 2018

  • Added: Sync memberships feature.

3.0 – Mar 17, 2017

  • Added: Tool that allows to resync all the users on the website.
  • Fixed: Bug when user email was updated, both old and new emails were added to lists.
  • Fixed: Bug with WooCommerce Memberships - when user made changes in his profile, nothing happened in MailChimp lists, configured for his membership plan.
  • Some localization improvements.

2.2 – Oct 16, 2016

  • Added: Multiple Memberships support.

2.0 – July 8, 2016

  • Added: Interest groups support.
  • Improved: Plugin usability when API key is not specified.

1.0 – May 31, 2016

  • Release date.
  • It appears that your plugin is unable to add customers to different groups within a list. Is this possible? I do not want to have to work with multiple lists in Mailchimp, but would rather assign customers according to their membership to a specific interest group – child group within my list

    • Hi Jason,
      thank you for this idea – I will try to implement it as soon as possible. After that you can update the plugin via WordPress admin area.

      • Thank you Misha. Having only one list means I can keep my Mailchimp costs down as users are counted as separate subscribers for each list they appear on. A single list also allows people to unsubscribe easily.

        I look forward to the update.!

    • I need this as well !

  • RIchard Tandoh

    +1 for groups support, for the same reason as Jason. I will keep my eye out for its addition. Thanks.

  • Hi,

    Great plugin! I wonder if it is possible to let members/subscribers join different interest groups on the MailChimp-list based on their Zip Code?

    As I see it, it is only their first and last name info that are imported to MailChimp, but it could be great if it was possible to let them assign groups based on the Zip Codes they enter at Checkout, so I could be able to make local campaigns.



  • Hi there

    What I have tried, in order to force a full user sync after installation of the plugin, is a bit of a hack but it seems to work.

    Basically the sync occurs when “wc_memberships_user_membership_saved” is triggered.

    I wanted to only sync Active members. So I set up the sync, then went to the WooCommerce members list page, filtered on Active, selected all users then did a Bulk Action/Edit and updated the Status to Active. Effectively this is no change on the user but it triggers off “wc_memberships_user_membership_saved” which in turns syncs the users to Mailchimp.

    Hope that helps someone.

  • Excellent plugin for my needs – does exactly what I want.

    Thanks Misha for attending to my request so promptly.

    I can highly recommend this plugin and the developer!



  • I just bought this plugin.
    I have a question.
    When I click Assign interests button, the result only show 1 Category, but I have several in my mailchimp.
    How can I fix this?

  • We’ve been using this plug for about a year now and it works really good! We have 64 different lists in MailChimp and whether we add or remove users in WordPress, we know that the MailChimp-lists are always up to date :-) The new feature to manually synchronize is great and the developer is fast to respond if and when anything odd happens :-)

  • Mat Polaschek

    This is a great plugin, exactly what I was looking for. Very easy to use and setup—works perfectly! Thanks a lot Misha, I can’t recommend enough.


  • can i auto sync multiple list of wordpress user with mailchimp list?????

    • Yes, you can.

      • Actually I have 5 different list in mail chimp which i need to auto sync with WordPress users deta depend on the users role , means user with certain role will go to the certain list….and it all need to be automatic …..I don’t want to do it manually….. So I can do that with the help of this plugin …Right

      • Agreed.

        If you have any other questions, feel free to ask.

  • Hello before considering buying your plugin i have a question:

    I am running ecommerce website and sell a subscription service (like Amazon premium), when a user buy it, his role switch from customer to premium. I am using woocommerce subscription plugin to achieve that.

    I want to add these specific customers on a special list and want to remove them automaticaly from this list if they cancel or pause their subscription. So only active can be present on this list.

    Can your plugin achieve that?

    Thank you

    • Hi Richard,

      Is the user role coming back from premium to customer when a subscription is cancelled or paused?

Leave your question or feedback

Please, enter a comment
Please, enter a name
Incorrect email

Some of the companies that use this plugin

Katusa Research (Canada, Vancouver) BrandNewMedia (Dehmark, Odense C) Spark (New Zealand, Wellington) Shell V-Power Racing Team (Australia, Stapylton)
Folio Creative (Australia, Sydney) Digitalist (Denmark, Kolding) VERSEC (United Kingdom, St Albans)

14-Day Money Back Guarantee

Secure Checkout. Instant Download



$139 one-time payment
  • Lifetime priority support
  • Lifetime updates
  • Unlimited websites


$39 one-time payment
  • 2 weeks/support
  • 1 year/updates
  • Unlimited websites

View my refund policy here

The plugin is a one-time purchase which includes a license for plugin updates and support. To continue receiving updates & support after your license has expired you may renew.