MailChimp User Sync

Description

MailChimp User Sync

Synchronize your registered WordPress users with a MailChimp list of your choice.

To use MailChimp User Sync, please install either the free or premium version of the MailChimp for WordPress plugin.

MailChimp User Sync, at a glance..

MailChimp User Sync will monitor your WordPress user base and automatically synchronize any changes with a selected MailChimp list. This allows you to keep a MailChimp list of subscribers
that is an exact mirror of your WordPress user base.

  • Automatically subscribe new users to your MailChimp list.
  • Sync all profile changes with MailChimp, even when a user’s email address changes.
  • When a user is deleted, the associated MailChimp subscriber will be unsubscribed as well.
  • Synchronize all user roles or a specific one, eg all users with the « customer » role.
  • Synchronize all existing users
  • Choose whether you want to use double opt-in and send a welcome email to new subscribers.
  • WP CLI commands to synchronize a large amount of WordPress users at once.

After activation, the plugin will listen to all changes in your WordPress users and make sure everything stays in sync with the selected MailChimp list.

Development of MailChimp User Sync

Bug reports (and Pull Requests) for MailChimp User Sync are welcomed on GitHub. Please note that GitHub is not a support forum.

More information

Captures d’écran

  • Synchronization settings
  • Status overview

Installation

MailChimp pour WordPress

Since this plugin depends on the MailChimp for WordPress plugin, you will need to install that first.

Installing MailChimp User Sync

  1. Make sure MailChimp pour WordPress is installed (free or premium).
  2. In your WordPress admin panel, go to Plugins > New Plugin, search for MailChimp User Sync and click « Install now« 
  3. Alternatively, download the plugin and upload the contents of mailchimp-sync.zip to your plugins directory, which usually is /wp-content/plugins/.
  4. Activez l’extension
  5. Set your MailChimp API key in MailChimp for WP > MailChimp Settings.
  6. Select a list to sync with in MailChimp for WP > Sync.]
  7. (optional) Select a specific user role to synchronize.
  8. (optional) synchronize your existing users.

FAQ

Installation Instructions

MailChimp pour WordPress

Since this plugin depends on the MailChimp for WordPress plugin, you will need to install that first.

Installing MailChimp User Sync

  1. Make sure MailChimp pour WordPress is installed (free or premium).
  2. In your WordPress admin panel, go to Plugins > New Plugin, search for MailChimp User Sync and click « Install now« 
  3. Alternatively, download the plugin and upload the contents of mailchimp-sync.zip to your plugins directory, which usually is /wp-content/plugins/.
  4. Activez l’extension
  5. Set your MailChimp API key in MailChimp for WP > MailChimp Settings.
  6. Select a list to sync with in MailChimp for WP > Sync.]
  7. (optional) Select a specific user role to synchronize.
  8. (optional) synchronize your existing users.
I think I found a bug. What now?

Please report it on GitHub issues if it’s not in the list of known issues.

I have another question

Please open a topic on the WordPress.org plugin support forums.

Send additional fields to MailChimp

Since version 1.1, you can specify which additional user fields to send to MailChimp by mapping your fields on the settings page of the plugin.

If you need to send more complex data you can use the mailchimp_sync_user_data filter.

add_filter( 'mailchimp_sync_user_data', function( $data, $user ) {
    $data['WEBSITE'] = $user->user_url;
    return $data;
}, 10, 2 );
Only synchronize users based on a custom criteria

You can set your own criteria for subscribing a user by hooking into the mailchimp_sync_should_sync_user filter.

add_filter( 'mailchimp_sync_should_sync_user', function( $subscribe, $user ) {

    // check for custom user field
    if( $user->subscribe_me ) {
        return true;
    }

    // do not subscribe otherwise
    return false;
});
Can I run this from the command-line?

Yes, you can. The plugin registers two WP CLI commands.

wp mailchimp-sync all                           # synchronize all users
wp mailchimp-sync all --role=administrator  # synchronize all users with "administrator" role
wp mailchimp-sync user $user_id             # synchronize the user specified by the given ID

This is especially useful for synchronising a huge amount of users.

Does this plugin synchronize data back from MailChimp?

Not by default, but you can enable this by configuring a webhook in your MailChimp account.

Avis

Great versatile plugin.

Testing on WooCommerce 2.6 and things look good. Albeit documentation is a bit sparse, I like that once you understand how to use it, it is quite versatile. Loving the fact that it handles syncing during user creation, update and deletion, and handles user custom fields as well.

Amazing

I had to signup to WordPress.org just so I could leave this review.
I just launched a new site which I didn’t expect to get many signups for was more testing the waters.
I thought I’d install this plugin as I had a mailchimp account for some other internet marketing stuff I’ve been doing.

Only a few hours after letting a facebook group know about the site I had almost 100 new subscribers – all added to a nice new list. All without them needed to do anything.

Coupling this with a social login option where users can just click a button to login via their facebook or google account and its peeling off email address left right and center.

Dead chuffed with it!

Thanks guys – def one to recommend.

Lire les 14 avis

Contributeurs & développeurs

« MailChimp User Sync » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.

Contributeurs

Traduisez « MailChimp User Sync » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.

Journal

1.6 – November 2, 2017

Additions

  • Added setting that allows users to opt-out from selected MailChimp list via their profile page.

Improvements

  • Minor refactoring & improvements to log messages.

1.5.4 – May 23, 2017

Fixes

  • Interest groupings not coming through when using mailchimp_sync_subscriber_data filter hook.

Improvements

  • Queued background jobs are now only processed at the hourly schedule.

Additions

  • Added mc4wp-sync process-queue command to WP CLI.

1.5.3 – January 18, 2017

Fixes

  • Pending subscribers (when double opt-in is enabled) would be subscribed again on every profile change.

Improvements

  • Plugin can now update email addresses in MailChimp without creating a separate (new) subscriber. Thanks to Maymay for the great help.
  • Now showing pending background jobs on settings page.
  • Background queue improvements for long-lived processes
  • Errors in background jobs will now be logged to the debug log.
  • Reschedule event whenever options are saved.

1.5.2 – September 28, 2016

Fixes

  • Interest groups were always being replaced, instead of added to the existing subscriber’s interest groups.

Improvements

  • Always write to debug log when webhook receives request for user.

Additions

  • Added mailchimp_sync_webhook_data filter to manipulate data received by webhook before it is processed.

1.5.1 – September 7, 2016

Fixes

  • Don’t delay other cron jobs when an error occurs.

Improvements

  • Only send user fields to MailChimp when not empty, to prevent overriding existing data when webhook is not configured.
  • Ask for confirmation before changing webhook secret.

1.5 – August 4, 2016

Improvements

1.4.7 – July 8, 2016

Fixes

  • Incorrect user count resulting in lots of duplicate « Fetched 0 users » statements in Manual Synchronization wizard.

Improvements

1.4.6 – June 14, 2016

Fixes

  • Webhook not updating user fields because it couldn’t find an associated user.

Additions

  • Added webhook settings to settings page.
  • Added « secret key » option to webhook, to further secure webhook endpoint.
  • Preparations for MailChimp API v3.

1.4.5 – May 25, 2016

Fixes

  • Error on PHP 5.3. Square bracket array assignment is a PHP 5.4 feature.

1.4.4 – May 25, 2016

Fixes

  • Only add MailChimp status to user profile when user matches criteria.
  • CLI command now defaults to role selected on settings page when no role argument given.

Improvements

  • Show success notice when manually subscribing or updating a user.
  • Show « skipped » message when wizard attempts to synchronize a user that is excluded by the mailchimp_sync_should_sync_user filter.
  • Show notice that numbers are off when using mailchimp_sync_should_sync_user filter.
  • Various UX improvements to settings page & manual synchronization wizard.
  • Various performance improvements.

1.4.3 – April 13, 2016

Improvements

  • When user switches role or no longer matches custom conditions (using the mailchimp_sync_should_sync_user filter) he will now be unsubscribed from the selected MailChimp list.
  • User fields which are an array of values are now automatically converted to a comma-separated string before they are sent to MailChimp.

1.4.2 – March 14, 2016

Fixes

  • Re-run subscribe method if email isn’t found on MailChimp list (because of an invalid email, for example)

Improvements

  • Setup schedule to run sync process at least once an hour, to prevent long delays.
  • Strip EMAIL from available field map fields to prevent invalid configurations.
  • Webhook updating a user will now write to the debug log.

1.4.1 – February 10, 2016

Fixes

  • Webhook verification not working when setting up webhook in MailChimp.

Improvements

  • Remove JS sourcemaps from admin scripts.

1.4 – January 26, 2016

This update requires you to update MailChimp pour WordPress to version 3.1 first.

Fixes

  • Deleted users were no longer unsubscribed in some cases.

Improvements

  • Use new Queue class from MailChimp for WordPress 3.1 for improved background processing.
  • Use new debug log for easier debugging.
  • Add HTTP status codes to Webhook listener.
  • Miscellaneous code improvements

Changes

  • WP CLI commands are now named wp mailchimp-sync all and wp mailchimp-sync user <user_id> (backwards compatible)

Additions

  • WP CLI command wp mailchimp-sync all is now showing a progress bar

1.3.3 – January 14, 2016

Fixes

  • Fatal error on settings page on lower PHP versions because of missing space between <?php and translation call. This gets Forced Sync to work again.

1.3.2 – January 13, 2016

Fixes

  • Subscription status wasn’t showing on user profile.

Improvements

  • Check for correct request parameters before processing MailChimp webhook.
  • Change plugin name to « MailChimp User Sync »
  • Document all WP CLI commands.
  • Better mobile responsiveness for settings pages.
  • Use Browserify to handle script dependencies.
  • Improved compatibility with MailChimp for WordPress v3.0

1.3.1 – November 13, 2015

Improvements

Additions

  • Added mailchimp_sync_get_user_field filter to get user fields from a custom source and sync those to MailChimp.

1.3 – October 17, 2015

Fixes

  • Webhook not picking up on custom fields, it was only updating default user fields.
  • When creating user via mailchimp_sync_webhook_user filter, it was not staying in sync.

Improvements

  • Changes are now sent to MailChimp after all changes are applied, at the end of the request.
  • Individual changes in user_meta will now be taken into account as well.

1.2.3 – October 12, 2015

Fixes

  • Webhook listener not working since version 1.2.2.
  • Fields in additional fields section were stripped on settings save (when using « + Add Line » button).

Improvements

  • Various defensive coding improvements to the webhook listener

1.2.2 – October 7, 2015

Additions

1.2.1 – October 1, 2015

Improvements

  • For mapping user fields, you can now manually type the « meta key » value of the field. Comes with autocomplete if you have users with that field already.
  • For WooCommerce checkout: run after custom fields have been added

Fixes

  • Newly added rows could not be removed unless page was refreshed again.

1.2 – September 24, 2015

Additions

1.1.3 – September 9, 2015

Fixes

  • Status indicator was not working for installations with a custom database prefix.

Improvements

  • You can now view & clear the log file from the settings page.
  • Nothing will be logged unless WP_DEBUG is enabled.

1.1.2 – September 8, 2015

Fixes

  • Status indicator (in sync / out of sync) is now showing the correct # of users when a role is set.

Improvements

  • Field rules will now clear when changing the MailChimp list to subscribe to.
  • Make it more clear that settings should be saved after choosing a MailChimp list.

1.1.1 – August 28, 2015

Additions

  • Allows you to send the user role as well.

1.1 – August 28, 2015

Additions

  • You can now send additional user fields.
  • You can now subscribe individual users from their « edit user » page.

1.0.2 – August 18, 2015

Improvements

  • Errors are now written to dedicated log file, usually located in /wp-content/uploads/mailchimp-sync.log.
  • Added mailchimp_sync_should_sync_user filter, which lets you set your own criteria for subscribing a user.

1.0.1 – July 14, 2015

Improvements

  • More detailed error message are now shown in the log.
  • Force Sync will now start with unsynced users.

1.0 – May 29, 2015

Fixes

  • Force synchronization would not work on large data sets (> 10.000). The process is now batched.

Improvements

  • Pause & resume the forced synchronization process

Additions

  • Enable & disable auto-syncing
  • Choose a user role to synchronize.
  • WP CLI commands: wp mailchimp-sync sync-all and wp mailchimp-sync sync-user $user_id.
  • Filter: mailchimp_sync_user_data to modify user data before it’s sent to MailChimp.

For more detailed usage info on the introduced features, have a look at the MailChimp User Sync FAQ.

0.1.2 – March 17, 2015

Fixes

  • Synchronising would stop if a synchronize request failed
  • Conflict with other plugins bundling old versions of Composer, throwing a fatal error on plugin activation
  • Users who were deleted from a list would cause issues, they’re now re-subscribed.

Improvements

  • Added some feedback to Log whether a synchronization request succeeded or not.

0.1.1 – February 17, 2015

Fixes

  • Force Sync got stuck on users without a valid email address. (#10, thanks girandovoy)
  • JSON response was malformed when any plugin threw a PHP notice

Improvements

  • Progress log now auto-scrolls to bottom
  • Progress log now shows time
  • Progress log now shows more actions
  • Add settings link to Plugin overview
  • Various JavaScript improvements

0.1 – January 23, 2015

Version initiale.