Response metadata
Attach optional metadata to hosted, embedded, and SDK-opened survey responses.
- Last reviewed
Response metadata
Use response metadata when you want to preserve lightweight context with a survey submission, without showing it in the survey itself.
Response metadata works best for short, descriptive context that helps explain the response later when you review it or export it.
Add metadata to a survey URL
Add query parameters that start with gxrm_. The rest of the parameter
name becomes the metadata key.
https://getuserfeedback.com/s/SURVEY_ID?gxrm_journey_stage=onboardingFor embedded surveys, use the same parameters on the embed URL:
https://getuserfeedback.com/embed/YOUR_API_KEY/SURVEY_ID?gxrm_journey_stage=onboarding&gxrm_task_type=report-export&gxrm_survey_moment=post-actionThe examples above save:
{"journey_stage": "onboarding","task_type": "report-export","survey_moment": "post-action"}Attach metadata when opening from code
When you open a survey from the JavaScript or React SDK, pass metadata on the
open() call.
JavaScript SDK
const flow = client.flow("YOUR_FLOW_ID");await flow.open({metadata: {tags: {journey_stage: "onboarding",task_type: "report-export",survey_moment: "post-action",},},});React SDK
const { open } = useFlow({ flowId: "YOUR_FLOW_ID" });await open({metadata: {tags: {journey_stage: "onboarding",task_type: "report-export",survey_moment: "post-action",},},});This saves the same metadata shape as the URL examples.
Example use cases
Workflow context
Use metadata to preserve the workflow or moment around the response.
https://getuserfeedback.com/embed/YOUR_API_KEY/SURVEY_ID?gxrm_journey_stage=onboarding&gxrm_task_type=report-export&gxrm_survey_moment=post-actionThis saves:
{"journey_stage": "onboarding","task_type": "report-export","survey_moment": "post-action"}Configuration context
Use metadata to preserve the environment or setup around the response.
https://getuserfeedback.com/s/SURVEY_ID?gxrm_deployment_model=self-hosted&gxrm_workspace_size=1-10&gxrm_team_function=supportThis saves:
{"deployment_model": "self-hosted","workspace_size": "1-10","team_function": "support"}Error context
Use metadata to preserve short error context when feedback is collected after a failed step or interrupted flow.
https://getuserfeedback.com/s/SURVEY_ID?gxrm_error_type=validation&gxrm_error_surface=checkout&gxrm_error_step=payment-detailsThis saves:
{"error_type": "validation","error_surface": "checkout","error_step": "payment-details"}Send multiple values
Repeat the same parameter to save an array:
https://getuserfeedback.com/embed/YOUR_API_KEY/SURVEY_ID?gxrm_selected_modules=billing&gxrm_selected_modules=reportingThis saves:
{"selected_modules": ["billing", "reporting"]}Supported data types
Each metadata key stores one of these shapes:
stringwhen you send onegxrm_<key>=valuestring[]when you repeat the samegxrm_<key>parameter
Single value:
https://getuserfeedback.com/s/SURVEY_ID?gxrm_team_function=supportSaves as:
{"team_function": "support"}Repeated key:
https://getuserfeedback.com/s/SURVEY_ID?gxrm_selected_modules=billing&gxrm_selected_modules=reportingSaves as:
{"selected_modules": ["billing", "reporting"]}The same shapes apply when you pass metadata.tags through the JavaScript or
React SDK.
Normalization and sanitization
Metadata keys are normalized before storage so small differences in casing or
spacing don't create separate fields. For example,
gxrm_Team Function is stored as team_function.
Sensitive-looking values are sanitized automatically before they are saved. If
a value looks like an email address, URL, phone number, token, or similar
sensitive string, it is replaced with a safe placeholder such as [EMAIL].
Where metadata appears
Metadata is saved with the response when the survey is submitted. You can see
it on the response detail page, and CSV exports include metadata columns named
Metadata: <key>.
Metadata is optional. Empty keys and empty values are ignored.
For practical limits and guardrails, see Limits.