Solvo
Install the Solvo widget
Add Solvo's AI support chat to WordPress, Shopify, Webflow, Framer, Wix, Squarespace, Google Tag Manager, Next.js, or any HTML site. One script tag, about two minutes.
Last updated: October 2, 2026
The snippet
Every install is the same script tag. Replace YOUR_SITE_ID with the Site ID from Install Widget in your dashboard, where you can also copy the snippet with your colors and copy already filled in.
<script
src="https://solvochat.com/widget.js"
data-site-id="YOUR_SITE_ID"
async
></script>Once it is on your site, load any page once. The dashboard switches to "Live on your-site.com" to confirm it worked.
Any HTML site
Paste the snippet just before the closing </body> tag on every page, or in a shared footer template.
WordPress
- Install a header and footer plugin such as WPCode (Plugins → Add New).
- Open its settings (Code Snippets → Header & Footer).
- Paste the snippet into the Footer box and save.
Shopify
- In your admin, go to Online Store → Themes.
- On your current theme, open the ⋯ menu → Edit code.
- Open
layout/theme.liquid, paste the snippet just above</body>, and save.
Webflow
- Open Site settings → Custom code.
- Paste the snippet into Footer code and save.
- Publish the site. Custom code needs a paid Webflow site plan.
Framer
- Open Site Settings → General → Custom Code.
- Paste the snippet into End of <body> tag.
- Publish.
Wix
- In the dashboard, go to Settings → Custom Code (under Advanced).
- Click + Add Custom Code and paste the snippet.
- Choose All pages and place it in Body - end, then apply. Wix needs a premium plan with a connected domain.
Squarespace
- Open Code Injection (in Website Tools or under Settings → Advanced, depending on your version).
- Paste the snippet into Footer and save. Code injection needs a Core plan or higher.
Google Tag Manager
- Create a new tag of type Custom HTML and paste the snippet.
- Set the trigger to All Pages.
- Save, then Submit and Publish the container.
Next.js and React
Load it once in the root layout. The widget follows client-side navigation on its own, including pages you hide it on.
// app/layout.tsx
import Script from "next/script";
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
{children}
<Script
src="https://solvochat.com/widget.js"
data-site-id="YOUR_SITE_ID"
strategy="afterInteractive"
/>
</body>
</html>
);
}In a plain React app, add the regular snippet to index.html instead.
Signed-in users (optional)
If your site has accounts, tell the widget who is signed in. Their name shows in your inbox and a handoff reply goes straight to their email.
window.Solvo.identify({ email: user.email, name: user.name });Not showing up?
- Check the Site ID matches the one in your dashboard.
- If you set allowed domains under Widget → Security, the site's domain has to be on that list.
- If you set "Hide on pages", the launcher stays hidden on those paths by design.
- A strict Content Security Policy needs
solvochat.comallowed forscript-src,connect-src, andframe-src.
Still stuck? Email support@solvochat.com with your site address.