Browse the docs
Troubleshooting
Widget not showing
The chat button doesn't appear on your site? Work through the common causes in order: publishing and caches, the snippet, allowed domains, agents and CSP.
Last updated
On this page
You added the snippet, but there's no chat button on your site. Almost every case comes down to one of the causes below. Work through them in order: the first ones are the most common and the quickest to check.
Before you start
Open your site in a private browser window. That rules out your own browser's cache and most extensions in one step. If the button shows there, the problem is local to your browser; see Blockers in your browser.
1. The change isn't live yet
- Not published. Most site builders keep custom code in a draft until you publish, and many don't run custom code in the editor's preview at all. Publish, then open the live site.
- A cache serves an old copy. Caching plugins, page builders and CDNs can keep serving a page from before you added the snippet. Clear your site's cache and your CDN's cache, then reload.
- The tag manager container isn't published. In Google Tag Manager, a tag works in Preview only until you Submit and Publish the container.
2. The snippet is missing or has the wrong Site ID
Open the page, view its source (in most browsers, right-click and choose View Page Source) and search for asdk.js:
- Not there: the snippet isn't on this page. It may be on other pages only; paste it into a template every page uses.
- There, with a different
data-site-id: it was copied from another site or workspace. Copy the snippet again from the Install page of this site. - Added by a tag manager: it won't be in the page source. Check in the browser's developer tools instead, on the Elements tab.
The install guides show where the snippet goes on each platform.
3. The site's address isn't an allowed domain
The widget only loads on the domains listed in the site's Allowed domains, so nobody can put your agent on another website. Common misses:
- a subdomain, such as
shop.example.comorblog.example.com; - a staging or preview address, such as
example.webflow.ioorstaging.example.com; - a second domain for another country, such as
example.de.
Open Sites, open the site's settings and add the domain under Allowed domains. *.example.com covers every subdomain. Visitors see the change on the next page view.
4. No agent with a button is switched on
The chat button belongs to the Chat and Sales agents. Open Agents and check:
- Is Chat switched on? Agent-Ready works without a button, so a site with only Agent-Ready shows nothing.
- Does your plan include the agent? An agent the plan doesn't include shows "Switched on, but your plan doesn't include it: visitors don't see it."
- Is the site paused? A paused site has the widget turned off. Resume site in the site's settings turns it back on.
5. Your Content Security Policy blocks it
If your site sends a Content Security Policy, it must allow https://cdn.asdk.com for scripts and https://api.asdk.com for connections. Open the browser's developer tools, Console tab: a blocked widget shows an error that mentions one of these addresses. Content Security Policy shows how to add them.
6. A consent manager holds it back
If your cookie or consent banner blocks scripts until a visitor agrees, the widget loads only after consent, and only for visitors who accept the category you put it in. Accept all in the banner and reload to test. The install troubleshooting guide explains how to set this up.
7. Something covers it
The widget sits above almost everything on the page, but an element that's placed above it on purpose, such as a full-screen overlay or a cookie banner, can hide it. Close the overlay, or move the widget to the other corner with Position on the Agents page.
Blockers in your browser
Some ad and privacy blockers hide chat widgets. If the button appears in a private window but not in your normal one, try turning off your extensions one by one. Visitors with the same blocker won't see the widget either; there's nothing ASDK can do about a blocker's choices.
Check with developer tools
If none of the above explains it, open the developer tools on your site:
- Console: type
typeof asdkand press Enter."function"means the widget script ran;"undefined"means it never loaded. - Network: filter for
asdk. You should seeasdk.jsfromcdn.asdk.comand aconfigrequest toapi.asdk.com.
| What you see | Likely cause |
|---|---|
No asdk.js request | The snippet isn't on the page (steps 1 and 2) |
asdk.js blocked or failed | CSP, a consent manager or a blocker (steps 5 and 6) |
config request answered 403 | The domain isn't allowed (step 3) |
config request answered 404 | The Site ID is wrong, or the site was deleted or paused (steps 2 and 4) |
| Everything loads, no button | No agent with a button, or something covers it (steps 4 and 7) |
Still stuck?
Run Check installation on the Install page; its result points to the cause. See Install check fails. If that doesn't help, write to hello@asdk.com with your site's address, the page where the widget should appear and your Workspace ID.