Switching to Flat Consent
Most cookie tools charge more as your site gets busier, by pages, pageviews, banner views or visitors. Flat Consent charges one price per site. Each comparison below uses the other tool’s own pricing page, with the date we checked it, and says where that tool is the better choice.
- Flat Consent vs CookiebotPer domain, with the plan set by how many subpages each domain has. Subdomains count as separate domains. Free plan: one domain with up to 50 subpages.
- Flat Consent vs CookieYesPer domain, by pageviews each month. Free plan: 5,000 pageviews a month.
- Flat Consent vs TermlyBy how many times the banner is shown each month. Free plan: 10,000 banner views a month.
- Flat Consent vs OsanoBy monthly visitors and number of domains. Free plan: one domain and 5,000 visitors a month.
What stays the same when you move
Your visitors see a banner in your site’s colours, asked the way the law requires where they are. Analytics and ads wait for a yes, and each choice is recorded in an EU database. If you use Cookiebot, we copy your banner text, colours and cookie list across.
How much each banner makes visitors download
On 27 September 2026 we requested the files each tool’s banner loads on a visitor’s first visit, from the United States, and counted the bytes. Transferred is what came over the network with compression. Uncompressed is the size of the code and settings the browser then has to read.
| Tool | Transferred | Uncompressed | Files |
|---|---|---|---|
| Flat Consent | 14.0 KB | 38.3 KB | 2 |
| Cookiebot | 106.0 KB | 513.7 KB | 2 |
| CookieYes | 29.9 KB | 122.0 KB | 7 |
| Termly | 143.9 KB | 470.3 KB | 1 |
| Osano | 46.2 KB | 171.7 KB | 1 |
For each tool we requested the script its own install instructions tell sites to add, using a real site’s id, then the files that script loads before the visitor chooses, where the script’s code shows what they are. Each request asked for br or gzip compression, as browsers do. HTTP headers are not counted. The requests came from a script, not a browser, in one place.
- Flat Consent, measured on a live Flat Consent site (site id 11bd19565e214e9f). Counted: the banner script and the site settings it fetches (/cfg/, one language). Not counted: the site settings answer depends on where the visitor is; this is the answer for where the script ran. Install instructions
- Cookiebot, measured on a live online shop using Cookiebot (cookiebot.com’s own pages don’t include the tag). Counted: uc.js and the cc.js it loads (banner, text and the site’s cookie list). Not counted: anything cc.js loads after that (for example the icon for reopening the banner). cc.js carries the site’s whole cookie list, so its size depends on how many cookies the site declares. Install instructions
- CookieYes, measured on cookieyes.com (CookieYes’s own site). Counted: script.js, banner.js, the rule list, the location lookup, the banner settings, its translation and its cookie table (English). Not counted: the rule list picks a banner by where the visitor is; this is the banner for where the script ran. Install instructions
- Termly, measured on termly.io (Termly’s own site). Counted: the resource-blocker script only. The site’s settings are inside it. Not counted: the script has the visitor’s location and the site’s settings written into it, so it differs a little by place. Further parts the script can load on demand (it is built to fetch extra chunks, for example for IAB TCF); we did not work out which load on a first visit. Install instructions
- Osano, measured on osano.com (Osano’s own site). Counted: osano.js only. The site’s settings are inside it. Not counted: further parts osano.js can load on demand (extra chunks, wording from locale.cmp.osano.com); we did not work out which load on a first visit. Install instructions
These are download sizes for one site per tool. They don’t show how long a page takes to load or how much work the browser does running each script, and another site on the same tool will differ with its own settings. What each tool sends after a visitor chooses is not counted for any of them.