One script tag. No npm package required. The script auto-creates a container if needed.
Get your business ID
Dashboard → Configure Widgets → open a widget → Get Snippet. Or find your business UUID in Settings. Every embed must use the correct data-business-id.
Base snippet
<script
src="https://app.trustflowx.com/widget.js"
data-business-id="YOUR_BUSINESS_ID"
data-layout="carousel"
data-speed="5"
data-per-row="3"
data-pulse="false"
async
></script>Script attributes
| Attribute | Required | Description |
|---|---|---|
data-business-id | Yes | Your business UUID |
data-layout | No | carousel · grid · badge · popup |
data-speed | No | Carousel interval in seconds (default 5) |
data-per-row | No | Grid columns (default 3) |
data-pulse | No | true for pulse animation (popup) |
Important
src URL must point to your TrustFlowX deployment (https://app.trustflowx.com), not your own domain. The script resolves the API host from its own origin.Platform guides
WordPress
Add a Custom HTML block where the widget should appear. Paste the full script tag. Update if you use caching plugins — exclude the widget page from aggressive JS deferral if reviews fail to load.
Shopify
Online Store → Themes → Edit code → theme.liquid before </body> for site-wide, or a Custom Liquid section on one page.
Wix / Squarespace / Webflow
Use the embed HTML / code injection element. Paste the script as provided.
React / Next.js (client site)
useEffect(() => {
const s = document.createElement("script");
s.src = "https://app.trustflowx.com/widget.js";
s.async = true;
s.setAttribute("data-business-id", "YOUR_BUSINESS_ID");
s.setAttribute("data-layout", "carousel");
document.body.appendChild(s);
return () => { document.body.removeChild(s); };
}, []);Send to your developer
Use the Send to Developer button in the widget editor to email the snippet with installation notes.
