All Collections
Delivering surveys via MoEngage email messages
Delivering surveys via MoEngage email messages
Updated over a week ago

Iterate integrates with MoEngage by recording survey responses as custom user attributes in MoEngage allowing you to create powerful new audiences and segments.

To set up your MoEngage integration with Iterate, follow the Getting Started instructions

Getting Started

To connect with MoEngage you'll need to your MoEngage Data API ID and Data API Key, which you can find in your MoEngage settings, under App > APIs. You'll also need your App ID, listed on the same page.

You'll also need to identify your MoEngage data center ID, which you can find here.

Once you have these items, log in to your Iterate account and go to your company settings page and enter them in the "API & Integrations" section:

Create your Survey

Next, create the survey you'll be sending. If you are planning on including the survey within one of your MoEngage campaigns (most common) you can create a survey using our Email/Link survey type. Once the questions have been written and you've customized the design, go to the Send survey tab and select Integrations, then MoEngage. You'll then see the following configuration options:

Toggle on the integration to begin sending responses for that survey into MoEngage. Note the ?user_email={{UserAttribute['Email']|default('MOE_NOT_SEND')}}&user_moengage_customer_id={{UserAttribute['ID']}}&user_external_id={{UserAttribute['ID']}} which MoEngage will automatically replace with the correct email address and user id of the user you're sending to in the campaign.

Include the Embed Code or Link

You have two options for including the survey in your MoEngage campaign:

  1. Embed the first question of your survey directly in your email template
    Copy the code snippet under "Email embed code" in the MoEngage integration section of the Send survey tab. Paste that code into the HTML of your MoEngage email template at the point where you'd like the survey question to appear.

  2. Include a link to your survey
    If you prefer, you can just link to your survey from a button or link in the body of your email, so respondents will see the first question only after they've clicked through. Copy the link under Survey link in the MoEngage integration section of the Send survey tab.

Next, simply start your campaign including that link, and as users respond you'll see the data populate on their profiles in real-time.

Optional: Passing MoEngage user attributes to Iterate

In some cases, you may want to make attributes from users' profiles in MoEngage available to Iterate, so that you can use those attributes to help segment and filter your survey responses in the Iterate dashboard, or use the data to personalize your survey using Dynamic Text.

Example: an e-commerce marketplace might want to include an attribute that identifies a user as a "buyer" or a "seller", so they can then filter their survey responses in Iterate to only show buyers or sellers.

By default, Iterate will include only the user's MoEngage ID via the integration. If there are additional attributes you'd like to include, you can add them to the HTML code provided in the "Send survey" tab of your survey by clicking "Customize user properties" above where the HTML is shown:

To add attributes, choose a user property name as you'd like it to appear in Iterate, and then enter the Braze template tag that will fill the correct value.

For example, to include the user's first name in the data available via Iterate, you'd add this property:

Iterate user property name (example)

Braze template tag


Important Note: Once created, the type of a property (e.g. 'user_id' is a number) cannot be changed. If you need to update the property type you can create a new key (e.g. 'user_id_string') or reach out to [email protected] to help.

You can also add attributes that are specific to this session or survey response, by adding an additional field to the JSON object called responseTraits:

"userTraits": {
"external_id": "{{UserAttribute['uid']}}",
"first_name": {{UserAttribute['u_fn']}}",
"responseTraits": {
"survey_campaign_name": "{{UserAttribute['campaign_name']}}"

These attributes will be available as filters in the Iterate dashboard, visible when browsing survey responses, and included in exported survey data.

Did this answer your question?