widget.js writes its own messages there, each starting with [wiredesk].
Start with the install check
Open Agents → your agent → Install. The card at the top shows whether a real page has loaded the widget:- Live on …: a page loaded it in the last 15 minutes.
- Installed on …: it has loaded before, but not recently.
- Not installed yet: no page on another site has loaded it.
1. Is the tag on the live page?
Open the live page, not a staging or editor preview, and view its source. Search forwiredesk.ai/widget.js. If it is not there, the problem is upstream of WireDesk:
- The tag was added to a template this page does not use.
- The change was saved but never published.
- A page cache is still serving the old HTML. Purge it once. Caching plugins such as WP Rocket or LiteSpeed are the usual cause.
2. Was the tag manager container published?
Google Tag Manager keeps changes in a workspace until you publish a version. In a preview session the tag fires perfectly while the live site has nothing. This is the most common cause on sites that use a tag manager.1
Check the container is published
A previewed tag is not a published tag. Submit the workspace.
2
Check the trigger
Use All Pages, unless you want the widget on fewer pages. A trigger that never matches behaves the same as a missing tag.
src and reads data-widget from it.
3. Is the domain on the allowed list?
If the widget has allowed domains, a site that is not on the list is refused:- The config request answers
403with{"error": "this widget is not allowed on this domain", "domain": "…"}. The launcher may still draw, in the default style, and the console shows thecould not load the widget configwarning described below. - The conversation frame is served with a
frame-ancestorspolicy that leaves out your site. When the visitor opens the panel, the browser refuses to render it, and the console reports the blocked frame.
localhost while developing.
4. Is your own Content-Security-Policy blocking it?
If your site sends aContent-Security-Policy, it has to allow WireDesk in these directives:
A blocked script or a refused frame appears in the console as a named CSP error, not a silent failure.
Console warnings
Each messagewidget.js logs, and what it means:
The config endpoint’s possible errors:
Still nothing
- A duplicate tag is not the cause. A second copy of the script stands down rather than drawing a second bubble.
- Try a private window with extensions off. An ad or tracker blocker in your own browser can hide the launcher while every customer sees it.
- Check the page width. If Hide on phones is on, or the page sets
data-hide-on-mobile="true", the launcher is hidden at 480 px wide or narrower. - Check your own code. A
wiredesk("hide")call hides the launcher untilwiredesk("show"). Also check that no overlay of yours sits above the launcher’s stacking order. - Allow a few minutes after a WireDesk update.
widget.jsis cached for up to five minutes.