Requires: Fundations Pro 1.1.0+
Automatically adds donors and fundraisers to your Mailchimp audience when they donate or create a fundraising page. Supports double opt-in, merge field mapping, and tags.

Why use it
Email is the main channel for donor retention. The Mailchimp integration captures contacts at the moment they engage, without manual list exports or CSV imports. Contacts are created or updated on each qualifying event, so your audience stays current.
What it does
When a configured trigger fires, the connector upserts the contact in your chosen Mailchimp audience using Mailchimp’s add-or-update endpoint. If the contact already exists they are updated; if not, they are created.
If double opt-in is enabled, new contacts receive a confirmation email and are set to pending status until they confirm. If double opt-in is off, contacts are set directly to subscribed.
Note on resubscription: The integration sets the status field (not status_if_new). Archived or unsubscribed contacts in your Mailchimp audience will be resubscribed when they appear as a new event. If you need to preserve unsubscribed status, do not rely on double opt-in as the only guard.
Default merge fields sent: FNAME, LNAME, LASTAMT (last donation amount), LASTDATE (last donation date).
When Automation Rules are used, destination fields are Mailchimp merge tags (uppercase). The email address is resolved from any of these source keys: EMAIL, email, email_address, donor_email, user_email, creator_email.
Supported triggers
| Trigger | What syncs |
|---|---|
donation_received | Donor contact (requires marketing consent) |
user_registered | New fundraiser who registered via the wizard |
action_created | Fundraiser who created a new fundation |
campaign_joined | User who joined a campaign |
How to set it up
- Navigate to Fundations Pro → Integrations → Mailchimp.
- Enter your Mailchimp API key. Find this in your Mailchimp account under Profile → Extras → API Keys. The key format is
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-us1whereus1is your data center code. - Click Save to validate the key and load your audiences.
- Select the Audience (list) that new contacts should be added to. Use the refresh button if your audiences do not appear.
- Enable Double opt-in if you want contacts to confirm before being added to your audience.
- Choose which Triggers should sync contacts.
- Configure any Tags under donor tags or fundraiser tags settings (comma-separated).
- Click Test to send a sample payload and verify the connection.
- Enable the integration.

Settings & options
| Setting | Type | Description |
|---|---|---|
| API Key | Password (encrypted) | Your Mailchimp API key, format key-dcXX |
| Audience | Select | The Mailchimp list to sync contacts into |
| Double opt-in | Checkbox | Sends a confirmation email; new contacts start as pending |
There is no OAuth flow. Authentication is API key only.
What you can and cannot do
You can add donors, fundraisers, and campaign joiners to a Mailchimp audience automatically. Merge fields let you pass donation amounts, dates, and custom data. You can apply tags to contacts on sync, require double opt-in for GDPR compliance, and use Automation Rules to add delays or route contacts to different audiences based on conditions.
You cannot sync a donor who did not give marketing consent on the donation form. Sending to multiple audiences simultaneously from one integration instance is not supported — use multiple automation rules for that. There is no unsubscribe trigger, so contacts cannot be removed from Mailchimp via Fundations. You also cannot enroll contacts directly into Mailchimp automations from Fundations; configure Mailchimp automations to trigger on the tags or list membership that Fundations sets.
Examples
Basic donor list: Enable donation_received trigger, select your main donor audience, leave double opt-in off. Every consenting donor is immediately added.
GDPR-safe welcome series: Enable donation_received, turn on double opt-in. The donor receives a confirmation email. On confirmation, Mailchimp fires your welcome automation.
Fundraiser onboarding: Enable user_registered and action_created triggers. New fundraisers land in a separate audience segment and receive an onboarding sequence.
Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
| No contacts appearing | Marketing consent not checked by donors | The trigger only fires when consent is given |
| “Invalid API key” error | Incorrect or expired key | Re-enter the full key including the -us1 suffix |
| Audience list is empty | Key saved but audiences not fetched | Click the refresh button next to the audience selector |
Contacts set to pending unexpectedly | Double opt-in is enabled | Disable it in settings if you do not want the confirmation flow |
| Archived contacts being resubscribed | Status is forced on update | Expected behaviour; adjust your Mailchimp suppression rules if needed |
| Test button succeeds but live syncs don’t appear in logs | Integration not enabled | Toggle the Enable switch and save |
Developer reference
The Mailchimp connector does not expose its own filters. Use the shared integration filters from the integration index to modify data before it reaches Mailchimp.
Example: add a custom merge field from donation meta:
add_filter( 'get_fund_integration_trigger_data', function( $data, $trigger, $object_id ) {
if ( $trigger === 'donation_received' ) {
// Add a custom merge tag value
$data['CAMPAIGN_TYPE'] = get_post_meta( $data['action_id'], '_my_campaign_type', true );
}
return $data;
}, 10, 3 );