Skip to main content
Google Consent Mode v2 for Odoo — A build-to-order Odoo module that wires Google Consent Mode v2 into your Odoo website, gati — 1/1Illustrative preview

A build-to-order Odoo module that wires Google Consent Mode v2 into your Odoo website,

gating analytics and advertising tags behind a real consent state instead of firing them on page load.

ECOSIRE scopes, builds, installs and supports it — typical delivery one working week from confirmed scope.

What is Google Consent Mode v2 for Odoo?

A build-to-order Odoo module that wires Google Consent Mode v2 into your Odoo website, gating analytics and advertising tags behind a real consent state instead of firing them on page load. ECOSIRE scopes, builds, installs and supports it — typical delivery one working week from confirmed scope. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Pushes a Consent Mode v2 `default` state (ad_storage, analytics_storage, ad_user_data, ad_personalization = denied) with `wait_for_update` before `gtag.js` loads
Website-scoped asset bundle in `__manifest__.py` guarantees the consent framework initializes ahead of every Google tag
Granular mapping of banner choices to each of the four v2 consent parameters, not a single all-or-nothing toggle
Region-aware default policy (EEA/UK deny-by-default) driven by server-side configuration, with per-region overrides
OWL/JS consent widget with accept-all, reject-all, and category-level choice, styled to match your Odoo theme
Consent state re-emitted as a single `gtag('consent','update', ...)` call only after visitor action, preserving pre-consent modeling
Optional tag-manager consent-initialization so container tags inherit the state instead of firing on load
Odoo `res.config.settings` extension for tracking IDs, region rules, and product mix — no theme code editing
Backing `models.Model` for consent policy plus an anonymized per-visitor consent log with `@api.depends` computed status
Access control via `ir.model.access.csv` and record rules so consent logs are restricted to authorized groups
Consent-audit QWeb report over a date range or visitor for demonstrating compliance posture
Consent records exposed over XML-RPC/JSON-RPC for downstream reporting and reconciliation
Automated action (server action / cron) to age out or anonymize stored consent logs per your retention policy
Built and tested for Odoo 17.0 / 18.0 / 19.0 on Community or Enterprise, with edition-specific website hooks handled

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

If you run marketing on an Odoo website, your Google tags almost certainly fire before anyone has chosen to be tracked. A plain <script> snippet pasted into the theme, or a tag-manager container loaded on every page, sets analytics and advertising cookies the moment the DOM renders — with no default consent state, no regional gating, and no audit trail. That is exactly what EU/EEA and UK privacy enforcement now targets, and it is why Google's advertising and measurement products increasingly refuse to model conversions or build audiences from traffic that arrives without valid consent signals. Odoo core gives you a cookie bar and a place to drop a tracking ID, but it does not implement Consent Mode v2: there is no default-deny state, no gtag('consent', ...) orchestration, no mapping of banner choices to the four consent parameters, and no persistent record of what a given visitor allowed.

We build a dedicated Odoo module that implements Google Consent Mode v2 end to end on your Odoo-hosted website. The module ships its own __manifest__.py declaring a website-scoped asset bundle (web.assets_frontend) that loads the consent framework before any Google tag. It pushes a default consent state — ad_storage, analytics_storage, ad_user_data, ad_personalization all set to denied, plus wait_for_update — into the data layer ahead of gtag.js, then emits a single update call only after the visitor acts on the banner. Banner choices are captured in an OWL/JS consent widget and mapped granularly to each parameter, with region-aware defaults driven by server-side configuration so EEA/UK visitors start denied while other regions can follow your chosen policy. Where you use a tag-manager container, we wire the same signals through consent-initialization so downstream tags inherit the state rather than firing blind.

On the Odoo side, consent policy and per-visitor consent records are backed by real models (models.Model with typed fields, @api.depends computes for derived status, and an anonymized visitor/consent-log model). Access is locked down with ir.model.access.csv plus record rules so consent logs are readable only by the right groups, and settings live in a res.config.settings extension exposed through a clean backend view (XML views, optionally an OWL component). The consent state is retrievable over Odoo's XML-RPC/JSON-RPC API for downstream reporting, and a QWeb report can render a consent-audit summary for a given date range or visitor. The build targets Odoo 17.0, 18.0 or 19.0 and works on Community or Enterprise — we confirm your edition during scoping because a few website and asset hooks differ between versions and editions.

Because this is built to order, nothing is a black-box download. After a short scoping call we confirm your Odoo version and edition, your Google product mix (GA4, Google Ads, tag manager), your regional consent policy, and your banner design. We build the module against a staging copy of your site, you sign off through UAT, and we deploy to production with a rollback plan and a post-go-live support window. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company or multi-website setups, additional Google/third-party integrations, deeper regional-policy localization, and migration of existing consent data increase the quoted scope. You receive a fixed quote after the scoping call — the from-price is a starting point, never a firm figure until scope is agreed.

What you get

  • Installable module source code for your confirmed Odoo version (17.0, 18.0 or 19.0) and edition
  • Installation and configuration on your staging then production environment
  • Technical documentation: models, fields, security rules, asset load order, and consent-parameter mapping
  • End-user / admin guide plus a live training session for your marketing and website team
  • Post-go-live support window for defect fixes and consent-behavior adjustments
  • UAT on a staging copy of your site with a documented, tested rollback plan
  • Git repository handover with full commit history and tagged release
  • Configuration worksheet capturing your Google product mix, regional policy, and retention settings

Who this is for

Marketing / Growth Lead running Google Ads on an Odoo site

Needs conversion tracking and audiences to keep working under consent rules. Wants tags gated correctly so Google can still model conversions from consented traffic, without losing measurement to a blanket cookie block.

Data Protection / Compliance Officer

Answerable for how the website handles EEA/UK visitors. Needs demonstrable default-deny behavior, granular per-parameter consent, retained-but-anonymized consent logs, and an audit report they can produce on request.

Odoo Website Administrator / In-house developer

Owns the Odoo website and doesn't want tracking snippets hand-edited into the theme. Wants a clean module with backend settings, proper security rules, and a git handover they can maintain and upgrade across Odoo versions.

Agency or fractional CMO managing a client's Odoo storefront

Needs consent handled properly across multiple regions and Google products so ad spend keeps performing, with documentation and training so the client's team can operate it after handover.

How Google Consent Mode v2 for Odoo Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Consent Mode v2 default-deny stateBuilt-in: denied defaults set before gtag.js, with wait_for_updatePossible, but you design and maintain the load order yourselfOften a generic default that may not match your product mixNot implemented — tags fire on load
Fit to your Google product mixScoped to your GA4/Ads/tag-manager setup and regional policyWhatever your developer builds, if scoped correctlyOne-size configuration, limited to its assumptionsNo consent orchestration at all
Granular per-parameter consentEach of the four v2 parameters mapped to banner choicesDepends entirely on in-house build effortVaries; frequently accept/reject onlyNone
Consent audit log & reportAnonymized consent model + QWeb audit report + API accessMust be designed and secured from scratchRarely included or backend-integratedNone
Security & access controlir.model.access.csv + record rules restrict consent logsYour responsibility to define and testDepends on the module's qualityN/A
Odoo version/edition coverage17/18/19, Community or Enterprise, edition hooks handledWhatever you build and re-test per upgradeTied to the versions the vendor chose to supportVersion-dependent, feature absent
Delivery & ownershipone working week, staging UAT, rollback plan, git handoverDepends on internal capacity and prioritiesInstant install but generic and self-supportedImmediate but does not solve the problem
Support after go-liveSupport window + training + optional maintenanceSelf-supported unless you retain a developerVendor ticket queue, no fit to your setupCommunity forums only

Frequently Asked Questions about Google Consent Mode v2

Is this an existing app I can download and install today?

No. This is a build-to-order Odoo module. We build it against your confirmed Odoo version, edition, and Google product mix after a scoping call, then install and support it. There is no instant download — the value is that it is fitted to your exact tracking setup and regional policy.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The clock starts once we've agreed your Odoo version/edition, Google products (GA4, Ads, tag manager), regional consent policy, and banner design. Multi-company, multi-website, or extra integrations can extend the timeline, and we confirm dates in the fixed quote.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base figure. After a short scoping call we give you a fixed quote. Drivers that increase scope include multi-company/multi-website setups, additional Google or third-party integrations, deeper regional-policy localization, and migrating existing consent data. The from-price is a starting point, never a firm price until scope is agreed.

What about support and updates after go-live?

Every build includes a post-go-live support window for defect fixes and consent-behavior adjustments, plus a training session. You also receive the git repository, so your team can maintain it. For ongoing changes, Google-product updates, or an Odoo version upgrade, we offer a support/maintenance arrangement quoted separately.

Does it work with GA4, Google Ads, and a tag manager together?

Yes. The module sets the Consent Mode v2 default state before your Google tags load, and we wire GA4, Google Ads, and (where used) a tag-manager container to inherit the same consent signals. We confirm your exact product mix during scoping so the load order and parameter mapping are correct for your stack.

Will Odoo's built-in cookie bar not do this already?

Odoo core gives you a cookie bar and a place for tracking IDs, but it does not implement Consent Mode v2 — there's no default-deny state, no `gtag('consent', ...)` orchestration, no granular mapping to the four v2 parameters, and no persistent consent audit log. This module adds all of that as a proper backend-configured feature.

Which Odoo versions and editions are supported?

We build for Odoo 17.0, 18.0, and 19.0, on Community or Enterprise. We confirm your version and edition during scoping because a few website and asset-bundle hooks differ between them; the delivered module targets your specific environment.

Request a quote

Google Consent Mode v2

A build-to-order Odoo module that wires Google Consent Mode v2 into your Odoo website, gating analytics and advertising tags behind a real consent state instead of firing them on page load. ECOSIRE scopes, builds, installs and supports it — typical delivery one working week from confirmed scope.

  • Pushes a Consent Mode v2 `default` state (ad_storage, analytics_storage, ad_user_data, ad_personalization = denied) with `wait_for_update` before `gtag.js` loads
  • Website-scoped asset bundle in `__manifest__.py` guarantees the consent framework initializes ahead of every Google tag
  • Granular mapping of banner choices to each of the four v2 consent parameters, not a single all-or-nothing toggle
  • Region-aware default policy (EEA/UK deny-by-default) driven by server-side configuration, with per-region overrides

Request a Quotation

Tell us about your Google Consent Mode v2 requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.