Troubleshooting
Common issues with flows (surveys, forms, messages) not appearing, widget readiness, user identity, and auth.
- Last reviewed
Troubleshooting
Flow doesn't appear
This is the most common issue. Check these in order:
- Is the flow published? Unpublished flows won't show up. Check the flow status in the getuserfeedback.com dashboard.
- Do the targeting rules match? If your flow targets a specific plan, page URL, or user trait, make sure the current session actually matches. Test with a broad rule first (e.g. all users, all pages) to confirm the widget is working.
- Is the API key correct for this environment? Staging and production apps have different API keys. Make sure the key matches the app where the flow is published.
- Has the user already responded? By default, flows don't show again to users who have already responded. Surveys are the most common kind of flow, but the same applies to forms and in-app messages.
Widget not ready
If open(), prefetch(), or prerender() fails early, make sure:
- The widget has been initialized. In React or React Native, this means
GetUserFeedbackProvideris mounted. With the JavaScript SDK,createClient({ apiKey })must have run. - If you set
disableAutoLoad: truein the JavaScript or React SDK, callclient.load()(orload()fromuseGetUserFeedback()) before trying to open a flow. - The API key belongs to the environment you're testing.
- In React Native, make sure the app build includes the required
react-native-webviewpeer dependency.
React Native client commands return promises. Await or catch open(),
prefetch(), and prerender() so rejected requests are visible in your logs.
Flow requires user identity
If the flow's targeting rules require user identity, call identify() before
the flow can appear. This is one of the most common reasons a flow works
in testing but doesn't show up in production — the targeting rule expects a
trait that hasn't been sent yet.
For React Native, call identify() from a component below
GetUserFeedbackProvider and wait for it to finish before opening a targeted
flow.
Wrong or stale identifiers
Check that the same app owns all of these:
- the API key
- the flow ID
- the published flow version
If you use advanced handles with prerender() and custom containers, keep the
same client instance and flow handle for the full open and close lifecycle.
Identity verification failures
When identity verification is enabled, the usual causes are:
- wrong issuer
- wrong JWKS endpoint
- token signed with a different algorithm than the one selected in Widget settings
- missing or incorrect protected
typ: gx-widget+jwtheader - missing or expired
expclaim - token minted for the wrong audience
Copy the exact Audience shown in Widget settings into the token's aud claim.