Install guide
Installing a chat assistant on a Wix site
Wix has a proper admin panel for third-party tags, so no template editing is involved. The setting that decides whether the widget works for real visitors is not the placement, it is the consent category you assign the snippet to, and that one is easy to pick without thinking.
The tag
<script src="https://cdn.askably.xyz/w.js" data-key="pk_live_YOUR_KEY" defer></script>Your own key replaces the placeholder. You will find it on the install tab of the assistant.
The origin the page is served from has to be on the allowlist for that assistant, or nothing renders and the browser console says which origin was refused. An apex domain and its www are two different origins to a browser, so list both, along with any staging or preview host you want it to work on.
Where it goes on Wix
Settings, then Custom Code, then a new snippet applied to all pages and placed at Body end.
Custom Code needs a premium plan with a connected domain. On the free wixsite.com address the panel is not usable, so this is an upgrade first and an install second.
Step by step
- 1In the site dashboard open Settings, then Custom Code, and add a new snippet.
- 2Paste the tag into the code box and replace the placeholder with your own key.
- 3Give the snippet a name a colleague will still recognise in a year.
- 4Set it to apply to all pages, and choose to load it once rather than on each new page. The loader refuses to install twice on a page anyway, so loading it repeatedly buys nothing.
- 5Set the placement to Body end.
- 6Choose the consent category deliberately rather than accepting the first option. A support assistant a visitor opens on purpose is a different thing from an analytics tag, and the category you pick decides whether it ever loads.
- 7Publish, then open the live site in a private window and answer the consent banner the way a visitor would.
What goes wrong on Wix
The consent tool can hold the script indefinitely
Wix's own cookie consent tool gates custom code by the category you assigned it to. If a visitor never accepts that category, Wix never injects the tag, so there is no console message about a missing key and no refused origin. There is simply no script on the page.
The tell is that the widget works perfectly for you, because you accepted the banner months ago, and does not exist for a fresh visitor. Test in a private window and decline the banner on purpose to see what a large part of your traffic sees.
The free address and your domain are separate origins
A Wix site keeps its wixsite.com address after you connect a domain, and a browser treats the two as unrelated origins. If your allowlist has only the domain, any check you run on the wixsite.com address renders nothing and the console names the address it refused.
Custom code only exists on the published site
The snippet is stored in the dashboard, not in the page you are editing, so nothing you do in the editor or in its preview will show a launcher. Publish, then judge.
This also means an edit to the tag is not live until the next publish, and the panel does not remind you of that.
Origins to allowlist
These are the origins a Wix site is typically served from. List every one you want the assistant to answer on, including the ones only you visit.
- https://username.wixsite.com
- https://yourdomain.com
- https://www.yourdomain.com
How the tag behaves, wherever you put it
The rest of this is the same on every platform, so it is worth reading once rather than on each guide.
| One tag, nothing else | There is no second file, no stylesheet and no package to install. The tag is the whole install. |
|---|---|
| Where it goes | Immediately before the closing body tag. It works in the head too, because it defers, but the body keeps it out of the way of anything that measures render order. |
| data-key is required | Without it the loader stops and writes a warning to the browser console rather than rendering anything. |
| It finds itself | The loader reads the tag it was loaded from, and falls back to the first tag on the page carrying a data-key. Platforms that move or re-inject the tag do not break it. |
| It installs once | A second copy of the tag on the same page is ignored, so a template that renders twice does not produce two launchers. |
| Assets follow the tag | Everything else it needs is fetched from the same origin the tag was served from, so a proxy or a private domain needs no extra configuration. |
| The panel loads late | Only the small launcher is on the page at first. The conversation panel is fetched the first time a visitor opens it, in its own frame. |
| Styles cannot collide | The launcher renders inside a closed shadow root and the panel inside a frame, so nothing on the host page can restyle either, and neither can restyle the host page. |
Set up on Wix for a particular trade
The tag is the same everywhere. What is not the same is which of your pages the assistant can read once it is running, and on Wix that depends on what kind of site this is. These go one level further than this guide.
- For a salon or spaWix draws service prices and durations from its booking app, so the page a crawl receives holds no prices. Publish a text services page too.
- For a restaurantWix manages menus as app data, so a crawl of the menu page can come back with no dishes at all. Check what the page returns before indexing.
- For a gymThe usual advice is to crawl your live timetable. On Wix the schedule is drawn by a booking app, so that page has no class names in it.
- For a dental clinicOn Wix the snippet loads only after a visitor accepts the consent banner, and the patient with a broken tooth at midnight is the one who dismisses it.
Taking it off again
Open Settings, then Custom Code, find the snippet by the name you gave it, and delete it or switch it off. Publish afterwards so the live pages stop carrying it.
Before you remove it
- Removing the tag stops the widget on that site. It does not delete the assistant, its material, or the enquiries it has already collected.
- If you are moving the widget to a different host rather than retiring it, add the new origin to the allowlist before you remove the old tag, or there is a window where neither works.
Questions
- Which consent category should I put it in?
- That is a decision about your own site rather than one we can make for you, but treat it seriously. Filing a support assistant under a category most visitors decline means most visitors never get it. Whatever you choose, describe it accurately in your own consent copy.
- Why can I see the launcher and my visitors cannot?
- Nine times in ten this is consent. Your browser already holds an acceptance for the category you filed the snippet under and a new visitor's does not. Reproduce it in a private window before assuming the key or the allowlist is wrong.
- Will it clash with Wix's own chat?
- Not technically, but visually yes. Two launchers anchored in the same corner fight for the same space and the visitor has to guess which one reaches a person. Pick one and turn the other off.
- What should a Wix site index?
- The pages that already answer questions: services, pricing, hours and location, the FAQ, and your policies. A crawl of your own public pages reads what a visitor reads, and anything you left unpublished is not read.
Keep reading
- Install on WebflowProject settings, then the Custom code section, then the field for code before the closing body tag.
- Install on SquarespaceSettings, then Advanced, then Code Injection, then the Footer field.
- Install on FramerSite settings, then the custom code section, then the field for the end of the body tag.
- Every install guideThe same one line of HTML, and where it goes on each platform.
Try it on your own material
Upload a document or point it at your site, paste one line of HTML, then ask it something only your business could answer.