Hosted pages

Share a hosted link without installing an SDK or embedding an iframe.

Last reviewed

Hosted pages

Hosted pages are the simplest way to share a link when you do not need an SDK or iframe. Send people to getuserfeedback.com and the page loads on its own.

1. Copy the hosted URL

Use the hosted URL from your dashboard. The public URL has this shape:

https://getuserfeedback.com/s/SURVEY_ID

Use this URL in emails, help docs, support messages, or anywhere a regular link is easier than an embed.

2. Identify your users

When you identify users, getuserfeedback.com can target the right people and tie responses to real profiles. Pass user identity as query parameters:

https://getuserfeedback.com/s/SURVEY_ID?user_id=user_123&email=user%40example.com

You can combine multiple identifiers in one URL. See Personalization for the full identity model.

You do not have to identify users. Hosted pages work fine for anonymous responses too.

You're live

That's it. The hosted page is ready to collect responses.

Advanced

Attach response metadata

If you want to preserve extra context with each response, add optional metadata parameters to the URL. Prefix each key with gxrm_:

https://getuserfeedback.com/s/SURVEY_ID?gxrm_journey_stage=onboarding&gxrm_task_type=report-export

Response metadata is saved with the response. It does not affect targeting, content, or server-rendered display. See Response metadata for examples.

Configure runtime

Use runtime configuration when the hosted page should render with a specific environment, such as a color scheme or one of your flag variants.

If you do not pass a scheme, hosted pages use scheme:system and follow the visitor's system preference. See Dark mode for more about color scheme behavior.

Set the color scheme with scheme:<value>:

https://getuserfeedback.com/s/SURVEY_ID/scheme:dark

If your team uses runtime configuration flags, add them as path segments too:

https://getuserfeedback.com/s/SURVEY_ID/scheme:dark/flag:rebrand_v2/flag:checkout:treatment

flag:name and flag:name:true are equivalent. flag:name:value records a variant.

You can pass runtime configuration parameters in any order. For the best cache hit rate, generate them in a deterministic order every time. A good default is scheme:* first, then flags sorted by name.

Going further

  • Personalization — targeting, personalization, and behavioral segmentation
  • Limits — runtime configuration guardrails