Beaver Builder installation
Beaver Builder HTML Module Testimonial Embed
Beaver Builder’s HTML module takes markup, script tags and shortcodes, which makes it the natural spot for a StoryProof widget. The catch is the save button: if your role is not trusted with script tags, Beaver Builder refuses the settings with a sensitive code message. Here is what to paste and how to deal with that refusal.
- The two lines for the HTML Code Editor
- What “Settings could not be saved” means here
- Which roles can save scripts by default
Code for Beaver Builder
Paste into the HTML module’s code editor
Fill in your widget id. Both lines go into the HTML Code Editor of a single HTML module, placed in the row and column where the testimonials belong.
An HTML module in your Beaver Builder layout
Beaver Builder editor › Modules › HTML › drag into a column › HTML Code Editor
<div data-storyproof-widget="YOUR_WIDGET_ID"></div>
<script src="https://app.storyproof.io/embed.js" async></script>Save the module, then publish the layout. If the save is refused with a sensitive code message, have an Administrator or Editor do this step instead.
The id you enter only fills in the code shown in this tab. It is not stored or sent.
The problem, solved
Why Beaver Builder testimonial sections stall
- Problem 1
“Settings could not be saved” on paste
Beaver Builder says these settings contain sensitive code not allowed for your user role, because the script tag needs the unfiltered_html capability.
How StoryProof solves it
The StoryProof embed is a div and one script tag, nothing more. Once a role with that capability saves the module, the embed needs no further changes in Beaver Builder.
- Problem 2
Our shop manager cannot add it
On WooCommerce sites the Shop Manager role does not have unfiltered_html, so the person running the store hits the save error.
How StoryProof solves it
Let an Administrator place the HTML module once. After that the shop manager changes which approved testimonials show from inside StoryProof, without editing the layout.
- Problem 3
The Testimonials module needs retyping
Beaver Builder’s own testimonial slider holds text you enter by hand, so every new quote means editing the layout and republishing.
How StoryProof solves it
Point the HTML module at a StoryProof widget instead, and update the selection in StoryProof as approved testimonials come in.
- Problem 4
Customers would rather talk than type
Asking clients for a written paragraph gets slow replies. Many would happily record a short clip or a voice note instead.
How StoryProof solves it
One StoryProof link accepts video, audio or text, and audio notes play in the widget alongside the written ones.
- Problem 5
Three modules, three copies of the script
Pasting the full embed into every HTML module on a long page repeats the script several times.
How StoryProof solves it
Keep embed.js in the first HTML module only. One copy fills every StoryProof div on the page, so the other modules hold just their div.
Who can save the embed in Beaver Builder
Taken from Beaver Builder’s troubleshooting notes on the unfiltered_html capability.
In StoryProof
Add a StoryProof widget with Beaver Builder
Step 1 of 4
Choose the testimonials
In StoryProof, set up a widget for this page, add the approved testimonials and pick a layout that fits the column you have in mind.
Step 2 of 4
Drop in an HTML module
Open the page in Beaver Builder, find the HTML module in the Modules panel and drag it into the column where the testimonials should sit.
Step 3 of 4
Paste and save
Paste both lines into the HTML Code Editor and save. Use the module’s Advanced tab for margins or to hide it at certain screen sizes.
Step 4 of 4
Publish and check
Publish the layout and open the page logged out. If the editor misbehaves after a bad paste, Beaver Builder’s Safe Mode lets you open the layout and remove the module.
Before you start
Beaver Builder specifics
Client side code only
The HTML module prints any PHP as plain text. The StoryProof embed has no PHP, so nothing is lost.
Broken markup can upset the editor
Beaver Builder warns that invalid HTML, such as unclosed tags, can interfere with its interface. Paste the two lines exactly as generated.
The filter is a code change
Granting fl_user_has_unfiltered_html means adding a filter to a child theme or plugin. It widens what that role may paste, so use it sparingly and target specific roles.
Not a Beaver Builder module
StoryProof does not provide a Beaver Builder module or WordPress plugin. The built in HTML module is the integration.
Docs and branding
Steps follow Beaver Builder’s documentation as read on 2026-11-14 and have not been tried on a live site. Widgets per workspace: Free 1, Starter 5, Pro unlimited. A small "Powered by StoryProof" badge shows until Pro.
FAQ
Questions people ask
Short answers to what usually comes up next.
Can I use the Text Editor module instead?
Beaver Builder recommends the HTML module over the Text Editor module for code and shortcodes. The HTML module keeps the markup as written.
Does Beaver Builder Lite include the HTML module?
Check the module list in your version. If the HTML module is missing, a WordPress Custom HTML block on a page outside Beaver Builder is the fallback, covered in our WordPress guide.
Can I keep the Beaver Builder Testimonials module as well?
You can, but avoid repeating the same quote in both. A common split is a short typed quote in a hero and the full StoryProof widget lower on the page.
The module saved, but the live page is empty. What next?
Look for a caching or script optimisation plugin delaying embed.js, and check the browser console. Our troubleshooting page lists the usual causes.
Still have a question? Ask the StoryProof team or book a demo.
Let customers fill your Beaver Builder pages
Collect and approve testimonials in StoryProof, then save one HTML module.
Sources
- HTML module, Beaver Builder documentation. Checked 2026-11-14.
- Error: settings not saved, Beaver Builder documentation. Checked 2026-11-14.
- Layout Settings, Beaver Builder documentation. Checked 2026-11-14.
Last updated 2026-11-14.