How to add video testimonials to Squarespace (2026)
Squarespace builds beautiful sites. It also makes embedding third-party widgets just opaque enough that founders give up after 20 minutes and decide testimonials can wait. They can't, and it's not actually hard. This guide walks through both methods of embedding video testimonials on a Squarespace 7.1 site — the widget approach (most flexible) and the Code Injection fallback (for restrictive plans).
What you'll need
- A Squarespace site on a plan that supports Code Blocks. Business plan and above support them; Personal-tier sites have restrictions on custom code, and you'll need either to upgrade or use the Code Injection fallback below.
- An active GetPureProof account with at least one approved testimonial in a Space.
- 10 minutes.
Quick setup on the GetPureProof side
If you already have testimonials collected and approved, skip ahead. If not:
- Create a Space (gives you a recording link).
- Send the recording link to customers.
- As testimonials come in, approve them in your dashboard.
- Generate a widget from approved testimonials, or use the Space's iframe embed for a simple Wall of Love.
Full walkthrough: how GetPureProof works.
Once you have approved testimonials and either a widget ID or a Space slug, you're ready to embed.
Method 1: Code Block widget embed (recommended)
This is the better experience — async-loading, responsive, with the option of multiple widget layouts (Wall of Love, Carousel, Single Spotlight, Avatars, Floating Pop).
In your Squarespace dashboard:
1. Open the page where you want testimonials to appear. Usually homepage, pricing, or a dedicated testimonials page.
2. Add a Code Block. Hover where you want the embed → click the + icon → choose Code from the block options.
3. Set the block to HTML mode. The dropdown at the top of the block editor.
4. Paste your embed snippet.
<!-- PureProof Widget -->
<div class="pureproof-widget" data-widget-id="YOUR_WIDGET_ID"></div>
<script src="https://getpureproof.com/embed.js" async></script>
Replace YOUR_WIDGET_ID with the ID from your dashboard. The "Get Embed Code" button in your widget view copies the full snippet pre-filled.
5. Disable Display Source. Squarespace sometimes shows code as code rather than rendering it. Make sure "Display Source" is unchecked at the bottom of the Code Block editor.
6. Save and preview. The widget should load when you preview the page.
Method 2: Code Injection (site-wide, fallback)
If your plan is restrictive on per-page Code Blocks, or you want the widget loader available across multiple pages without re-embedding the script tag each time, use Code Injection.
In Site Settings → Advanced → Code Injection:
Footer injection. Add this once, site-wide:
<script src="https://getpureproof.com/embed.js" async></script>
Then on each page where you want the widget to appear, add a Markdown block (which supports raw HTML on most plans) containing only the div:
<div class="pureproof-widget" data-widget-id="YOUR_WIDGET_ID"></div>
This is more involved than Method 1 and changes your site's global script-loading order. Use it only if Method 1 isn't available on your plan, or if you're embedding widgets on five-plus pages and want one loader.
Where to place testimonials on a Squarespace site
Three placements that consistently outperform on Squarespace templates.
Hero-adjacent section. Add a Section immediately below your hero, before any feature blocks. A single-spotlight or carousel widget here puts a real customer's face in front of visitors before they've decided whether to scroll.
Inside or next to the pricing section. If your homepage has a pricing summary, embed a widget in the same section. Visitors comparing plans should see proof at the moment of decision.
Dedicated testimonials page. Linked from your top nav. Use a full Wall of Love widget and let it fill the page. Visitors who land here are deep in evaluation — give them volume.
Avoid the "below all content" placement that many Squarespace templates suggest by default. Footer-adjacent testimonials are basically invisible.
Squarespace-specific gotchas
- AJAX-loaded pages. Squarespace 7.1 sometimes uses AJAX page transitions, which can cause embedded widgets to fail to re-initialize when navigating between pages. If your widget appears on first load but not when navigating to the page from another, disable AJAX in Site Settings → Advanced.
- Mobile preview vs mobile reality. The Squarespace editor's mobile preview doesn't always render embedded widgets accurately. Always test on an actual phone before assuming the embed is broken.
- Style conflicts. Squarespace's global CSS occasionally interferes with embed styling. The widget runs in an iframe (or Shadow DOM for floating layouts), which isolates most of this. If you see odd font rendering or spacing, it's usually a CSS specificity battle outside the widget, not a widget bug.
- Caching. Squarespace caches aggressively. After saving an embed, hard-refresh (Cmd+Shift+R or Ctrl+Shift+R) to see the change.
- Cookie banners. If you use Squarespace's built-in cookie banner in strict GDPR mode, embedded widgets may be blocked until consent is given. This is correct behavior. If you want testimonials to load before consent, configure your cookie banner's allowlist accordingly.
Going live
After embedding:
- Preview on desktop, tablet, and mobile.
- Check page load time. The widget loads asynchronously, so it shouldn't add to your critical path — but verify in Lighthouse or PageSpeed Insights.
- Verify the widget shows only approved testimonials. In your dashboard, mark the testimonials you want public as Approved. Others stay hidden.
- Test from a private or incognito window to see what unauthenticated visitors actually see.
If anything looks off, the most common cause is the embed snippet being slightly mangled by Squarespace's HTML editor — re-paste the exact snippet from the dashboard's Code copy button.
Closing thought
Squarespace is good for design, sometimes awkward for custom widgets. Both methods above work. Method 1 is the better experience if your plan allows it. Once it's running, you can collect testimonials indefinitely and they'll appear in the widget automatically — no more page edits required.
Ready to embed your first testimonial?
Set up your Space, send the link to a customer, paste the snippet into your Squarespace page. Free plan, no credit card required.
Start free