Skip to main content

Troubleshoot: Feedback Widget Isn't Showing

What to check when the Userback feedback widget doesn't appear on your website, web app, or native iOS, Android, or React Native app.

Written by Jon

Find your platform below and work through the checks in order. Most problems are fixed in the first two or three steps.

Websites and web apps

1. Check the widget isn't paused

A paused widget doesn't show anywhere, even when everything else is set up correctly.

  1. Go to Feedback > Settings > Widget.

  2. Check the status dropdown next to Save is set to Live.

2. Check your access token

The widget uses your site's access token to load.

  1. Click Install Userback in the left sidebar.

  2. Compare the access token in the snippet with the token in the code on your site. They must match exactly.

If you have several sites in Userback, make sure you copied the token from the right one.

3. Check your domains

Userback only shows on pages that match one of the site's domains.

  1. Go to the Sites page, click the ··· menu on your site's card, and select Manage Domains.
    ​

  2. Check the domain matches the address where the widget should appear. www.example.com and example.com count as different domains.
    ​

  3. For local testing, add https://localhost. To cover every subdomain, use a wildcard such as *.example.com.
    ​

  4. Click Save.

4. Check your targeting

Your targeting rules might be hiding the widget from you. Go to Feedback > Settings > Widget > Target and check:

  • Segments: if the widget only shows to Users in a segment, make sure the user you're testing with is in it.

  • Pages: make sure Do not display the launcher isn't selected, and that any page rules match the page you're on.

  • Device: make sure your device type, Desktop, Tablet, or Mobile, is checked.

  • Delay: if a delay is set, wait that many seconds after the page loads.

5. Check the code is installed

  1. Open the page and view its source. Confirm the Userback snippet is there, before the closing </body> tag.
    ​

  2. On the Install Userback page, run Verify Installation. Each domain should show a green check.
    ​

  3. Open your browser's developer console and look for Userback errors. If you see a CORS error, see Troubleshoot: CORS Errors Blocking Feedback Submission.

Mobile apps (iOS, Android, React Native)

These checks cover the most common reasons the widget doesn't appear in a native app. For full installation steps and every SDK method, see the Mobile SDK developer docs.


​1. Check the widget isn't paused

Go to Feedback > Settings > Widget and check the status dropdown next to Save is set to Live. A paused widget doesn't show in your app either.


​2. Use your Mobile Key, not the web access token

The mobile SDKs need a Mobile Key. The access token from your website's install snippet, which starts with P-, isn't the right key for your app.

  1. Click your name at the bottom of the left sidebar and select Workspace Settings.
    ​

  2. Open the Mobile SDK Key tab.
    ​

  3. If you don't have a key yet, create one. Under Select Sites, choose the site your app's feedback should go to, and give the key a Label.
    ​

  4. Copy the key and check it's the value your app passes as accessToken.

If you already have a key, check it includes the site you expect feedback to land in.

3. Check the SDK starts early

Start the SDK once, as early as possible when your app launches, not inside a single screen or after a delay.

iOS (Swift). Call start in your AppDelegate or root view controller:

import UserbackSDK  UserbackSDK.shared.start(accessToken: "YOUR_MOBILE_KEY")

If your code calls Userback.start(...), you're on an older version of the SDK. Update to version 2.0.0 or later.

Android (Kotlin). Call init inside your main Activity's onCreate(), and pass the Activity (this), not applicationContext:

Userback.init(     context = this,     accessToken = "YOUR_MOBILE_KEY" )

React Native. Wrap your root component in UserbackProvider, then start the SDK:

<UserbackProvider>   <YourApp /> </UserbackProvider>
UserbackSDK.start({ accessToken: 'YOUR_MOBILE_KEY' })

4. Check your app opens the widget

If your app opens the widget from its own button, menu item, or gesture, make sure that control calls openForm():

  • iOS: UserbackSDK.shared.openForm()

  • Android: Userback.openForm()

  • React Native: UserbackSDK.openForm()

5. Android: check your manifest and release build

In AndroidManifest.xml:

  • Include <uses-permission android:name="android.permission.INTERNET" />.

  • Set android:configChanges="orientation|screenSize|screenLayout" on the Activity that shows the widget, so it isn't lost when the screen rotates.

If the widget works in debug builds but not in release builds, ProGuard or R8 may be removing the SDK's classes. Add this rule to your ProGuard configuration and rebuild:

-keep class io.userback.** { *; }

6. React Native: check dependencies and Expo

  • Install the two required libraries alongside the SDK: npm install @userback/react-native-sdk react-native-webview react-native-view-shot

  • On iOS, run cd ios && pod install after installing.

  • If you use Expo, run your app in a development build. The SDK doesn't work in Expo Go.

7. Check platform versions

  • iOS: iOS 15 and later.

  • Android: Android 5.0 (API 21) and later.

  • React Native: React Native 0.68 or later and React 17 or later.

Still not showing?

  • Your site name in Userback.

  • For websites, the page URL and a screenshot of any console errors.

  • For apps, the platform, SDK version, and any errors from Xcode or Logcat.

Related articles

Did this answer your question?