Add Google reviews to Ghost
Ghost is the shortest of these. In the editor, an HTML card takes the snippet as it is; for every page at once, Ghost has a Code injection screen with a box that runs before the closing </body> tag.
The snippet
Build a widget in the app, press Install, and you get three lines:
Copy it from the app rather than from here — your-widget-id is unique to each widget you build, and a placeholder id is the single most common reason a widget renders as Unable to load reviews.
Reviews in one post or page
The editor route, for a single post or page.
- In the editor, start a new line and type
/html, then press Enter. - Paste all three lines into the card.
- Click outside the card, then publish.
/html on an empty line inserts this card
That is the whole job. Published, the page shows this — a live widget, running the same snippet described above:
What our customers say
Verified by ReviewsPluginA badge on every page
Code injection runs on every page of the site, so this is one paste for the whole thing.
- Go to Settings → Advanced → Code injection.
- Paste your badge snippet into Site Footer.
- Save.
</body> on every page
</body> tag across the whole publication.
Ghost also has per-post code injection, under the post settings menu, if you want a widget on one post without an HTML card in the body.
Before you decide it failed
Four checks, in this order
- Look at the published page, not the editor. Most builders do not run third-party JavaScript inside their own canvas, so an empty box there means nothing either way.
- Count the loaders. View source and search for
embed.js. It should appear exactly once, however many widgets the page has. - Check both widths. Reviews are taller on a phone than you expect, and some containers clip rather than grow.
- Confirm the attribution is visible and still a sibling of the widget, not inside it — on the free plan that is a condition of use.
If nothing appears
There is not much to go wrong on Ghost:
- The snippet went into a Markdown card. Markdown cards escape raw HTML in some themes. Use the HTML card.
- The theme overrides the footer. A few themes render their own closing markup; if the badge does not appear, put it in an HTML card in the page instead.
- Check the widget id. Unable to load reviews means the script ran and the id in
data-rpidoes not match a widget.
Still nothing? Send us the page address and we will look at it.
Where this was checked
Admin screens get renamed. These are the pages this guide was written against, and what each one settles — checked August 2026.
- Using the editor — cards and the slash menu.
- Using code injection — the site-wide route.
Publishing elsewhere? WordPress, or go back to all platforms.