PHPackages                             atomicsmash/ultimate-mailchimp-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. atomicsmash/ultimate-mailchimp-plugin

ActiveWordpress-plugin

atomicsmash/ultimate-mailchimp-plugin
=====================================

Ultimate Mailchimp Plugin

0.0.4(5y ago)01.0k1[2 issues](https://github.com/AtomicSmash/ultimate-mailchimp-plugin/issues)MITPHP

Since Aug 13Pushed 5y ago3 watchersCompare

[ Source](https://github.com/AtomicSmash/ultimate-mailchimp-plugin)[ Packagist](https://packagist.org/packages/atomicsmash/ultimate-mailchimp-plugin)[ Docs](http://www.atomicsmash.co.uk/)[ RSS](/packages/atomicsmash-ultimate-mailchimp-plugin/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (2)Versions (7)Used By (0)

Ultimate MailChimp Plugin - v0.0.1
==================================

[](#ultimate-mailchimp-plugin---v001)

WooCommerce MailChimp signups
-----------------------------

[](#woocommerce-mailchimp-signups)

### This plugin may break your site 💀 or even MailChimp account 💀💀💀. Please only use in development environments.

[](#this-plugin-may-break-your-site--or-even-mailchimp-account--please-only-use-in-development-environments)

What does this plugin actually do?
----------------------------------

[](#what-does-this-plugin-actually-do)

On almost all of the WordPress sites that [Atomic Smash](https://www.atomicsmash.co.uk) create and maintain, we do some form of MailChimp syncing. **Most** existing plugins rely on the need to record information within WP to then sync with MailChimp at a later point.

We found this can become very cumbersome. List members are able to interact with MailChimp outside of the website via the list communication preferences (or even by just unsubscribing from the list). This boils down to a member being able to change there details without your WP site being involved. Of course, you can setup webhooks to notify your site when a change is made via MailChimp blah blah blah... **BUT**... **Just keep it simple**. Maintain MailChimp as the 'single source of truth' and forgot about needing to keep subscription preferences in line with the WP site.

Thanks to this separation, WordPress and MailChimp are completable replaceable in the future.

- If you need to move to a new CMS, everything is inside MailChimp already.
- If you need to move away from MailChimp, just export from MailChimp. There are no user artefacts within your Wordpress site regarding user communication preferences.

#### When does this plugin talk to MailChimp?

[](#when-does-this-plugin-talk-to-mailchimp)

This plugin communicates with MailChimp at these points:

- Successful order via WooCommerce. - `woocommerce_checkout_update_order_meta`

**More points of interaction will be added in the future.**

Know of another time you would like to talk to MailChimp? Please add an issue! 😉

Sign up form
------------

[](#sign-up-form)

Users will be shown a description of what MailChimp does as a marketing platform, then .. CHECKBOX OPTIONS

All of this text in editable via the available via [these filters](https://github.com/AtomicSmash/ultimate-mailchimp-plugin/wiki/Filters). 😎

Features
--------

[](#features)

- GDPR compliant newsletter description built in
- Send custom merge fields to MailChimp
- Interact with GDPR fields inside MailChimp
- This plugin **only** syncs subscribed or pending users, if they are unsubscribed they never get sent to MC

Complete site setup
-------------------

[](#complete-site-setup)

### Step 1 - Add project to your composer file

[](#step-1---add-project-to-your-composer-file)

Run this in the root of your project:

```
composer require atomicsmash/ultimate-mailchimp-plugin

```

### Step 2 - Add configs

[](#step-2---add-configs)

Add these config details to your `wp-config.php`

```
define('ULTIMATE_MAILCHIMP_LIST_ID', '');
define('ULTIMATE_MAILCHIMP_API_KEY', '');
define('ULTIMATE_MAILCHIMP_GDPR_FIELDS', true);

```

`ULTIMATE_MAILCHIMP_LIST_ID` - This is the list you would sync with. This can be [found here](https://user-images.githubusercontent.com/1636310/43076416-18e63d42-8e7c-11e8-907d-03074ba6879a.gif).

`ULTIMATE_MAILCHIMP_API_KEY` - This is your key can be found in your account.

`ULTIMATE_MAILCHIMP_GDPR_FIELDS` -

### Step 3 - Enable double opt-in in your MailChimp list (encouraged)

[](#step-3---enable-double-opt-in-in-your-mailchimp-list-encouraged)

By default, when someone checks the "Sign me up to the MailChimp newsletter", the subscriber status is set to 'pending'. This will trigger a confirmation email from MailChimp.

To make sure this functionality is active, go to your primary list &gt; Settings &gt; 'List name and campaign' and check the "Enable double opt-in" checkbox and save. [![Like this](https://user-images.githubusercontent.com/1636310/43076417-1901cf3a-8e7c-11e8-8a8f-c5f0e63a0ff7.gif)](https://user-images.githubusercontent.com/1636310/43076417-1901cf3a-8e7c-11e8-8a8f-c5f0e63a0ff7.gif)

### Step 4 - GDPR fields

[](#step-4---gdpr-fields)

MailChimp have added a series of 'marketing permission' (GDPR) fields to it's API. To be able to interact with these, we need a few pieces of information.

- Field ID
- Field Name
- Field value (whether it should be checked or not)

### Other Config

[](#other-config)

Here are some extra config options. We would recommend only using these in a development or testing environment.

```
define('ULTIMATE_MAILCHIMP_LOGGING', true);
define('ULTIMATE_MAILCHIMP_DEBUG', true);

```

`ULTIMATE_MAILCHIMP_LOGGING` - This enables logging to the file: `wp-content/uploads/ultimate-mailchimp.log` via monolog.

`ULTIMATE_MAILCHIMP_DEBUG` - When in debug mode, WooCommerce checkout will not complete (There will be a JSON error) yet MailChimp will be called. This allows you to run through the checkout process without having to create a new order each time.

`ULTIMATE_MAILCHIMP_DOUBLE_OPTIN` - If you would like to disable the double opt-in and force the new users to be subscribed by default on sync, add this constant to your config and set to `false`.

Merge fields
------------

[](#merge-fields)

These merge fields are sent by default are:

```
**FNAME** - This is taken from the first name in the billing details.
**LNAME** - This is taken from the last name in the billing details.

```

To edit the merge fields sent to MailChimp, use the [merge field filter here](https://github.com/AtomicSmash/ultimate-mailchimp-plugin/wiki/Filters).

All available filters
---------------------

[](#all-available-filters)

[View filters here](https://github.com/AtomicSmash/ultimate-mailchimp-plugin/wiki/Filters)

Upcoming features
-----------------

[](#upcoming-features)

- Bulk sync users from WordPress to MailChimp
- Send transactional info with purchases
    - Sync products / store information
- Add shortcode and snippet for loading the signup form
- Seperate dev (monolog) requirements inside composer file
- Add `user_register` : This is a global hook that is fired when a user is created inside WordPress. This means it's fired from the frontend registration form, backend user addition screen, any plugin or custom script used to register users and almost anything in between.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~229 days

Total

4

Last Release

2110d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1ece800089b8d593741a22cab40028b7d5119a3b5e89d86d913a829251562e10?d=identicon)[atomicsmash](/maintainers/atomicsmash)

---

Top Contributors

[![daviddarke](https://avatars.githubusercontent.com/u/1636310?v=4)](https://github.com/daviddarke "daviddarke (51 commits)")[![steve-brett](https://avatars.githubusercontent.com/u/10950111?v=4)](https://github.com/steve-brett "steve-brett (1 commits)")

---

Tags

plugindevwordpressmailchimp

### Embed Badge

![Health badge](/badges/atomicsmash-ultimate-mailchimp-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/atomicsmash-ultimate-mailchimp-plugin/health.svg)](https://phpackages.com/packages/atomicsmash-ultimate-mailchimp-plugin)
```

###  Alternatives

[sybrew/the-seo-framework

An automated, advanced, accessible, unbranded and extremely fast SEO solution for any WordPress website.

47078.8k](/packages/sybrew-the-seo-framework)[afragen/git-updater

A plugin to automatically update GitHub, Bitbucket, GitLab, or Gitea hosted plugins, themes, and language packs.

3.3k1.6k](/packages/afragen-git-updater)[webdevstudios/cmb2-attached-posts

Custom field for CMB2 for creating post relationships.

13565.5k](/packages/webdevstudios-cmb2-attached-posts)[atomicsmash/acf-limiter-field

Advanced Custom Fields: Limiter Field

112.8k](/packages/atomicsmash-acf-limiter-field)[alleyinteractive/pest-plugin-wordpress

WordPress Pest Integration

263.7k1](/packages/alleyinteractive-pest-plugin-wordpress)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
