Add a cookie consent banner to a Wix site

Cookbook · platform View raw markdown (for agents)

In short: add the live snippet in Settings → Custom Code, applied to All pages and placed in Head.

You need #

Where it goes #

Steps follow Wix: embedding custom code and Wix: categorizing custom code.

  1. Copy the live snippet (see above).

  2. In the site dashboard open Settings → Custom Code (listed under Development & integrations) and click + Add Custom Code.

  3. Paste the snippet:

    <script>
        var huOptions = { "appID": "YOUR_APP_ID", "currentLanguage": "en", "blocking": true, "globalCookie": false };
    </script>
    <script src="https://cdn.hu-manity.co/v2/hu-banner.min.js" type="text/javascript" charset="utf-8"></script>
    
  4. Name the entry (for example "Cookie Compliance"). Under Add Code to Pages choose All pages, and under Place Code in choose Head.

  5. Click Apply. If Wix asks how often to load the code, choose the option that loads it on each page the visitor opens.

Wix files custom code under Essential by default, which loads it straight away. That is the right setting for the banner snippet.

Wix connects Google Analytics, Google Tag Manager and the Facebook and TikTok pixels through its marketing integrations rather than Custom Code. Keep using those integrations, and run verify-install to see how each one behaves before the visitor chooses.

What the order controls #

The banner holds recognised trackers that load after it until the visitor chooses, in regions whose rule requires consent first. A script placed above the snippet runs straight away, and a script you mark data-hu-category="1" is treated as essential. What runs before consent is your decision, so keep analytics and pixels below the snippet. Tags connected through Wix's own integrations are loaded by Wix, outside this ordering.

Confirm the result #

View the page source of the published site, not the editor or its preview (use the browser's View Source, not the Elements panel): the huOptions script and hu-banner.min.js are in <head> as plain synchronous tags (no async or defer).

Then run the browser checks in plain-html in a private window (banner shows, no tracking cookies before the visitor chooses in a region whose rule requires consent first, trackers start after Allow) and, for the full procedure, verify-install. Test from a region your strictest rule covers (for example the EU), or confirm region rules are off.

Gotchas #

More help #