Skip to content

Troubleshooting

The chat bubble not showing up is almost always one of the five causes below. Work through them in order — each has a 30-second check.

1. AI model not configured (most common)

The widget stays intentionally hidden until an AI model passes the connectivity test for your account.

Check: Dashboard → AI Model — is there a saved configuration with a green "verified" status?

Fix: Choose a provider (OpenAI-compatible / Anthropic Claude / Google Gemini), enter your API key, and save. The widget appears within about 1 minute after the test passes. See Embed Code for details.

2. Content Security Policy blocking the script

If your site sends a Content-Security-Policy header, the browser may silently refuse to load the widget.

Check: Open DevTools → Console. CSP violations look like:

Refused to load the script 'https://widget.webnav.ai/widget/chat-widget.js'
because it violates the following Content Security Policy directive: "script-src ..."

Fix: Add the widget domain to script-src and connect-src (that's all it needs — see CSP details):

script-src 'self' https://widget.webnav.ai;
connect-src 'self' https://widget.webnav.ai;

3. Ad blockers / privacy extensions

Some blockers match on chat-widget URL patterns.

Check: Open your site in a private window with all extensions disabled. Bubble appears? An extension is the culprit.

Fix for your visitors: nothing to do — blockers are a per-visitor choice; the widget fails silently and never breaks the host page.

4. Script tag not actually on the page

Check: DevTools → Network → filter chat-widget. You should see chat-widget.js with status 200.

  • No request at all → the <script> tag isn't in the served HTML (check your template/deploy), or a tag manager strips it.
  • Status 4xx/5xx → note the response; a 403 usually means the domain isn't whitelisted for your account.

5. Domain not whitelisted

The widget only serves conversations for domains registered to your account.

Check: Dashboard → Domains — does the exact domain (including subdomain) of the page appear there?

Fix: Add the domain, or set data-base-url to a registered domain. See Widget Attributes.

Still stuck?

Grab the following and contact us via the widget on webnav.ai or the dashboard:

  1. The page URL where the widget should appear
  2. A screenshot of DevTools Console errors
  3. A screenshot of the Network entry for chat-widget.js

Good to know

  • data-exclude only controls crawling (what the AI learns) — it does not hide the bubble on those routes. To hide the bubble on specific pages of an SPA, load the script conditionally in your router logic.
  • The widget renders inside Shadow DOM and never inherits or leaks styles; visual glitches are usually the host page's global CSS using !important on universal selectors.

Webnav.ai — AI 智能客服