Consent
Keep the cookie and ask first — with trckable's own bar, or by reading the consent manager you already run.
There are three honest positions, and trckable supports all three.
| What the visitor gets | What you get | |
|---|---|---|
| Cookieless mode | Nothing stored on the device | Counts that are right within a day |
| Cookie consent → trckable's bar | One question, one cookie | A stable visitor once they agree |
| Cookie consent → Read my banner | Your existing consent manager | The same, through the banner you run |
The last two are one module — Cookie consent — with a choice inside it, because they answer the same question. Settings → Data & privacy → Cookie consent → How you ask. The browser downloads only the way you picked.
Whichever you pick, the same rules hold:
- Until the visitor answers, what the page sends waits in the browser's memory; nothing is sent and nothing is stored.
- They accept: the waiting page goes, with the cookie, and so does everything after it.
- They decline: the waiting page is dropped, and nothing more is sent. A visitor who declines is not counted at all, with or without a cookie. Do Not Track and Global Privacy Control count as declining.
- They leave without answering: the page they saw is counted without a cookie, the way cookieless mode counts it.
- A banner's default ("denied" before anyone has clicked) is not an answer. Only a click is.
trckable's cookie bar
For sites with no consent manager at all. It asks about trckable's one cookie and says so; it does not pretend to cover the video, fonts, chat or ads on the same page. If you have those, you need a real consent manager for them.
It adds 1,026 bytes to the browser script.
What it does:
- Until someone answers, the script stores nothing and sends nothing; the rules above say what happens next.
- Refusing is one click, the same size as agreeing. That is a legal requirement in the EU and a decency requirement everywhere.
- A browser already sending Do Not Track or Global Privacy Control is never asked, and never counted. It has answered.
- Their answer — yes or no — is the one thing kept in the browser before consent, because a refusal forgotten on the next page is not a refusal. The privacy paragraph says so.
- Withdrawn consent deletes the cookie rather than ignoring it.
Making it yours
Settings → Data & privacy → Cookie consent → trckable's bar. The wording in any language, the colours, where it sits, the corner radius — and your own CSS for anything those cannot do. The preview on that page is the real bar: same markup, same stylesheet.

The bar lives in a shadow root, so your stylesheet cannot reshape it and its stylesheet cannot leak into your page. Inside that root the selectors are short:
div /* the bar */
p /* the sentence */
a /* the policy link */
button /* agree */
button.no /* refuse */And its own settings are custom properties on :host:
:host {
--tkb-bg: #0a2540;
--tkb-fg: #ffffff;
--tkb-button: #00d4ff;
--tkb-button-fg: #0a2540;
--tkb-round: 4px;
--tkb-at: auto 12px 12px auto; /* where it sits */
--tkb-width: none;
--tkb-font: 15px/1.5 Inter, sans-serif;
--tkb-shadow: none;
}Your CSS is added last, so it wins over everything above.
A change reaches visitors within the hour: the settings ride in on your site's own script, which is cached for 3,600 seconds.
Reading the banner you already run
If you have Cookiebot, Usercentrics, CookieYes, Osano, Complianz, Termly or anything else, keep it. Turn on Cookie consent, choose Read my banner (325 bytes), and trckable reads the answer.
Two standards are understood, because they are what banners actually speak:
- Google Consent Mode v2 — the
dataLayeryour manager orgtagwrites to. trckable reads that array; it never wrapsdataLayer.push, because Google Tag Manager replaces it when it loads and a wrapper would quietly disappear. - IAB TCF v2.2 —
__tcfapi, with purposes 1 (storing on the device) and 8 (measuring content performance). Outside the EU the framework says so itself and consent is not required.
Before an answer arrives, the rules at the top of this page apply: nothing is sent until the visitor answers or leaves. Only the manager's update ('update', or TCF's answer once the visitor has acted) is an answer; its default is not.

Any other banner
One call, and it costs no bytes at all because it is part of the core script:
// the visitor accepted statistics
trckable('consent', true)
// they refused, or changed their mind: the cookie is deleted, nothing more is sent
trckable('consent', false)Call it from your manager's own callback. Every consent manager has one.
What this does not do
trckable's bar is not a consent management platform. There is no category list, no vendor list, no IAB registration and no consent log with proof of who agreed to what. If you need those, use a CMP and let trckable read it.