Survey not showing? Troubleshooting checklist

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

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.

  1. Open the page where the survey should appear.
  2. Open your browser's developer tools and go to the Network tab.
  3. Reload the page.
  4. 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:

What you see What it means What to do
No request to /api/widget The snippet isn't loading. Go to step 2.
Error 404 with "Project not found" The writeKey in your snippet is wrong. Replace the writeKey with your project's correct one. See How to install your survey code into a website.
A blocked request An ad blocker or your Content Security Policy is stopping the request. Go to step 2.
Status 204, or a response containing visible: false The snippet works, but no survey qualified for this user. Go to step 4.

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.com for script-src and connect-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:

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/widget request from the Network tab.

See also

Was this article helpful?
0 out of 0 found this helpful

Articles in this section

Our Support hours:
Monday to Friday from 9:00 am - 2:00 am CET. Monday to Friday from 0:00 am - 5:00 pm PST.