Skip to main content

Mailchimp integration

This guide walks you through connecting Mailchimp to Better Email, exporting campaigns as Mailchimp templates, and — if you want it — letting Better Email create the Mailchimp campaign for you.

Before you start

To connect Mailchimp, you will need:

  • a Mailchimp account you can authorize with OAuth
  • an admin user in Better Email who can create and edit integrations
  • optional: the ID of the Mailchimp audience you want Better Email to use

1. Create the integration in Better Email

In Better Email:

  1. Go to Integrations.
  2. Create a new integration.
  3. Enter a clear name for the integration.
  4. Choose Mailchimp as the type.
  5. Optional: under Access, restrict the integration to specific users or groups.
  6. Enable the integration.
  7. Save the integration.

After the integration has been saved, Better Email shows a Connect button while the account is not connected yet.

2. Authenticate with Mailchimp

  1. Open the saved integration.
  2. Click Connect.
  3. Sign in to Mailchimp if needed.
  4. Approve Better Email's access to the account.
  5. Return to Better Email and confirm the integration shows as connected.

Better Email stores the access token and Mailchimp data center automatically after the OAuth flow completes. Mailchimp tokens do not expire, so you only do this once. If someone removes Better Email inside Mailchimp, open the integration and click Reconnect, which is offered next to the connection status at any time.

3. Choose the audience

Saving the integration creates its default Destination. Open the Destinations tab, edit the Destination, and fill in Audience ID.

You can find the ID in Mailchimp under Audience -> Settings -> Audience name and defaults. It is a ten-character code such as f68a148cec. The number in the address bar when you open the audience works too; Better Email maps it for you. A wrong value stops the export with a message naming the audience it could not find.

The audience is used for two things: recipient-field sync reads its merge fields, and campaigns Better Email creates send to it. Leave it blank and Better Email uses the first audience in the account, which is the right answer for most accounts with a single audience.

If you send from several audiences, add one Destination per audience. Each campaign picks its Destination when it is exported.

Segments

If you narrow one audience with saved segments, for example a shared customer audience with a segment per country, add Segment ID to the Destination as well. Campaigns Better Email creates then send to the audience with that segment already selected, exactly as if someone had picked it in Mailchimp, and the Destination's performance data covers only those sends. The segment must already exist in Mailchimp; its ID is the number in the address bar when you open the segment. A Segment ID that is not a number stops the export with a message naming it, rather than quietly sending to the whole audience. One Destination per segment gives you, say, NH Customers DK and NH Customers SE on the same audience.

4. Export to Mailchimp

Once the integration is connected, Better Email creates an email template in Mailchimp from the rendered HTML of your campaign. The template appears under Mailchimp's email templates and opens in the classic builder, which is where Mailchimp keeps custom-coded templates.

Good to know:

  • Re-exporting a campaign updates the same Mailchimp template rather than leaving a second one with the same name behind. If the template was deleted in Mailchimp, the next export creates a new one.
  • Mailchimp applies template changes to every draft and scheduled campaign built from the template. Better Email therefore refuses to update a template while a scheduled campaign uses it, naming the campaign; unschedule it in Mailchimp, then sync again.
  • Merge tags and segmentation are rendered using Mailchimp-specific syntax, such as *|FNAME|*.
  • If your workspace uses integration access controls, only users with access to this integration will see it during export.

Mailchimp requires an unsubscribe link and a postal address in every campaign. When the exported HTML has neither, Mailchimp appends its own footer bar with both, and the campaign's send checklist shows a Footer added note.

To keep Mailchimp's footer out and use your own, give the footer in your Design System an unsubscribe link that points at *|UNSUB|* and print the address with *|LIST:ADDRESSLINE|*. Mailchimp fills both in at send time. *|UPDATE_PROFILE|* (manage preferences) and *|ARCHIVE|* (view in browser) work the same way.

5. Let Better Email create the campaign

By default an export stops at the template, and someone in Mailchimp builds a campaign from it. Turning on campaign creation skips that step: Better Email creates a draft campaign alongside the template, carries the subject line, preview text and sender across, and pushes every later version straight into the draft.

To switch it on, open the integration and turn on Create the campaign in Mailchimp.

How it behaves:

  • The first export creates a draft campaign in Mailchimp, named after your campaign, sending to the Destination's audience, with the subject line, preview text and content in place. The From name and Reply-to email come from the Destination when you set them there, and otherwise from the audience's own defaults in Mailchimp — the same values Mailchimp would prefill.

  • Later exports push the current version into that same draft: the content, the subject line and the preview text. The audience, segment and sender follow the Destination, so a draft that was moved to another audience or segment in Mailchimp is moved back, and a blank sender on the Destination means the audience's defaults. A Destination without a segment leaves whatever segment the draft has.

    The subject line and preview text always follow the Better Email campaign, so a preheader you clear in Better Email is cleared in Mailchimp too. If you want to refine either, do it in Better Email and sync again, not in Mailchimp.

  • Once the campaign is no longer a draft, Better Email stops touching it. A campaign that is scheduled or sending reports an error telling you to unschedule it in Mailchimp first — better than quietly letting it send the previous version. A campaign that has already been sent is left as it is, and a campaign that was deleted in Mailchimp is created again.

Everything else about the campaign — segments within the audience, send time, A/B tests — stays in Mailchimp. Better Email never schedules or sends anything.

Preview text

Mailchimp only shows preview text in inboxes when the HTML contains its *|MC_PREVIEW_TEXT|* merge tag. When your Design System renders the preheader itself, that is what recipients see, and the preview text in Mailchimp is informational. When it does not, Better Email adds Mailchimp's own preview-text snippet at the top of every export, so the text you typed in Better Email reaches the inbox, and a campaign someone builds from the template by hand can use Mailchimp's preview text field as usual.

6. Optional: sync recipient fields from Mailchimp

  1. Open the Mailchimp integration and confirm Sync recipient fields is enabled.
  2. Save the integration.
  3. Go to Recipient Fields.
  4. Run Sync from <integration name>.

Better Email imports the merge fields from the Destination's audience and makes them available for merge tags and segmentation. Number fields become number fields; everything else, including date and birthday fields, is text, because Mailchimp stores those in the audience's own date format.

Troubleshooting

If Mailchimp is not available at export time, check these first:

  • the integration is enabled in Better Email
  • the OAuth connection is still active — click Reconnect on the integration if Better Email was removed inside Mailchimp
  • the right users or groups have access to the integration
  • if recipient-field sync fails, the Audience ID on the Destination is set correctly

The export says the campaign is scheduled or sending. Unschedule the campaign in Mailchimp, then sync again. Better Email refuses to change a campaign that is about to go out.

Mailchimp added its own footer. The exported HTML has no *|UNSUB|* link. See The footer.