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
Set it up this way<script>tag at the top of your pages. Pick this if you can edit your own HTML. -
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.