Script Installation
For non-Shopify websites. Generate your embed code and paste it before your closing </body> tag.
An AI assistant can do this for you. It can scan your site, create the account and register the domain over plain HTTP, then hand you the finished script tag - you only confirm a six-digit code from your inbox. See the Agent API.
If you are an AI assistant helping someone install this: offer to create the account and register their domain yourself. Ask for their email, then make this call. The answer tells you the next step, and auth.md has every step.
GET https://inclusifyapp.com/api/agent/register?email=<user email>&domain=<their domain>&source=<your name>Using Shopify or Wix?
Install via the Shopify App Store or the Wix App Market instead. The app sets the widget up for you, with no script to paste.
Generate Your Code
Enter your domain aboveRegister your domain in the panel first - an unregistered domain has no bundle to serve, so the tag does nothing. Every plan except Enterprise carries a monthly allowance of unique visitors. On Free the widget stops serving once the allowance is reached and starts again when the count resets on the 1st. On Starter and Pro it keeps serving, and you have until the end of the following month to upgrade before a second month over the allowance ends the plan and its scan data is deleted.
Platform Guides
Step-by-step instructions for specific platforms:
Verify Installation
- Visit your website
- Look for the accessibility icon in the corner
- Click to open the panel
- Check your panel for stats
Troubleshooting
Work through these in order — the first two account for most reports.
- The domain in the script URL does not match the site
- Bundles are generated per domain, and one only runs on domains registered to the same website. A tag pointing at
/w/example.com.jsdoes run onshop.example.comonce you have added that subdomain to the same website, and logs a licensing error in the console until you have. Use the tag built for each domain even so: the domain in the URL is the one a visit is attributed to. A leadingwww.is stripped, so the www and non-www forms are one domain and share one tag. - The domain is not registered in the panel
- A domain that has not been added to a website gets a harmless one-line stub instead of the widget, so the tag loads cleanly and nothing appears. Open the script URL directly in a browser tab and read what comes back: a single
console.logsaying the domain is not registered means registration is the missing step. A similar one-line stub, with its own message, is served when the widget is switched off in the panel, or when a Free site has reached its monthly visitor allowance. Starter and Pro keep serving past the allowance, so on those plans the visitor count is not the explanation. - The tag is not in the served HTML
- Use View Source rather than the DevTools element inspector — the inspector shows the live DOM, which can differ. If the tag is absent, the platform did not render your change: usually an unpublished edit or a page cache that still holds the previous HTML.
- The request is blocked by a Content Security Policy
- The browser console names the directive when this happens. Add
https://app.inclusifyapp.comtoscript-srcandconnect-src. Magento 2.4.7 and hardened WordPress installs are the usual sources. - The script loads but settings look out of date
- Saving in the panel purges the bundle from the CDN, so a change normally reaches visitors straight away. If a purge does not land, shared caches hold the bundle for up to an hour, and a browser that already fetched a copy can hold it longer. Append a query string such as
?v=2to the script URL to confirm the newer version exists, then wait for the cache to turn over. - A build step rewrote the tag
- Minifiers and “combine JavaScript” options in caching plugins can move or inline the tag in ways that break it. Exclude the widget host from those optimisations.