MailChimp Integration

Connect your SurveyGizmo and MailChimp accounts to automate contact creation and management. You'll also have the ability to use your MailChimp subscriber details to populate data into your SurveyGizmo surveys (a great way to keep your contact records up to date).

The SurveyGizmo MailChimp Action allows you to:

1. Create or update contacts in MailChimp from SurveyGizmo survey submissions using the MailChimp Push Action. There are three push methods:

Upsert - An upsert is a conditional action: update if a record exists, insert if it doesn't. The contact email address will be used to look for a matching record in MailChimp. If an email address already exists in a list, the existing contact record will be updated. If there is no match for an email address in MailChimp, a new contact record will be created.

Integration Setup

If the MailChimp Integration is not included in your license you can purchase it via Account > Integrations. Once you've purchased this integration, you can connect SurveyGizmo and MailChimp.

Before you get started, note that you will need your MailChimp API Key to setup the integration within SurveyGizmo. Visit the MailChimp API Key documentation for instructions on obtaining your key.

Go to Account > Integrations > 3rd Party Integrations and locate the MailChimp integration. Click the Configure button to get started.

On the Authentication tab, provide an Account Label (this is just a name for the account that is internal to you and your fellow SurveyGizmo users) and the MailChimp API Key (both fields are required). If you don't have your API Key readily available, visit the MailChimp API Key documentation for instructions.

Once you are finished setting up your integration click Save. You'll see a green checkmark in the Verified column if you entered a valid API Key. Once your integration is verified you can add the MailChimp Action to your surveys to push/pull contact data.

The push method for SurveyGizmo's MailChimp Action allows you to automate the contact creation and management process. Use your SurveyGizmo survey to collect contact details and then sync them to your MailChimp contact list. You can use the push method to update, insert, or upsert.

The push action requires collecting and sending an email address to MailChimp to either create new contacts or update existing ones. If your push action will result in the creation of a new contact (both inserts and upserts will create new contacts), you'll also need to push a Status for this new subscriber. Status has possible values of subscribed, unsubscribed, pending, and cleaned.

MailChimp Action Push Setup

Your push action must be on a page follows any survey questions that will be sent to MailChimp. We recommend placing the push action on your survey's Thank You page.

Create a survey and add any questions/fields that are necessary for you to push to a contact within MailChimp. At a minimum, add an Email Question to your survey (an email address is required to both create and update create a contact in MailChimp).

Click the Action link on the page where you wish to place your action and locate the MailChimp action within the Integrations section. Click the +Add button.

Provide an Integration Title for your action (This is a title that is internal to you and your fellow SurveyGizmo users; it should represent the purpose of the action.)

Under Select a MailChimp Integration your integrations will be identified by the account label that you provided when connecting your MailChimp and SurveyGizmo accounts on the Integrations page. Select one.

Using the Select an Object dropdown menu, choose the MailChimp list you wish to push to. Currently, the lists object is the only available object type.

Select Push Data to MailChimp under the Method section. Select the push method that you wish to use:

Upsert - If the provided email address exists in MailChimp, the survey response will be used to update an existing contact record with that email. If an email address doesn't exist, a new contact record will be created with the provided email address. An email address is required to upsert in MailChimp. Status is also a required field in MailChimp.

Insert- Insert is the term used for creating a new contact record. An email address and status are required to insert a new contact in MailChimp.

Update - An update is an update of an existing contact record. An email address (unique identifier) is required to reference the contact record that should be updated.

The next step requires identifying the question/field in the survey that contains the respondent's email address as this is required for all push methods. The email address must be passed into or collected on the survey and stored in either a question or Hidden Value Action. Use the dropdown under Question containing the MailChimp Contact Email to select the survey question/field that contains the respondent's email.

In the event that you need to pass in the email address as a url variable or reference it via a merge code, select the Static Value (Merge Codes, etc.) option. You will see an additional field and can input a static value or use the merge code helper to reference the email address:

Also, if you are inserting a new contact, make sure to map this email question/field to the email field in MailChimp (see step 8 below).

If you selected either the Insert or Upsert method the MailChimp Required fields (Email Address and Status) are added by default.

For Email Address simply select the SurveyGizmo field where the email address is collected/stored to finish the mapping.

The Status is ready to go but you can change the default value to something other than subscribed (i.e. unsubscribed, pending, or cleaned.)

Map the rest of the fields that you wish to send as part of your push.

In the left column, select the SurveyGizmo question/field from which you want to send data.

In the right column, select the corresponding MailChimp List Field, that you want to send the question data to.

Use the Default Value field to pass information to MailChimp in the event that the SurveyGizmo filed is blank. Merge codes are also supported in this field when paired with the Static Value option in the first dropdown menu.

When pulling contact data from MailChimp into SurveyGizmo, the survey will need to be able to identify the contact whose information should be pulled in. This is done by providing the contact's email address.

Pull Action Placement Requirements:

The pull action must be on a page that follows the field in the survey that contains the email address.

The pull action must also precede any fields that it will be populating. Pull actions can be on the same page as the fields they populate however they must come before those fields on the page.

On a page that meets the above placement requirements, click the Action link and locate the MailChimp action within the Integrations section. Click the +Add button.

Provide an Integration Title for your action (This is a title that is internal to you and your fellow SurveyGizmo users; it should represent the purpose of the action.)

Under Select a MailChimp Integration your integrations will be identified by the account label that you provided on the Integrations page when connecting your accounts. Select one.

Using the Select an Object dropdown menu, choose the MailChimp list you wish to pull from. Currently, the lists object is the only available object type.

Select Pull Data from MailChimp under the Method section.

An email address is required to reference an existing contact record in MailChimp.

This email address must be passed into or collected on the survey and stored in either a question or Hidden Value Action.

Use the dropdown under Question containing the MailChimp Contact Email to select the survey question/field that captures the respondent's email. This field must be on a page that precedes the pull action you are setting up.

In the event that you need to pass in the email address as a url variable or reference it via a merge code, select the Static Value (Merge Codes, etc.) option. You will see an additional field and can input a static value or use the merge code helper to reference the email address:

In the left column, select the SurveyGizmo question/field that you want to populate.

In the right column, select the corresponding MailChimp List Field from which you want to pull data.

Use the Default Value field to pass a default value into SurveyGizmo in the event that the field is blank for that record in MailChimp. Merge codes are also supported in this field when paired with the Static Value option in the first dropdown menu.

Use the Add another mapping link to add more field pairs as needed.

Once you have finished mapping your fields, you can optionally apply conditions for triggering your MailChimp push on the Logic tab. Make sure to Save Action when finished.

Mapping Fields

When mapping SurveyGizmo Questions to MailChimp list fields there are a couple of requirements to ensure your integration works properly.

Push Action: Required MailChimp List Fields

There are two default required fields in MailChimp. In addition, list fields may be set up as required MailChimp by the list creator.

The default required fields in MailChimp are Email Address and Status. Status has possible values of subscribed, unsubscribed, pending, cleaned. Whenever your MailChimp action may result in the creation of a new record (insert and upserts) we will add these fields by default.

For Email Address simply select the SurveyGizmo field where the email address is collected/stored to finish the mapping.

The Status is ready to go but you can change the default value to something other than subscribed (i.e. unsubscribed, pending, or cleaned.)

Push and Pull: Matching MailChimp List Field Type

For example, MailChimp's default Birthday list field includes a month and day only (in either MM/DD or DD/MM) format. As such, you cannot map the Birthday field to SurveyGizmo's Date question to this field. Instead, you should pull this information into a Textbox question. If you require validation on this field you'll need to use RegEx to validate for month and day (or day and month).

Pulling from Interests (aka Groups)

Let's take the following example groups in MailChimp: Donating, Volunteering, Events.

These can populated from a pull into a similarly formatted Checkbox question.

We can populate three Radio Button questions, one per group, via a pull (see below example).

Requirements for Pushing to Radio Button questions

You must have a Radio Button question per group

You reporting values must be in one of the following formats:

0,1

True, False (case insensitive)

Yes, No (case insensitive)

FAQ & Troubleshooting

I'm using the Insert or Upsert Push Method and a contact was not created.

At the very least, Email Address and Status (with a value of either subscribed, unsubscribed, pending, cleaned) are required to create a new contact record in MailChimp.

Make sure that an email address was provided in your survey and that the email address was mapped to the Email Address List Field in MailChimp. Make sure that you have also passed over a Status. Learn more in the Mapping Fields Section of this tutorial.

Does your pull include a birthday?

MailChimp's default Birthday list field includes a month and day only (in either MM/DD or DD/MM) format. As such, you cannot pull this fields into SurveyGizmo's Date question. Instead, you should pull this information into a Textbox question. If you require validation on this field you'll need to use RegEx to validate for month and day (or day and month).

One or more of my fields was not passed to MailChimp.

SurveyGizmo validates the data that you are trying to push to MailChimp to make sure that it is pushed in the format expected by MailChimp.

If you try to push a value that is not expected by MailChimp, that value will not be pushed successfully. This will not affect the entire push action, only the specific value.

For example, let's say that you are passing a URL/website to MailChimp from SurveyGizmo. In this case, MailChimp expects the data in the format of text.text (note the 'dot'). As such, trying to pass "surveygizmo" would fail, whereas "surveygizmo.com" would succeed.

My MailChimp Action did not pull/push data.

If your MailChimp Action is failing to push or pull data, check the Action Log for an associated survey response.

Go to Results > Individual Responses, and click on one of the responses associated with a failed action.

On the Action Log tab and locate your MailChimp Action (identified by Integration title you provided within the action). Here, you can view the action input/output and refer to any errors that might be presented. If you are using a push and no data is being passed into MailChimp, this is likely due to an unexpected value being pushed into a specific field (e.g. text being pushed to a number field).