Help centre / Help desk, tickets and chat

HubSpot chat widget not showing on your website? How to find out why

Why the HubSpot chat widget or chatbot doesn't appear on your site, how to check each cause, and how to get it showing again.

By Abdur Rahim Mostafa, HubSpot consultant · Updated 26 October 2026 · 5 min read

When the HubSpot chat widget doesn't show on your website, start by checking whether the HubSpot tracking code is loading on that page. On a site HubSpot doesn't host, the widget can't appear without it. After that, look for a chatflow that's switched off, or targeting rules that don't match the page URL the widget reports.

The first thing to check is whether HubSpot's scripts load. Open the page in a private window, open your browser's developer tools, and search the Network tab for conversations-embed.js. If it isn't there, check that at least one chatflow is turned on, because HubSpot only loads that script when one is. Then check the tracking code. If it loads and you still see no widget, check that visitor.js loads too, then look at the chatflow's targeting and availability, your site's CSS and any chat widget SDK code.

Why the HubSpot chat widget isn't appearing

The tracking code is missing or blocked

The tracking code is under Tracking & Analytics, then Tracking Code, in your settings. Check the snippet was pasted exactly as HubSpot gives it, and if you use a tag manager, that the tag actually fires on the page you're testing. In the page source the script should carry the id hs-script-loader. HubSpot uses that id to avoid loading itself twice, so another element on your site with the same id can stop it loading. See tracking code not working for the wider checks.

Look in the browser console too. A Content Security Policy that doesn't allow HubSpot's domains shows errors there, and a cookie consent tool or script blocker can hold HubSpot's scripts back until the visitor accepts cookies. Custom CSS that targets #hubspot-messages-iframe-container can hide a widget that loaded fine (HubSpot's chat widget troubleshooting article).

The chatflow is off, or another one wins

A chatflow that's switched off shows nowhere. In the chatflows list, check the Status switch. If two chatflows target the same page, HubSpot shows the one with higher priority. A visitor who already started a chat keeps that thread as they move to other pages, so a second chatflow won't replace it.

The targeting rules don't match the URL

Open the chatflow's Target tab and compare each rule with the real address. A rule that says the website contains www.example.com doesn't cover blog.example.com, while a rule on example.com covers both. Then read the exclusion rules. A page that matches one of them won't show the chatflow.

To see the exact URL the widget sends, filter the Network tab for a request containing "messages" or "conversations" and read its X-Hubspot-Messages-Uri header. If your site runs behind a reverse proxy, that header has to survive the proxy. On a single-page app the URL changes without a page load, so HubSpot can't see the new page. A developer needs to call widget.refresh from the chat widget SDK on each route change.

Visitor targeting needs a tracking cookie

Rules based on visitor information, such as list membership or a CTA click, only work when HubSpot knows who the visitor is. That link between a browser cookie and a contact is made when the person submits a HubSpot form or clicks through from a HubSpot marketing email. Contacts you imported, added by hand or created from a logged sales email don't have it yet. They also lose it in a new browser, a private window, on a phone, or after clearing cookies.

Availability settings hide the launcher

The chat channel's Availability tab decides what happens when your team is away or outside working hours, and one of the options hides the chat launcher. If availability is based on users and the away behavior hides the launcher, the widget disappears whenever nobody in the assignment rules is Available. On Service Hub Enterprise there's also a setting for when every agent is at full capacity, and that can hide the launcher too (ticket capacity limits).

Site code delays or removes the widget

Developers can configure the widget before it loads. With loadImmediately set to false it waits until widget.load is called, and widget.remove takes it off the page. Type window.HubSpotConversations.widget.status() in the browser console. If it reports loaded as false, search your site's code for those calls.

How to find and fix the missing widget

  1. Open the page in a private window with ad and script blockers off. If the widget appears there, clear your normal browser's cache and cookies.
  2. Check the page source for hs-script-loader and the Network tab for conversations-embed.js. If hs-script-loader is missing, fix the tracking code. If only conversations-embed.js is missing, make sure a chatflow is on and give the cache time to update.
  3. Read the console for Content Security Policy errors and check your consent tool's settings for HubSpot.
  4. Confirm the chatflow is on, then compare its Target tab with the URL in the X-Hubspot-Messages-Uri header.
  5. Remove visitor-based rules for a moment and test again. If the widget appears, the cookie is the issue.
  6. Open the chat channel's Availability tab and check what visitors see when the team is away, at capacity and outside working hours.
  7. If you turned on your first chatflow minutes ago, wait and reload. HubSpot notes the updated tracking code can be cached for a while.

If the widget shows but the AI agent inside it doesn't reply, that's a separate problem, covered in customer agent not answering.

How to stop it happening again

Use a root-domain targeting rule unless a chatflow really belongs to one subdomain, and write down which chatflow should own each section of the site. When a developer adds a consent tool, a security policy or a new theme, test the chat on a few pages before it goes live. To test a new chatflow without showing it to everyone, target a URL with a query parameter such as ?test_chat=true.

If you'd rather have someone set up chat and the help desk behind it, I can do that for you.

Questions

Why does the chat show for me but not for a customer?

Usually the chatflow targets known contacts and the customer's browser has no HubSpot cookie linked to their record. Consent tools and browser extensions on their side can block it too.

Can I hide the chat on mobile?

Yes. Add an exclusion rule on the Target tab for visitors on a mobile device.

Why doesn't the welcome message pop open any more?

If a visitor minimized a chatflow, HubSpot respects that for 24 hours across pages and chatflows, through the hs-messages-hide-welcome-message cookie.

Is live chat available on free HubSpot?

Live chat is available on all plans as of October 2026, but some settings need more. A chat channel in the help desk needs Service Hub Professional or Enterprise, and the full-capacity setting needs Enterprise (chat channels in help desk).

Did this fix it?

Written by Abdur Rahim Mostafa. I'm an independent HubSpot consultant with 12 years of HubSpot work. I fix and build HubSpot portals, integrations and automation for teams in the US, UK and Australia. See my case studies or find me on LinkedIn.

Can't find your fix?

Book a free 30-minute call and show me what's happening in your portal. If it needs work, you get a written scope and one fixed price.

Book a free 30-minute call