This guide explains how to send survey data to Segment. If you are looking to target website surveys based on Segment events, see our Segment Destination Integration guide.
Our Segment Source integration allows you to sync survey responses and user feedback directly into your Segment warehouse. This enables you to enrich customer profiles, trigger automation in downstream tools (like marketing or support platforms), and analyze qualitative feedback alongside your product data.
Setting Up the Iterate Source
In Segment:
Navigate to Connections > Catalog > Sources.
Search for Iterate and click "Add Source".
Give your source a name (e.g., "Iterate Prod") and click "Add Source".
Copy the Write Key displayed on the Overview page.
In Iterate:
Log in and click on your company name in the top right to access Settings.
Select Integrations from the sidebar.
Find Segment in the list.
Paste your Write Key into the field and click Save.
Enable the Integration
Once you have connected your Write Key, you can enable the integration on a per-survey basis:
Open the survey you want to connect and go to the View Responses tab.
Click the Integrations dropdown in the sidebar and select Segment.
Toggle the switch to Enable.
(Optional) Customize Attribute Names: By default, the event property name for the answer is the question prompt itself. You can customize this by entering a simplified name (e.g., changing "How would you rate us?" to nps_score).
How it works
Once connected, Iterate acts as a Segment Source. Whenever a user answers a survey question, we send a server-side track event to Segment.
Event Name: survey-question-response
Properties included:
survey_id: The ID of the survey.
survey_name: The name of the survey.
question: The text of the question asked.
response: The user's answer.
label: (Optional) The custom attribute name if you've configured one.
User Identification & Traits
We automatically associate survey responses with your users in Segment:
Known Users: If the user has an external_id in Iterate, we send that as the Segment userId, otherwise we send an anonymousId set to the internal Iterate user id.
Updating User Traits: Every track event includes a context.traits object containing the response data. This means that every time a user answers a question, their profile in Segment is automatically updated with the latest response values as user traits.