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 leave your question here or contact me if you need assistance with the plugin.

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

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

    • MishaAuthor June 23, 2016 at 03:55

      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.!

  • RIchard Tandoh July 3, 2016 at 22:28

    +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 Daniel,

      thank you for the interesting idea. I should think how to implement it the best way. Just check plugin updates from time to time.

  • 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 June 30, 2017 at 09:46

    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?????

    • MishaAuthor August 12, 2017 at 22:43

      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

      • MishaAuthor August 13, 2017 at 09:35


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

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) Folio Creative (Australia, Sydney) Spark (New Zealand, Wellington) 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 at a discounted rate of 50%.