The SatisMeter widget doesn't show error messages of its own. A broken installation can look the same as one that works, where the current user just isn't eligible. This checklist helps you tell the two apart when your survey isn't showing, the widget isn't displaying, or a popup never appears.
Work through the steps in order, from checking that the snippet loads to checking whether a user is eligible. Each step explains what to check, how to check it, and how to fix it.
In this article:
- Step 1: Checking the widget request in the Network tab
- Step 2: Checking that the snippet loads
- Step 3: Checking that the user is sent correctly
- Step 4: Checking that survey collection is running
- Step 5: Checking the browser or device
- Step 6: Checking that the user is eligible
- Step 7: Checking the survey trigger
- Step 8: Checking for an old snippet
- Getting help from support
Step 1: Checking the widget request in the Network tab
This is the fastest check. Your browser records every request the snippet makes, including failed ones, so the result tells you where to look next.
- Open the page where the survey should appear.
- Open your browser's developer tools and go to the Network tab.
- Reload the page.
- Look for a request to
/api/widget.
Tip: Type widget into the Network tab's filter box to find the request quickly. Failed requests also appear in the browser console.
Compare what you see with this table:
Step 2: Checking that the snippet loads
If there's no request to /api/widget, or the request is blocked, something is stopping the snippet from running. Check these common causes:
- Ad blockers: Some ad blockers block the snippet. Turn off the ad blocker and reload the page to test.
-
Content Security Policy (CSP): Your CSP must allow
app.satismeter.comforscript-srcandconnect-src. It must also allow the inline snippet, using'unsafe-inline', a nonce, or a hash. See Installing with Content Security Policy. -
Cookie-consent tools: Some consent tools change the snippet to
type="text/plain". The snippet then doesn't run until the visitor gives consent. Test after accepting cookies, or review how your consent tool handles the snippet. - More than one snippet on a page: Only one SatisMeter session runs per page. A second snippet, for example for another project, replaces the first if it uses a different writeKey or userId. Whichever snippet runs last wins, so load only one snippet per page.
Step 3: Checking that the user is sent correctly
The snippet can load correctly and still send SatisMeter the wrong information about the user or page. Check how your site sends this information:
- Segment: Surveys display only when SatisMeter runs in the browser, either in device mode or through the SatisMeter snippet. Cloud mode can't display a survey itself. It updates user traits, and its track calls can fire event triggers that have a max delay. Those surveys then show on the user's next page or SDK call. See Segment integration.
-
Single-page apps: Call
satismeter('page'), or any other SatisMeter call, on every route change. The widget doesn't detect route changes itself. Without a new call, URL rules keep matching the URL from the previous call. - Client-side redirects: If a client-side redirect happens after the SatisMeter call, SatisMeter reports the old URL. Make sure a SatisMeter call runs after the redirect, as with any route change. Normal full-page redirects work fine.
Step 4: Checking that survey collection is running
If the snippet works but no survey qualifies, first confirm that the survey can show at all:
- Survey status and channel: The survey must be Live, with the Web or Mobile channel enabled. Open the survey and check both settings.
- Organization on hold: No survey shows anywhere while your organization is on hold. This happens when the subscription was canceled, the monthly response limit was reached, or a payment failed and wasn't fixed. See Plans and response limits, How can I cancel my SatisMeter subscription?, and Updating your payment method.
Step 5: Checking the browser or device
Some browsers and devices never show web surveys. Check which one you're testing on:
- Internet Explorer: Web surveys never show in Internet Explorer. Test in a different browser.
- Phones: Web surveys don't show on phones when the project's mobile-survey setting is off. Tablets aren't affected.
- Mobile SDK: The mobile SDK isn't affected by either of these rules.
The mobile-survey setting is on by default for new projects. Older projects that don't have the setting count as off. You can't change this setting yourself, so contact support to turn it on.
Step 6: Checking that the user is eligible
If everything above checks out, this user probably doesn't qualify for the survey right now. SatisMeter checks several rules before showing a survey. For the full rules, see How SatisMeter decides who sees a survey. The most common causes are:
- Frequency: The user already answered or closed this survey and is still in the cooldown set by its frequency. Answering even one question counts as answering the survey.
- Sampling: The user isn't in the survey's sample. See Sampling.
- Global throttle: The global throttle is on, so the user must wait a minimum number of days between any two surveys. See Survey Throttling.
- Priority: A higher-priority survey showed instead.
Step 7: Checking the survey trigger
If the survey depends on an event or a delay, check how the trigger is set up:
- Event triggers without a max delay: An event trigger with no max delay fires only during that exact track call made in the browser. If the survey doesn't show then, the trigger is lost. The editor sets a seven-day max delay by default, so this only applies if someone removed it.
- Survey delay: The survey delay is in seconds, and it restarts on each page load. A long delay on a page people leave quickly means the survey may never show.
- Multiple tabs: While a survey is counting down in one tab, other tabs don't show it.
Step 8: Checking for an old snippet
Very old web snippets show only NPS surveys. They also skip surveys that use branching or required questions. If your snippet is old, replace it with the current one. See How to install your survey code into a website.
Getting help from support
If your survey still isn't visible after these steps, contact support. Include these details so we can investigate quickly:
- Your project ID.
- A userId that should have seen the survey.
- The page URL.
- A screenshot of the
/api/widgetrequest from the Network tab.