AI Twin chat widget not appearing on my site

The complete checklist when your Reality Twin widget doesn't load — ad-blockers, CSP, allow-lists, script tag, past-due status.

Updated June 1, 2026 6 min read

Nine times out of ten a missing chat widget is one of five specific issues. Walk this checklist in order — one of them will fix it.

1. Confirm the script tag is on the page

  1. Open the page in a private browser window.
  2. View page source (Cmd/Ctrl+U) and search for realitytwin.io.
  3. You should see one <script> tag with your Company ID.
  4. If not, the snippet was not saved — re-paste it and republish.

2. Check the browser console

Open DevTools → Console. Look for errors mentioning realitytwin.io. Two common ones:

  • Content Security Policy — see step 3.
  • CORS — add your domain to the allow-list (step 4).

3. Update your Content Security Policy

If your site sends a CSP header, add these directives:

script-src 'self' https://realitytwin.io;
connect-src 'self' https://realitytwin.io wss://realitytwin.io;
frame-src https://realitytwin.io;
img-src 'self' https://realitytwin.io data:;

4. Confirm your domain is allow-listed

Twin → Settings → Domains. The widget refuses to render on domains not on your allow-list — this stops scraped copies of your site from showing your widget.

5. Check for ad-blockers

uBlock, Ghostery and Brave's shields sometimes block third-party widgets by default. Temporarily disable in a private window to confirm this is the cause. In production, communicate the widget's value to users so they whitelist it.

6. Verify your account is active

The widget disables itself if the account is past due or suspended. Check Settings → Billing.

Still not working?

Email hello@realitytwin.io with the page URL and a screenshot of the browser console. We usually reply within 4 business hours on Pro.

Frequently asked questions

Does the widget work behind a corporate proxy?

Yes — as long as the proxy allows outbound HTTPS and WebSocket to realitytwin.io.

Can I load the widget on a subdomain not in the allow-list?

No — add the subdomain explicitly.

Why does the widget appear in staging but not in production?

Usually a stricter production CSP or a different domain not on the allow-list.

Did this article solve your problem?

If not, email us — a human on the founding team replies, usually within a business day.