Mailchimp

Mailchimp is one of the most widely used email marketing platforms, especially among small and mid-sized businesses: newsletters, product announcements, onboarding sequences, abandoned-cart reminders, and other automated customer journeys. Marketing teams work in its editor and campaign tools; engineering teams usually own the integration — syncing contacts and consent from the product, sending events that trigger journeys, and keeping unsubscribes consistent across systems.

Integration mistakes here have legal and reputational consequences. Re-adding someone who unsubscribed violates anti-spam and privacy laws; importing old purchased lists ruins sender reputation; and mixing marketing with password resets means users who opt out stop receiving essential mail. A careful integration respects contact status as sacred, keeps consent records, and protects deliverability.

TL;DR

Quick Example

Syncing a consenting user from the product with the Mailchimp Marketing API — without resubscribing anyone who opted out:

Receiving unsubscribes and cleaned addresses (Mailchimp checks the URL with a GET request and does not sign webhooks, so keep the URL secret):

Core Concepts

Audiences and Organization

Mailchimp bills by contact count and recommends a single audience with tags and segments; duplicate audiences double-count contacts and fragment unsubscribe status.

Contact Status and Consent

When upserting with PUT, setting status overwrites the existing status — which can resubscribe someone who opted out. Use status_if_new so only new contacts get a status. Record consent in your own system too: source, timestamp, the wording shown, and IP or account. Double opt-in is recommended and in some jurisdictions effectively required. See Consent Management.

Journeys and Events

Customer journeys automate sequences — welcome series, onboarding, re-engagement — triggered by audience changes, tags, dates, or events sent from your product ("trial_started", "project_created"). Send events for meaningful milestones, not every click, and keep naming consistent with your analytics events. See Marketing Automation.

Webhooks and Synchronization

Mailchimp can call a webhook on subscribes, unsubscribes, profile updates, cleaned addresses, and email changes. Mirror unsubscribes and cleaned statuses into your product and CRM so other systems do not email those people. Decide which system owns each field, and avoid sync loops where two systems overwrite each other. See Webhooks and HubSpot.

Deliverability

See Email Marketing.

Best Practices

Treat Unsubscribes as Final

Never overwrite contact status in syncs, and propagate opt-outs to every system that sends email.

Record Consent at the Source

Store when, where, and how each person agreed to marketing email, independent of Mailchimp.

Sync Selectively

Send only contacts who consented and only the fields marketing needs; minimize personal data in a third-party tool.

Monitor Engagement and Complaints

Watch bounce, complaint, and unsubscribe rates per campaign and pause sending when they rise.

Common Mistakes

Resubscribing Through the API

One Audience per Campaign

Transactional Mail Through Marketing Lists

FAQ

How do I add contacts to Mailchimp from my application?

Use the Marketing API to upsert members by subscriber hash with PUT /lists/{audience_id}/members/{hash}, setting status_if_new and merge fields, and add tags or events as needed.

What is the subscriber hash?

The MD5 hash of the lowercase email address, used to identify a contact in Mailchimp API URLs.

Should I use double opt-in?

It is recommended: it confirms addresses are valid and owned by the person, improves deliverability, and provides stronger consent records, which some jurisdictions effectively require.

Can Mailchimp send transactional emails?

Through Mailchimp Transactional (formerly Mandrill), a separate product with its own API. Keep transactional messages separate from marketing audiences and statuses.

How do I keep unsubscribes in sync across systems?

Configure Mailchimp webhooks for unsubscribes and cleaned addresses, update your product and CRM when they arrive, and never overwrite Mailchimp contact status from other systems.

Related Topics

References