Skip to main content

Blank space where the proof should be

Testimonial Widget Not Showing Troubleshooting

You pasted the embed code, published the page and got an empty gap. Almost every blank widget comes down to one of five things: half the code never reached the page, the script was stopped from running, the id points at the wrong widget, the widget has nothing approved in it, or the page itself is hiding the box. The checklist below walks through them in the order that finds the cause fastest, on any website builder.

  • Works on any builder or hand coded site
  • Ordered from the quickest check to the slowest
  • Each tick rules out one cause

The problem, solved

Six reasons a StoryProof widget stays blank, and the fix for each

Start with the one that matches what you see. The checklist further down covers them in order if you are not sure.

Situation 1 of 6

There is a gap but nothing loads

Some editors keep the div and quietly drop the script tag, or turn the whole snippet into escaped text when it lands in a normal text block.

How StoryProof solves it

The embed is two parts only: a div carrying your widget id and the async embed.js script from app.storyproof.io. Open the published page source and confirm both arrived exactly as copied.

Diagnosis checklist

Find out why your testimonial widget is blank

Open the published page, not the editor preview, in a desktop browser. Work down the list and stop at the first item you cannot tick: that is almost always the cause.

1. Did the code reach the page?
2. Did the script run?
3. Is there anything to show?
4. Is the page hiding it?

Your ticks stay in this browser tab and are not sent anywhere.

What you see, and where to look first

Platform specific causes, such as a builder that only runs scripts on paid plans, are covered on each platform’s setup page.
SymptomMost likely causeFirst check
Empty gap, no error anywhereScript tag missing or strippedPage source: search for embed.js
The code itself is printed on the pagePasted into a text blockMove it into an HTML or custom code block
Red error in the console naming a policyContent Security PolicyAllow app.storyproof.io for scripts and connections
Blank for you, fine for othersBrowser extension or office networkPrivate window, then mobile data
Frame appears, no testimonialsNothing approved or chosenThe widget’s testimonial selection in StoryProof
Shows on desktop, not on phonesSection hidden at that breakpointYour builder’s mobile visibility setting

In StoryProof

Get the widget showing again

  1. 1

    Copy a fresh snippet

    Take the embed code again from the widget you intend to show. Pasting a fresh copy rules out a mangled quote mark or a truncated id in one go.

  2. 2

    Put each part where it belongs

    Place the div in an HTML or code block exactly where the testimonials should appear. Put embed.js once in a place every page loads, such as the footer code area.

  3. 3

    Give the widget something to show

    Approve the testimonials you want public and choose them for this widget. A widget with no approved selection has nothing to display.

  4. 4

    Publish, clear caches, test clean

    Publish the site, purge any cache your host or CDN keeps, then load the page in a private window and on a phone before you decide it is still broken.

What happens next: If one page is fixed, check every other page that should carry a widget. The same missing footer script or stale cache usually affects them all.

Before you start

What this checklist cannot do

  • It cannot see your site

    We have no view of your page source, headers or console. The checklist narrows the cause down; the fix still happens in your builder or server settings.

  • Visitors’ blockers are out of your hands

    If a visitor’s extension blocks third party scripts, the widget will not show for them whatever you change. A plain text link to your Wall of Love still works for those visitors.

  • No script means no widget

    The div is filled by embed.js in the visitor’s browser. A browser with JavaScript turned off sees only the empty div.

  • Security headers may need your developer

    Content Security Policy is often set by a host, a plugin or a server config you cannot edit from the page builder. Send the exact console error to whoever manages it.

  • Builder rules come first

    Some website builders limit where scripts may run or reserve custom code for certain plans. Check your platform’s own help pages if the code will not save at all.

FAQ

Questions people ask

Short answers to what usually comes up next.

Why does the widget show in the editor but not on the live page?

Editors often render a preview differently from the published site. Either the change has not been published, a cache is still serving the old page, or the live template does not load embed.js. Check the published page source, not the editor.

Can I paste the script once for several widgets on the same page?

Yes. One copy of embed.js fills every StoryProof widget div on that page, so a page with three widgets needs three divs and a single script.

Does an ad blocker stop the widget for my visitors?

It can, for visitors whose blocker treats third party scripts as unwanted. You cannot switch that off for them. Test in a clean private window to confirm the page itself works.

What should I send to support if nothing on the list helps?

The page URL, which checklist items you could not tick, and a copy of any red console error. That is usually enough to find the cause without a call.

The widget shows old testimonials. Is that the same problem?

No, that is a selection or caching question rather than a blank widget. Check which approved testimonials are chosen for the widget, then clear any page cache your site keeps.

Still have a question? Ask the StoryProof team or book a demo.

Two lines of code and nothing hidden

StoryProof widgets are a div and one async script, so there are only a few places a problem can hide.

Sources

  1. Content Security Policy (CSP), MDN Web Docs. Checked 2026-11-12.

Last updated 2026-11-12.