Skip to main content

Send Contacts From Ellipsend to Mailchimp

Add every email you collect in your DMs to your Mailchimp audience with a tag, first name included, in one request.

When someone gives you their email in a DM, Ellipsend can add them to your Mailchimp audience and tag them a second later. It's one request. New to API requests? Start with Send Contact Info to Your Other Tools With API Requests.

Get Your API Key

In Mailchimp, click your profile icon, then Profile → Extras → API keys, and click Create A Key. Name it Ellipsend and copy it. Mailchimp only shows it once.

Look at the end of the key. It ends with a short code like -us21. That code is your server, and it goes at the start of every address below.

New Mailchimp keys expire after one year. Put a reminder in your calendar to make a new one.

Find Your Audience ID

In Mailchimp, open Audience, pick your audience, then More options → Audience settings. Copy the Audience ID.

Connect Mailchimp to Ellipsend

In Ellipsend, go to Settings → Integrations → HTTP requests and click Add request. Name it Add contact to Mailchimp, pick Replace · PUT, and paste this address. Swap in your server code and audience ID, and keep the variable at the end:

https://us21.api.mailchimp.com/3.0/lists/YOUR_AUDIENCE_ID/members/{{ contact.email }}

Open Connection and click Add connection:

  • Connection name: Mailchimp

  • Connection method: API token (Bearer)

  • Paste your key, and put your server address (like https://us21.api.mailchimp.com) under App addresses.

Set What Gets Sent

Click Edit as JSON and paste:

{"email_address": "{{ contact.email }}", "status_if_new": "subscribed", "merge_fields": {"FNAME": "{{ contact.first_name }}"}, "tags": ["Instagram DM"]}

The parts in double curly braces, like {{ contact.email }}, are variables. When the request runs, Ellipsend swaps each one for that contact's real details, so paste them exactly as they are. To add a different detail, click inside the box where it should go, click Insert variable just above the box, and pick it from the list. More on variables.

Send a test request. A 200 means Mailchimp accepted it. If the email is already in your audience, it's updated instead of added twice.

Sending to More Than One Tag?

One request sends to one tag. Most people put every DM lead in the same tag, so one request is all they need. If some automations should land contacts in a different tag, save one request per tag. Open Add contact to Mailchimp, click More, then Duplicate request. Rename the copy after the tag, like Add contact to Mailchimp · Meal Plan, change the tag in the JSON, and save.

Then pick the matching request in each automation. Your connection is shared, so you only enter your key once.

Add It to Your Automation

In your automation's DM steps, add Ask for Email, then Run API Request with Add contact to Mailchimp, then your freebie message. You can run the same request from a saved response under After sending.

Good to Know

  • Use "status_if_new": "pending" instead if you want double opt-in. Mailchimp sends the confirmation email.

  • FNAME is Mailchimp's standard first-name field. If you renamed it, use your tag from Audience fields and merge tags.

  • If your audience has a required field you don't send, Mailchimp rejects the request. Add ?skip_merge_validation=true to the end of the address to skip that check.

  • Change Instagram DM to any tag you like, then build a segment in Mailchimp on that tag.

  • Check the Activity tab if someone doesn't show up. It shows what was sent and Mailchimp's reply for every run.

Related

Did this answer your question?