DOCS

Mailchimp integration

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.

Mailchimp settings

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

TriggerWhat syncs
donation_receivedDonor contact (requires marketing consent)
user_registeredNew fundraiser who registered via the wizard
action_createdFundraiser who created a new fundation
campaign_joinedUser who joined a campaign

How to set it up

  1. Navigate to Fundations Pro → Integrations → Mailchimp.
  2. Enter your Mailchimp API key. Find this in your Mailchimp account under Profile → Extras → API Keys. The key format is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-us1 where us1 is your data center code.
  3. Click Save to validate the key and load your audiences.
  4. Select the Audience (list) that new contacts should be added to. Use the refresh button if your audiences do not appear.
  5. Enable Double opt-in if you want contacts to confirm before being added to your audience.
  6. Choose which Triggers should sync contacts.
  7. Configure any Tags under donor tags or fundraiser tags settings (comma-separated).
  8. Click Test to send a sample payload and verify the connection.
  9. Enable the integration.
Mailchimp audience select

Settings & options

SettingTypeDescription
API KeyPassword (encrypted)Your Mailchimp API key, format key-dcXX
AudienceSelectThe Mailchimp list to sync contacts into
Double opt-inCheckboxSends 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

ProblemLikely causeFix
No contacts appearingMarketing consent not checked by donorsThe trigger only fires when consent is given
“Invalid API key” errorIncorrect or expired keyRe-enter the full key including the -us1 suffix
Audience list is emptyKey saved but audiences not fetchedClick the refresh button next to the audience selector
Contacts set to pending unexpectedlyDouble opt-in is enabledDisable it in settings if you do not want the confirmation flow
Archived contacts being resubscribedStatus is forced on updateExpected behaviour; adjust your Mailchimp suppression rules if needed
Test button succeeds but live syncs don’t appear in logsIntegration not enabledToggle 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 );