Skip to content
Troubleshooting

The chat bubble is not showing up

Check them in this order and you will find it in under five minutes: view source on the live page and confirm the tag is actually there; if it is in a tag manager, confirm the container was published; check the site's domain is on the widget's allowed list; then look at your own Content-Security-Policy. The install check on the agent tells you which half of this you are in.

Updated 2026-09-19 · 4 min read · More in troubleshooting

First: is the tag on the page at all?

Open the live page, view source, and search for the script. Not the staging page, not the page in your editor's preview — the page a customer loads. More than half of all missing bubbles are a tag that was added to a template that this particular page does not use, or a change that was saved but never published.

The install check on the agent is the same question asked from our side: it goes green once a real page load has reported in. Green means the tag is loading somewhere; a bubble missing on one page while the check is green points at a template, not at the widget.

Second: was the tag manager container published?

Google Tag Manager keeps changes in a workspace until you publish a version, and a preview session shows the tag firing perfectly while the live site has nothing. This is the single most common cause on sites that use a tag manager.

Check the trigger too. A tag set to fire on one page, or on a trigger that never matches, behaves exactly like a tag that was never added.

  1. View source on the live page

    Search for the script URL. If it is absent, the problem is upstream of us.

  2. Check the container is published

    A previewed tag is not a published tag.

  3. Check the trigger

    All Pages, unless you deliberately want it somewhere narrower.

Third: is the domain on the allowed list?

A widget with an allowed-domains list refuses origins that are not on it — the config endpoint answers 403 and the conversation frame refuses to render. That is the protection working, and it looks exactly like a broken widget when you have just added your production domain and forgotten your staging one.

A bare domain covers its subdomains, so example.com covers shop.example.com. Add every host you actually serve the site from, including the www variant if you use one and your preview or staging hosts.

Fourth: your own Content-Security-Policy

If your site sets a CSP, it has to allow loading our script and framing the conversation panel. A policy that lists script sources without ours will block the snippet outright, and one that restricts frames will let the launcher draw but leave the panel empty when it opens.

Your browser's console says so plainly when this is the cause — a blocked script or a refused frame is a named error, not a silent failure. It is worth opening the console before guessing at anything else.

Still nothing

Two smaller causes worth knowing. An aggressive ad or tracker blocker on your own browser can hide the launcher while every customer sees it — check in a private window with extensions off before you conclude it is broken. And a second copy of the script on the page is harmless: the second one stands down rather than drawing a second bubble, so it is never the cause of a missing one.

If the tag is on the live page, the container is published, the domain is listed and the console is clean, send us the URL. That combination is ours to explain, not yours.

FAQ

Related questions

Green means the tag loads somewhere on your site. Check the specific page you are looking at uses the template the tag is in, then check a private window with extensions disabled.

Still stuck? A person will answer.