Skip to content
Personalization

Form Data Collection

Collect user input within flows and save responses for targeting and personalization.

Form Data Collection

Input components in Setgreet let you collect user responses inside a flow. Responses are tracked in analytics and, for branchable components, can be saved as user attributes for future flow targeting and personalization.

The variableName property

Every input component -- TextInput, Dropdown, RadioGroup, Checkbox, MultiSelect, Slider, DatePicker -- and every feedback component (NPS, Rating) has a variableName property. This is the key used to identify the component's response in analytics events.

Set a clear, descriptive variableName (for example, userRole or favoriteColor) so you can recognize the response in your analytics dashboards.

The variableName is used for analytics labeling. It does not make the response available for use on later screens within the same flow.

Saving responses as user attributes

You can persist a response as a user attribute so it is available for future flows. This is configured on the Branch node, not on the input component itself.

How it works

  1. Add a Branch node to your flow that reads from a branchable component on the previous screen.
  2. In the Branch node configuration, enable Save to Attribute.
  3. Provide an attribute name (for example, role).
  4. When the user selects an option and the flow reaches the Branch node, the selected value is saved as a user attribute with the name you provided.

Once saved, the attribute is available for:

Which components support Save to Attribute

Save to Attribute only works with branchable components:

  • RadioGroup
  • NPS
  • Rating
  • Dropdown
  • Checkbox
  • Button

It is not available for TextInput, Slider, DatePicker, or MultiSelect. Free-text and numeric inputs are captured in analytics only.

Example: onboarding role selection

During onboarding, you ask users to pick a role with a RadioGroup that has three options: Designer, Developer, Product Manager.

  1. Add a Branch node after the role selection screen.
  2. Enable Save to Attribute and set the attribute name to role.
  3. When a user selects "Designer", the attribute role = "Designer" is saved to their profile.
  4. A later feature announcement flow can target users where role equals "Designer" using a trigger condition.

Branching based on responses

RadioGroup and other branchable components can drive flow branching. When you connect a Branch node to a screen containing a branchable component, each option value maps to a different path in the flow graph.

See Branching for the full setup.

Viewing responses in analytics

Responses from all input components are tracked as component_input events and are available in flow analytics. The analytics surface shows:

  • Distribution by option -- for branchable components (RadioGroup, NPS, Rating, Dropdown, Checkbox, Button), counts per option selected.
  • Input counts -- the number of times each input component received a value.

Free-text responses from TextInput are captured as events but are not rendered as individual response lists in the current analytics UI.

Best practices

  • Use descriptive variable names. userRole is clearer than q1 when reviewing analytics months later.
  • Keep attribute names consistent across flows. If two flows collect the same concept (for example, role), configure Save to Attribute with the same attribute name so the data is unified on the user profile rather than duplicated.
  • Set required fields intentionally. Mark inputs as required only when you genuinely need the data -- optional inputs reduce friction and improve completion rates.
  • Save only what you need. Enable Save to Attribute only for responses you will actually use in future targeting or personalization. Not every response needs to be persisted.
  • Combine with branching. The most effective flows collect a response early and branch the experience based on it -- creating personalized journeys from the user's own input.

On this page