Skip to main content
All CollectionsIntegrationsBraze
Delivering surveys via Braze email campaigns
Delivering surveys via Braze email campaigns
Updated over a week ago

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

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

Create your Survey

Next, create the survey you'll be sending. If you are planning on including the survey within one of your Braze 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 and select Integrations, then Braze. You'll then see the following configuration options:

Toggle on the integration to begin sending responses for that survey into Braze. Note the ?user_braze_id={{${braze_id}}} which Braze will automatically replace with the correct braze 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 Braze campaign:

  1. Embed the first question of your survey directly in your email template
    Copy the code snippet under "Email embed code" in the Braze integration section of the Send survey tab. Paste that code into the HTML of your Braze email template at the point where you'd like the survey question to appear.
    Note: If you're having trouble seeing the survey question, or it looks incorrectly formatted, you'll need to go into the Sending info tab while editing your email template in Braze, and uncheck the box called "Inline CSS"

  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 Braze integration section of the Send survey tab.

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


Optional: Passing Braze user attributes to Iterate

In some cases, you may want to make attributes from users' profiles in Braze 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 Braze 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. See the list of supported personalization tags, which includes custom attributes.

For example, to include the user's first name, last name, and email address in the data available via Iterate, you'd add these properties:

Iterate user property name (example)

Braze template tag

email
{{${email_address}}}
first_name
{{${first_name}}}
last_name
{{${last_name}}}


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. This requires manually editing the HTML provided. Look for the JSON object with data specific to this survey in that HTML, and add an additional field called responseTraits:

"userTraits": {
"braze_id": "{{${braze_id}}}",
"external_id": "{{${user_id} | default: ${braze_id}}}"
},
"responseTraits": {
"survey_campaign_name": "{{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?