How to Add Reviews to a Notion Site: No Script Tags Allowed
How to Add Reviews to a Notion Site (2026 Guide)
Complete guide to adding review widgets to a Notion site or public Notion page in 2026. Notion is the most constrained platform in this series because it runs no custom JavaScript at all: there is no HTML block, no code injection setting, no theme file and no script tag anywhere in a Notion page. The only mechanism for third-party content is the embed block, invoked by typing a forward slash followed by embed, which accepts a publicly reachable URL and renders that URL inside a sandboxed frame. The consequence for review widgets is direct and often misunderstood. A widget distributed as a one-line script snippet, which is how almost every review widget including BlooTrue is delivered, cannot be pasted into Notion the way it can be pasted into a WordPress Custom HTML block, a Webflow Embed element or an Elementor HTML widget. The snippet must first live on a page that is reachable at a public URL, and it is that URL which goes into the Notion embed block. A second consequence follows from the sandboxing: content inside an embedded frame is isolated from the host page, so any structured data the widget emits belongs to the embedded document rather than to the Notion page, and will not produce rich results for the Notion URL. Covers the embed mechanics, the hosted-page requirement, sizing, and what to expect from search engines. Free plan, unlimited widget views.

Notion is the strictest platform in this series, and the constraint is absolute rather than fiddly. Notion runs no custom JavaScript. There is no HTML block, no code injection field, no theme file, no plugin and no script tag anywhere in a Notion page. Every other builder in this series gives you somewhere to paste a snippet. Notion gives you an /embed block that takes a URL and renders it in a sandboxed frame, and that is the whole surface area. So the question is not where to paste the widget code. It is how to turn widget code into a URL, because a URL is the only thing Notion will accept.
Why Can't You Paste a Script Tag Into Notion?
Because Notion does not execute page-level JavaScript from users. It is a document tool that grew a publishing feature, not a website builder, and it never exposed the injection points a website builder has. There is no equivalent of WordPress's Custom HTML block, Webflow's Embed element, Elementor's HTML widget or Squarespace's Code block.
This is a deliberate safety decision rather than an oversight. Notion pages are shared constantly between people and organisations, and arbitrary script execution in a shared document is a serious attack surface. The tradeoff is that Notion is a poor host for anything interactive that it did not build.
It also means most instructions you will find are wrong for Notion. Any guide that says paste this snippet into your page is describing a platform Notion is not. The snippet has nowhere to go.
What Does the /embed Block Actually Do?
Type /embed on any Notion page, paste a publicly reachable URL, and Notion renders that URL inside a frame on the page. It is the same mechanism behind Notion's previews of Figma files, YouTube videos and Google Docs, exposed generically.
The URL must be public. If the page you point at requires a login, or sits behind an allowlist that does not include Notion, the block renders an error or a blank frame rather than your content. This is the single most common reason a Notion embed appears broken.
You can resize the frame by dragging its edges, which is worth doing deliberately because the default height rarely suits a review widget. Set it once with realistic content loaded rather than guessing, and re-check it on a phone, since a Notion page is read on mobile more often than most sites.
How Do You Turn a Widget Snippet Into a URL?
The snippet has to live on a page that has an address. In practice that means putting the widget code on any page you control that is publicly reachable, and pointing the Notion embed block at that page. A small standalone page on your own domain is the cleanest option if you have one.
If you have no site of your own, which is common for the people who choose Notion as their site, a code-sharing service that renders a live preview at a stable URL works: paste the widget snippet into a CodePen or JSBin document and embed that document's URL. It is a workaround rather than an elegant solution, and it is the one Notion users have converged on because the alternatives are worse.
Whichever route you take, the page you host should contain the widget and nothing else. Anything else on that page will also render inside the frame, and a Notion embed is a small window.
What Do You Lose Inside the Frame?
Search visibility, mostly. Content inside an embedded frame belongs to the embedded document, not to the Notion page, so any review schema the widget emits describes that document rather than your Notion URL. If part of your reason for embedding reviews is star ratings in search results, that will not happen here.
You also lose smooth height behaviour. A frame is a fixed box, so a widget that would size itself to its content on a normal page is instead confined to whatever height you dragged the block to, and long content scrolls inside the frame rather than expanding the page.
None of this stops the widget working for the human reading the page, which is usually the point. Just calibrate expectations: on Notion this is a visual and persuasive element, not an SEO one.
Who Actually Needs This?
People whose entire public presence is Notion, and there are more of them every year: consultants, small studios, course creators, indie founders and community organisers who publish a Notion page instead of building a site. For them the trust gap is real, because a Notion page has no design signals of legitimacy at all.
That makes reviews unusually valuable on this platform. A Notion page reads as a document, and a document with genuine third-party reviews on it reads as a business. Very little else you can put on a Notion page does that job.
It is also the strongest argument for eventually moving off Notion as a public site. If reviews and search visibility both matter, a simple site on a real builder removes the whole class of constraint described above. Until then, the embed route works.
What Are the Steps End to End?
Build the widget first: paste your review profile URL into the builder, pick a layout, adjust the colors so it does not clash with Notion's plain white page, and copy the embed code. Compact layouts suit Notion better than tall walls, because the frame is a fixed box on a page people scroll quickly.
Then host it. Put the snippet on a public page you control, or on a code-sharing document with a stable preview URL, and confirm you can open that URL in a private browser window without logging in.
Then embed it: type /embed in Notion, paste the URL, and drag the frame to a sensible height with the reviews actually loaded. Check the result on a phone before you share the page.
Build the widget, then embed the URL
Notion takes a URL, not a script. Build your widget, get an embeddable address, and drop it in with /embed. Paste your profile URL, customize, copy.
Try the Free Widget Builder →Try Our Free Tools
Notion Reviews Widget — Build a review widget for a Notion page. Free plan, unlimited views, no script tag required.
AI Review Response Generator — Draft a reply to any review in seconds, then copy and paste it onto the platform. Free, no signup.



