Consentio

A cookie banner you add to your own site. It asks visitors what they allow, remembers the answer, and tells your tracking tags what to do about it.

You host it yourself. It is one script file and the settings files it reads — no account, no server, nothing running anywhere but the visitor’s browser. It suits a static site, or any site whose HTML you can edit.

There is no npm package and nothing to import. You copy two files into your site, or serve them from a CDN at a version you pin. Apache-2.0, no dependencies.

  • Put it in your HTML

    One <script> tag at the top of your pages. Pick this if you can edit your own HTML.

    Set it up this way
  • Use Google Tag Manager

    One template, on one trigger. Pick this if everything on your site already runs through a container.

    Set it up this way
  • Something is wrong

    The banner will not show, it comes back every time, or your tags fire before anyone answers.

    Fixes for the common ones

🧭 Choose a route first

There are two ways to install it, and they are not the same. One is a script tag in every page’s <head>; the other is a template in your container. The container covers only what it loads; a script or an embed pasted into a page is held back by marking it, on either route.

Choose a route puts the two side by side — what each can stop, what each costs, where the words and the settings come from.

🚫 Pick one

Install both and, on a page where the script tag ran, the Tag Manager template stands down and says so on the console. An older template does not, and you get two banners that do not know about each other.

📂 The rest of the documentation

Start at the top. The reference is split by route: read your route’s pages, then the ones both share.

Start here, and set it up

Page What is in it
How it works load order, what runs when, and why the script cannot wait
Try it on this page the live banner, and a button that clears your answer so it shows again
Try it through a tag manager the page that never has the script tag, for checking that both ways agree about the same visitor
Choose a route the two ways to install, side by side
Put it in your HTML four steps, then the detail
Use Google Tag Manager four steps, then the detail
Hold a script until consent one attribute on a script tag, and it waits for the visitor’s answer
Troubleshooting symptom, cause, fix

Reference: HTML route

Page What is in it
The loader tag every attribute on the tag, which ones win, what it leaves on window
The settings file every key, the four categories, the older single file that was removed

Reference: Tag Manager

Page What is in it
The tag the three pickers on the template, the three ways a file reaches each, the language choices, the permissions
Language packs to paste the published packs as variables to paste into a container

Reference: both routes

Page What is in it
The language pack every word the banner shows, and how to load a published pack or your own
The cookie table the file that lists the cookies your site sets, one row each
The cookie catalogue rows for the cookies common tools set, to copy into your own table
The cookie what it stores, how long it lasts, and what to put in your cookie policy
What it tells Google exactly what Consentio sends, and how to check it arrived
Events how to run your own code when someone answers
Asking everyone again how to throw away every stored answer, and when that is the right thing

🏁 Versions

This site describes 1.0.2, and it is the newest published version.

If you are upgrading from 0.0.4: remove async or defer from the script tag. In 0.0.4 marking it async stopped the banner working with no warning at all; the script has to block, and now it says so. Nothing else changes for you.

If you use the Tag Manager template, download the new .tpl from the release and import it over the one in your container. Nothing tells you a new one exists; the template you imported keeps loading the banner version it was built against.

Pin an exact version wherever you load the files from. A URL that follows the newest release will change what your site runs without you touching anything.

📄 Licence

Apache-2.0. No runtime dependencies.