How to embed video testimonials in Notion sites | GetPureProof
Notion has quietly become a real website-building tool. With Notion Sites, you can publish a page as a public site with a custom domain — and that opens the door to embedding video testimonials directly into your landing page, sales page, or About page, without leaving the tool.
The catch: Notion's embed support isn't unlimited. Custom HTML and arbitrary <script> tags don't run on standard Notion pages. There's a specific path that works, and a specific path that doesn't, and most guides get this wrong.
This post walks through both — what works, what doesn't, and exactly how to add a video testimonial widget to a Notion site in under five minutes.
The two Notion environments — and why it matters
Before the steps, the conceptual piece. Notion has two distinct surfaces:
Notion workspace pages — the regular Notion docs you and your team use internally. These render Notion's /embed block, which only accepts URLs from a specific allowlist (a handful of common services). Arbitrary HTML, scripts, or third-party widgets do not render here.
Notion Sites — Notion's website-publishing layer, where any workspace page can be published to the public web at a custom domain. Notion Sites supports a richer set of embed options for published pages.
The practical implication: video testimonial widgets work cleanly on Notion Sites, where the page is published to the public web. They don't work on private workspace pages used internally — those will not render the widget regardless of the embed code.
The rest of this guide assumes you're publishing to Notion Sites. If you're trying to embed a widget into a private internal Notion doc, that's not what Notion's embed system was built for, and there's no workaround that doesn't compromise the testimonial. We'll address that case at the end.
What you need before you start
Three things:
- A GetPureProof account with at least one approved video testimonial in a Space. (Free tier works for getting started.)
- A Notion workspace with Sites enabled and a page you've already published as a Site (or are about to).
- The widget you want to embed, configured in your GPP dashboard — Wall of Love, Carousel, Single Spotlight, Floating Pop, or Avatars.
If you don't have testimonials yet, the GetPureProof recording flow takes about three minutes to set up — share one link, customer records in their browser, no app needed.
Step 1 — Get your embed code from the GPP dashboard
In your GetPureProof dashboard, open the widget you want to embed. Click the embed button (the icon labeled "Get embed code" or similar — depending on your dashboard view).
You'll see two embed formats:
- Iframe embed — a self-contained
<iframe>tag with a fixed URL. - Script embed — a
<div>with a data attribute, plus an async-loading<script>tag.
For Notion Sites, use the iframe embed. The script-based embed depends on the script tag executing on the host page, and Notion's embed environment doesn't always run third-party scripts reliably. The iframe-based embed is self-contained — it loads its own runtime inside the iframe, independent of the host page.
Copy the iframe URL only — the part inside src="...". You'll paste it into Notion in the next step.
Step 2 — Insert an embed block in Notion
In the Notion page that's connected to your published Site:
- Type
/embedon a new line, or click the+icon and select "Embed." - Notion will show a small dialog asking for the URL.
- Paste the iframe URL you copied from GetPureProof.
- Click "Embed link."
Notion will render the embed inline. You can resize it by dragging the corners — set the width to full, and the height to whatever matches the widget's typical layout (around 600px for Wall of Love, smaller for Carousel or Single Spotlight).
Step 3 — Publish the Site
If the page isn't already published as a Notion Site, publish it now. Settings → Publish → enable public access → set your custom domain (or use the default Notion-hosted URL).
Visit the public URL. The widget should render inline, with your approved testimonials playing in the layout you chose. Recordings stream from a globally distributed CDN, so playback is fast regardless of where the visitor is.
If the widget doesn't render, the most common cause is a typo or missing protocol in the URL — make sure the URL starts with https://. Other troubleshooting below.
Step 4 — Match the widget to the page
A few placement notes for Notion Sites specifically:
- Above the fold on landing pages: use Single Spotlight or a small Carousel. A full Wall of Love is heavy for hero positioning.
- Mid-page social proof block: Wall of Love works well here, sitting between two content sections.
- Footer or near-CTA placement: Avatars works as a compact social-proof bar — a row of customer faces that don't dominate the layout.
- Floating Pop: loads as an overlay from a corner of the page rather than inline. Useful as a passive reinforcement element on long pages.
The widgets are responsive — they adapt to whatever column width Notion gives them. On mobile, the same embed renders cleanly without separate setup.
A note on PageSpeed
The GPP widget is built async — the iframe's contents load lazily and don't block the rest of the page. This matters for Notion Sites because Notion's render pipeline is already doing work to serve your page; the last thing you want is an embedded widget freezing the load.
In practice this means your Lighthouse scores stay where they were. The widget loads after the main content paints, so PageSpeed and Core Web Vitals aren't dragged down by adding social proof. We dug into this in detail in how to embed video testimonials without slowing your site.
Troubleshooting
The widget shows a blank box.
Usually a URL issue. Double-check the iframe URL — it should be the full URL starting with https:// and ending with the unique widget identifier. Re-copy from your GPP dashboard if unsure.
The widget loads but is too short. Notion sets a default height for embed blocks. Drag the bottom edge of the embed downward to give it more room. For Wall of Love, around 600px usually works; for Carousel, 400px.
The widget shows on Notion but not on the published Site. Make sure the page itself is published as a Notion Site, not just visible inside your workspace. Publish settings → enable public access.
Testimonials aren't appearing in the widget. Check your GPP dashboard — only approved testimonials appear in widgets. Pending or rejected ones are hidden until you approve them.
The widget appears, but I want to limit which testimonials show. In the GPP widget builder, you can hand-pick specific testimonials per widget rather than showing the whole Space. Useful when you want different testimonials on your homepage versus a specific solutions page.
What about private Notion workspace pages?
If you're trying to embed video testimonials into an internal Notion workspace page (not a published Site), the honest answer is: that's not what Notion's embed system was designed for, and the experience won't be good.
A few alternatives that work better:
- Publish the page as a Notion Site (even unlisted) and embed there. You can keep the URL private and only share it internally.
- For internal sales enablement, keep the testimonial library in your GPP dashboard and link to specific clips from your Notion docs. The links open the testimonial directly in a hosted player.
- For team-internal showcase, the dashboard itself is shareable — you can give your team view-only access to the GPP Space rather than re-embedding clips elsewhere.
The widget was built for public-facing sites, where social proof actually does work. Internal docs are a different use case.
Bottom line
Embedding video testimonials in Notion Sites is straightforward — copy the iframe URL, paste into a Notion /embed block, publish the Site. Done in five minutes. The widget loads fast, plays from a global CDN, and doesn't drag on your page performance.
The only thing to watch out for is the difference between published Notion Sites (where this works) and private workspace pages (where it doesn't). For everything else — landing pages, About pages, sales pages, course pages on Notion-hosted sites — the embed flow above is all you need.
Embed your first testimonial in 5 minutes.
Collect a video, copy the embed URL, paste into Notion. The widget handles the rest.
Start for free