Adding the widget to your site
Paste one line of code into your site; the install is verified automatically.
Copy the code from Settings → Install in your dashboard and paste it right before the </body> tag on every page of your site. The script loads asynchronously, so it doesn't slow down your pages.
<script src="https://revochat.app/widget.js"
data-revo-chat="YOUR_SITE_KEY" async></script>After pasting the code, just open your site once: the first time the widget connects from your domain, the step on the Setup screen completes itself. There's no button to press.
- WordPress: Appearance → Theme File Editor → footer.php, or any “insert header/footer code” plugin.
- Shopify: Online Store → Themes → Edit code → theme.liquid, before </body>.
- Wix / Squarespace: the “custom code” field in your site settings, applied to all pages.
- Next.js / React: as a <script> in your root layout, with defer/async.
For privacy (KVKK/GDPR), the widget records nothing until the visitor opens the chat bubble: they don't appear in the live visitors list, page views aren't tracked and no persistent ID is stored in the browser. The bubble is still visible, and the chat starts normally the moment the visitor opens it.
If you use a cookie consent tool (Cookiebot, CookieYes, Google Consent Mode…), make the call below when the visitor gives consent; for visitors who consent, tracking and proactive messages work even before they start a chat. If consent is withdrawn, consent(false) deletes the persistent ID.
RevoChat.consent(true); // consent given
RevoChat.consent(false); // consent withdrawnIf you identify your members with RevoChat.identify, turn on identity verification: create a secret under Settings → Install → Identity verification, keep it only on your server and sign the email there. A signed email shows a green check in the dashboard, and webhooks include visitorEmailVerified: true. An unsigned email (including one the visitor typed in) is saved but treated as unverified.
const hash = crypto.createHmac("sha256", IDENTITY_SECRET).update(member.email).digest("hex");
// on the page:
RevoChat.identify({ email: member.email, name: member.name, hash });