Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Artificial Intelligence
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries ⟶
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    • Affiliate Program
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Website
  3. MuK Cookie Consent v 19.0
  4. Sales Conditions FAQ

MuK Cookie Consent

by MuK IT http://www.mukit.at
Odoo
v 19.0 Third Party 204
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0 20.0
You bought this module and need support? Click here!
Versions 16.0 17.0 18.0 19.0 20.0
  • Description
  • Manifest
  • Documentation

MuK Cookie Consent

Ask properly. Prove it. Block until you may.

MuK IT GmbH - www.mukit.at

Community Enterprise

Overview

Odoo's built-in cookies bar asks one question: everything, or only the essentials. Regulators expect a choice per purpose, a refusal that is as easy as consent, and records that show what a visitor agreed to. This module replaces the bar with a consent manager that does all three, and keeps the rest of Odoo's own cookie plumbing intact while doing it.

No vendor account, no subscription, no external script and no second product to buy. Everything runs inside your Odoo, on Community and Enterprise alike.

A Real Choice, On The First Layer

Refuse all and Accept all sit side by side on the first layer, in the same variant and the same size. That parity is built into the template rather than offered as a setting, because a banner that quietly favours one answer is the pattern supervisory authorities actually sanction. Nothing optional is pre-ticked, and pre-ticking is refused on save. Escape never counts as a decision, in either direction — and a visitor who reopens the banner just to look can leave it again without touching the choice they already made.

Blocked Per Service, Not All Or Nothing

Register the services you use and the hosts they load from. Scripts and embeds belonging to a service whose purpose has not been granted are removed from the page server-side, before the browser ever sees them, so nothing races a script blocker. Granting statistics stops blocking your analytics without also releasing your advertising pixels.

A blocked video or map leaves a notice in its place. Clicking it allows that one embed, and nothing else — a service you mark ask in place only is never released by a purpose, not even by Accept all. Google Consent Mode v2 is signalled with all seven signals, in basic or advanced mode, for whichever Google tag your site already loads, and Plausible is consent-gated too, which the built-in bar does not do.

Set It Where You Can See It

How the banner looks belongs in the website editor, not in a settings page you cannot see it from. Select the Cookies Bar block and choose its layout — a bar top or bottom, a box in either corner, a centred dialog — its density, whether the footer carries the way back to the choice, and which corner holds the floating button. The notice text itself is edited in place like any other content, while the parts generated from your registry stay protected from accidental edits.

What is left under Settings is the handful of decisions that carry legal weight rather than taste: blocking, Consent Mode, Global Privacy Control, consent proof, the policy link and the policy version.

Proof You Can Actually Produce

Every decision is recorded with what the visitor was shown, not only what they chose: the policy version, a fingerprint of the cookie registry in force, the banner version, the language, the resolved country and region rule, the purposes granted and the purposes refused, and a salted hash of the truncated IP — no readable address is kept. Records are append-only: a later decision is filed as its own record instead of overwriting the earlier one, which is what makes the log worth producing.

Adding a purpose, a service or a cookie asks your visitors again by itself, because consent given against an older disclosure does not cover a new one. You can see it in the log: the fingerprint changes, and the decisions taken after it are the ones that still count.

A Registry That Already Knows Odoo

The declarations ship filled in for what Odoo itself stores on a visitor's device: the session, language and company cookies, the timezone, the live-update and presence keys, the basket count, a live chat, a survey in progress, the UTM attribution cookies, and the storage the Enterprise appointment and push notification features use. Each one carries its provider, purpose, retention and type, and every strictly-necessary classification carries the reason it is necessary — which is the part you have to be able to defend.

A weekly scan walks your own pages and lists the cookies they set, the storage keys their scripts write and the third-party hosts they load. What no declaration covers is put up for review, so a pixel someone pasted into the page turns up as a task rather than as a surprise in an audit.

A Cookie Policy Built From The Registry

The policy page is generated from the same declarations the banner gates on, so the two always agree with each other. Point the banner at your own legal page instead if you keep one, and the rest still follows the registry.

Region rules decide how long a decision is relied on, with presets for the EU/EEA, the UK and Switzerland. Each preset names the authority behind its figure, and where no figure has been published it says so instead of inventing one.

Built To Be Used By Everyone

The dialog is a real role="dialog" labelled by its own heading, with switches operable by keyboard, 24 px minimum targets and no control hidden from assistive technology. Modality is claimed only where it is true: the notice leaves your page usable and does not steal focus, while the preference centre covers the page, announces itself as modal, keeps Tab inside it and hands focus back on close. It is built to WCAG 2.2 AA, which matters twice over: an inoperable banner cannot produce informed consent, so the cookies it sets have no valid basis.

Everything renders server-side, in the initial HTML. The banner costs no request to appear, reserves its own space rather than shifting your layout, and adds no third-party request, no external domain and no vendor script to your pages. It ships in English, German, French, Spanish and Italian.

More Apps from MuK IT

MuK LLMs.txt & Markdown

MuK LLMs.txt

AI-Ready Website
View Module ›
MuK Backend Theme

MuK Backend Theme

Backend Theme
View Module ›
MuK Webhooks

MuK Webhooks

HTTP Callbacks
View Module ›
MuK REST API

MuK REST API

REST API
View Module ›

All MuK Apps

Browse
View All ›

Want more?

Are you having troubles with your Odoo integration? Or do you feel your system lacks of essential features?
If your answer is YES to one of the above questions, feel free to contact us at anytime with your inquiry.
We are looking forward to discuss your needs and plan the next steps with you.

REQUEST QUOTE

Our Services

Odoo
Development

Odoo
Integration

Odoo
Infrastructure

Odoo
Training

Odoo
Support

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Website (website)
• Discuss (mail)
Lines of code 4471
Technical Name muk_website_cookies_consent
LicenseLGPL-3
Websitehttp://www.mukit.at

MuK Cookie Consent

Replaces the built-in cookies bar with a real consent manager. Visitors consent per purpose instead of all-or-nothing, every decision is recorded as proof, third-party scripts and embeds are blocked per service until their category is granted, and Google Consent Mode v2 is signalled automatically.

Installation

To install this module, you need to:

Download the module and add it to your Odoo addons folder. Afterward, log on to your Odoo server and go to the Apps menu. Trigger the debug mode and update the list by clicking on the "Update Apps List" link. Now install the module by clicking on the install button.

Upgrade

To upgrade this module, you need to:

Download the module and add it to your Odoo addons folder. Restart the server and log on to your Odoo server. Select the Apps menu and upgrade the module by clicking on the upgrade button.

Configuration

Consent management follows Odoo's own switch: turn on Cookies Bar under Website > Configuration > Settings > Privacy, and this module takes over the banner. The Cookie Consent section of the same page then offers:

  • Block Before Consent: strip scripts and embeds of a service until its purpose is granted, replacing embeds with a notice.
  • Google Consent Mode: Basic withholds Google tags until a purpose they serve is granted, so a refusal keeps them unloaded. Advanced loads them immediately and allows cookieless pings, which recovers conversion modelling but sends data before any consent. Basic is the default.
  • Global Privacy Control: treat a Sec-GPC request header as a refusal of everything optional, and optionally publish /.well-known/gpc.json.
  • Consent Proof: record every decision, optionally with a salted hash of the truncated visitor IP. No readable address is stored.
  • Policy Link: where the banner sends visitors for the full policy. Empty uses the page Odoo publishes at /cookie-policy, which lists your declarations on its own.
  • Policy Version: raising it asks every visitor again.

How the banner looks is set where you can see it, in the website editor: select the Cookies Bar block in the sidebar for its Layout, its Density, the Footer Link and the Floating Button that bring a visitor back to their choice.

Captured keys, purposes, services, declarations and region rules live under Website > Configuration > Cookie Consent. The consent log sits under Website > Reporting > Consent Logs. Website editors may read it; only a system administrator may change or delete a record, and even then the model refuses anything but the retention purge.

Usage

A first-time visitor is asked before anything optional runs. The first layer offers Refuse all, Accept all and Manage choices; the second layer lists every purpose with the cookies it covers, taken from your own declarations.

Nothing optional runs until the visitor agrees:

  • Cookies are gated per purpose. Odoo's own optional cookies, such as UTM attribution, follow the marketing purpose.
  • Scripts and embeds belonging to a service whose purpose is refused are removed from the page server-side, before the browser sees them. A refused embed shows a notice in its place; clicking it allows that one embed without changing any other choice.
  • A service marked Ask In Place Only is never released by a purpose, not even by Accept all. It stays blocked until the visitor allows it where it stands, which is how the seeded video and map services are set up: consent to a purpose is not consent to load a named third party into the page.
  • Google Consent Mode v2 is emitted with all seven signals, wait_for_update, ads_data_redaction and url_passthrough, for whichever Google tag your site already loads. Deploying that tag stays Odoo's job, not this module's.
  • Plausible is consent-gated, which the built-in bar does not do.

Every decision reloads the page. Scripts that already ran cannot be unloaded, so a reload is the only way a withdrawal actually takes effect.

A decision stops being relied on when it expires, when you raise the policy version, or when the cookie registry itself changes: adding a purpose, a service or a declared cookie asks visitors again automatically, because consent given against an older disclosure no longer covers the new one.

The seeded declarations cover what Odoo itself stores on a visitor's device: the session, language and company cookies, the timezone, the live-update and presence keys, the basket count, a live chat, a survey in progress, the UTM attribution cookies and the storage the Enterprise appointment and push notification features use. Everything Odoo can set is declared, whether or not the app that sets it is installed, so archive the rows you do not need. Your own third parties are yours to add as services, and a weekly scan of your own pages lists what they set and load under Captured, with anything no declaration covers put up for review. Storage keys are read from the scripts that write them, since a scan runs on the server and cannot open the browser's storage. Blocking works on script and iframe sources, so a link to a font service cannot be held back: serve those from your own server if they must not load before consent.

Region rules decide how long a decision is relied on. The shipped presets cover the EU/EEA, the UK and Switzerland, with per-country retention where an authority has published one, and each preset names its source.

Each consent record stores what the visitor was shown, not only what they chose: the policy version, a fingerprint of the cookie registry in force, the banner version, the language, the resolved country and region rule, the granted and the refused purposes, and a salted hash of the truncated IP. Records are append-only and pruned by a weekly scheduled action after three years.

Credits

Contributors

  • Mathias Markl <mathias.markl@mukit.at>

Author & Maintainer

This module is maintained by the MuK IT GmbH.

MuK IT is an Austrian company specialized in customizing and extending Odoo. We develop custom solutions for your individual needs to help you focus on your strength and expertise to grow your business.

If you want to get in touch please contact us via mail (sale@mukit.at) or visit our website (https://mukit.at).

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with