Unbounce installation
Unbounce Landing Page Testimonials Embed
Unbounce’s Classic Builder places elements on a fixed canvas, so a testimonial widget needs a Custom HTML box sized by hand, and its script belongs in the Javascripts panel set to Before Body End Tag. Unbounce does not run custom JavaScript in Preview, so the published page is where you judge it.
- Div for a Custom HTML box
- Script for the Javascripts panel
- When Script Manager is the better home
Code for Unbounce
Code for an Unbounce Classic Builder page
The div sits in a Custom HTML box on the canvas. The script goes in the page’s Javascripts panel with Placement set to Before Body End Tag, or in Script Manager if every page on your custom domain should load it.
Part 1 · A Custom HTML box beside or under the form
Classic Builder › drag Custom HTML from the object toolbar › Embed Custom HTML Code › Save Code
<div data-storyproof-widget="YOUR_WIDGET_ID"></div>Part 2 · The page’s Javascripts panel
Classic Builder › Javascripts (bottom left) › Placement: Before Body End Tag › Done
<script src="https://app.storyproof.io/embed.js" async></script>Save and publish or republish, then visit the published URL. Unbounce does not run custom JavaScript in Preview or in the builder.
Formatted on this page in your browser; nothing is submitted.
The problem, solved
Unbounce proof problems, and how StoryProof fits
- Problem 1
The reviews spill out of the box
Classic Builder boxes have a size you drag, and a layout that grows with each review can overflow its box or leave a big gap.
How StoryProof solves it
Choose a layout with a steady height, such as a slider, strip or single featured review, from StoryProof’s layout range.
- Problem 2
Preview shows an empty box
Unbounce does not run custom JavaScript in Preview, so a correct install can look broken until the page is published.
How StoryProof solves it
The whole embed is a div holding the widget id plus one async script, so on the published page there is little that can go wrong.
- Problem 3
Variants need different proof
A test of variant A against variant B is pointless if both show the same block of quotes.
How StoryProof solves it
Tag testimonials by angle, give each variant its own widget, and choose the approved stories each one shows.
- Problem 4
Pasting the script on forty pages
Teams running many campaign pages on one domain end up maintaining the same script page by page.
How StoryProof solves it
Load embed.js once through Script Manager and it fills every StoryProof div on each page of that domain.
- Problem 5
Ad traffic should never see junk
Paid visitors cost money per click, and a stray off-topic submission on the page wastes every one of them.
How StoryProof solves it
Submissions stay out of widgets until someone approves them.
Javascripts panel or Script Manager
Both are documented by Unbounce. Use one, because a script in both places can run twice.
In StoryProof
Install it on an Unbounce page
Step 1 of 4
Pick a steady-height layout
For a fixed box, a slider or featured review keeps its height as testimonials change. Add the approved stories for this campaign.
Step 2 of 4
Drag in a Custom HTML box
From the object toolbar drag Custom HTML to the spot near the form, paste the div in the Embed Custom HTML Code dialog and click Save Code.
Step 3 of 4
Add the script
Click Javascripts at the bottom left, name the script, set Placement to Before Body End Tag, paste the script line and click Done.
Step 4 of 4
Publish and size the box
Save and publish, open the live page, then return to stretch the Custom HTML box until the whole widget shows. Unbounce calls this trial and error.
Before you start
Unbounce limits
Classic Builder only
Unbounce documents the Custom HTML widget as available in the Classic Builder only. Pages built with the AI Hybrid Builder need Unbounce’s own guidance.
Preview will not show it
Custom JavaScript does not run in Preview or inside the builder. Publish to a test URL if you need to check before going live.
Script Manager needs a custom domain
Script Manager does not work on the unbouncepages.com test domain. Use the page Javascripts panel there.
No Unbounce integration
StoryProof installs as custom HTML and JavaScript, not as an Unbounce app. Unbounce support does not troubleshoot custom scripts. A plain link to your Wall of Love needs no code at all.
From Unbounce’s docs, not a live page
Every click path here is taken from Unbounce’s documentation as read on 2026-11-12. It has not been tested on a live Unbounce page, and the builder may change.
FAQ
Questions people ask
Short answers to what usually comes up next.
Why is my widget missing in Unbounce Preview?
Unbounce does not run custom JavaScript in Preview. Publish the page and check the live URL.
Can I put both lines in the Custom HTML box?
Unbounce says Custom HTML can hold script-based widgets, so it can work for one widget. The Javascripts panel keeps scripts in one place you can see and edit.
Which Placement should I choose?
Before Body End Tag, so the script loads after the page content, including the div.
Does the widget fit the mobile layout?
If your page has a separate mobile layout, check the box size there as well. A steady-height layout is the easiest to fit in both.
Still have a question? Ask the StoryProof team or book a demo.
Put real customers beside your form
Approve testimonials in StoryProof and embed them on your Unbounce landing pages.
Sources
- Embedding Custom HTML or Widgets into Classic Builder, Unbounce Documentation. Checked 2026-11-12.
- Adding Custom JavaScript and CSS in the Classic Builder, Unbounce Documentation. Checked 2026-11-12.
- Adding Your Custom Scripts Using Script Manager, Unbounce Documentation. Checked 2026-11-12.
Last updated 2026-11-12.