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.
- Insert - Insert is the term used for creating a new contact.
- Update - An update is an update of an existing contact.
2. Pull contact information (MailChimp subscriber details) into questions/fields within your SurveyGizmo survey using a MailChimp Pull Action.
Integration Setup
Before you get started, note that you will need your MailChimp API Key to set up the integration within SurveyGizmo. Visit the MailChimp API Key documentation for instructions on obtaining your key.
- To get started connecting your MailChimp account in SurveyGizmo, 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 will see a status of Enabled. Once your integration is enabled you can add the MailChimp Action to your surveys to push/pull contact data.
MailChimp Push Action: Push Info From a SurveyGizmo Survey to MailChimp List Fields
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 that 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 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).
- 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:
- Next, map your SurveyGizmo fields to your MailChimp Fields under the Map Fields section.
- 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.
- Use the Add another mapping link to add more field pairs as needed.
- See the Mapping Fields Section of this tutorial for additional details about sending data to MailChimp.
- If you selected either the Insert or Upsert method the MailChimp Required fields (Email Address and Status) are added by default.
- Once you have finished mapping your fields, go to to the Logic tab if you only wish to trigger your MailChimp push under certain conditions. Make sure to Save Action when finished.
MailChimp Pull Action: Pull Info From MailChimp List Fields into a SurveyGizmo Survey
The pull method for SurveyGizmo's MailChimp Action allows you to use your MailChimp contacts' subscriber details within your SurveyGizmo surveys.
MailChimp Action Pull Setup: Pull Info MailChimp List Fields into a SurveyGizmo Survey
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:
- Next, map your MailChimp fields to your SurveyGizmo fields under the Map Fields section.
- 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.
Map 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 in MailChimp by the list creator.
The default required fields in MailChimp are Email Address and Status. Status has possible values of subscribed, unsubscribed, pending, and cleaned. Whenever your MailChimp action may result in the creation of a new record (insert and upsert) 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 both the push and the pull it is important to ensure that your SurveyGizmo Reporting Values and question validation settings are compatible with the List Field Type in MailChimp.
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. 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).
Push To and Pull From MailChimp Groups (aka Interests)
If you are using MailChimp Groups (aka Interests) you can push and pull from these as well! You can push data from or pull data into either a Hidden or Checkbox Group. You can push data from (or pull data into) either a SurveyGizmo Radio Button or Checkbox question to interests.
The following mappings are supported:
- Push from SurveyGizmo Checkbox Question to MailChimp Checkbox Group or Hidden Group
- Push from multiple SurveyGizmo Radio Button Questions (One per group name) to MailChimp Checkbox Group or Hidden Group
- Pull from MailChimp Checkbox Group or Hidden Group into a SurveyGizmo Checkbox Question
- Pull from a MailChimp Checkbox Group or Hidden Group into a multiple SurveyGizmo Radio Button Questions (One per group name)
Push from SurveyGizmo Checkbox Question to MailChimp Checkbox Group or Hidden Group
Let's take the following example groups in MailChimp: Donating, Volunteering, Events. Note, this is a Checkbox Group in MailChimp, meaning one email can have multiple groups. This would work for Hidden Groups in MailChimp as well, as it allows for multiple selections.
We can push data from a similarly formatted SurveyGizmo Checkbox Question.
The mapping for a SurveyGizmo Checkbox Question to MailChimp Checkbox/Hidden Group would look like so:
Push from multiple SurveyGizmo Radio Button Questions (One per group name) to MailChimp Checkbox Group or Hidden Group
Let's take the following example groups in MailChimp: Donating, Volunteering, Events. Note, this is a Checkbox Group in MailChimp, meaning one email can have multiple groups. This would work for Hidden Groups in MailChimp as well, as it allows for multiple selections.
We can push three SurveyGizmo Radio Button Questions, one per group, like the below example. You cannot push multiple Radio Button questions to one group in MailChimp.
The mapping for separate SurveyGizmo Radio Button Questions to MailChimp Checkbox/Hidden Group would look like so:
Requirements for Pushing to Radio Button questions
- You must have a separate Radio Button question per each group in MailChimp
- The reporting values for each separate Radio Button question must be in one of the following formats:
- 0,1
- True, False (case insensitive)
- Yes, No (case insensitive)
Pull from MailChimp Checkbox Group or Hidden Group into a SurveyGizmo Checkbox Question
You can pull data from checkbox or hidden interests to populate a Radio Button or Checkbox question.
Let's take the following example groups in MailChimp: Donating, Volunteering, Events.
These can populate a similarly formatted Checkbox question.
The mapping for a MailChimp checkbox/hidden group to a SurveyGizmo checkbox question would look like so:
Pull from a MailChimp Checkbox Group or Hidden Group into a multiple SurveyGizmo Radio Button Questions (One per group name)
You can pull data from checkbox or hidden interests to populate a Radio Button or Checkbox question.
Let's take the following example groups in MailChimp: Donating, Volunteering, Events.
In order to populate three groups into Radio Buttons questions, we must populate into three separate Radio Button Questions, one per group, via a pull (see below example).
The mapping for a MailChimp Checkbox/Hidden Group to separate SurveyGizmo Radio Button Questions would look like so:
Requirements for Pushing to Radio Button questions
- You must have a separate Radio Button question for each group in MailChimp
- Your reporting values for each separate Radio Button question must be in one of the following formats:
- 0,1
- True, False (case insensitive)
- Yes, No (case insensitive)
FAQ & Troubleshooting
What version of the MailChimp API is used in this integration?
We use version 3.0 of the MailChimp API.
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).