How to set up Google Ads conversion tracking with Cookiequiet
Google Ads conversion tags need three Consent Mode signals: ad_storage, ad_user_data and ad_personalization. Cookiequiet sets all three to denied before the Google tag when the snippet carries data-consent-mode="1" and grants them when the visitor accepts the marketing category, so conversion tracking, remarketing and enhanced conversions follow the visitor's choice.Steps
The three signals Google Ads reads
Google's consent mode reference defines them as follows: ad_storage enables storage such as cookies related to advertising; ad_user_data sets consent for sending user data related to advertising to Google; ad_personalization sets consent for personalized advertising. The last two were added in November 2023 (Consent Mode v2), and Google's EU user consent policy requires advertisers to pass them for visitors in the EEA: without ad_user_data and ad_personalization granted, Google does not use the visitor for remarketing audiences or personalised ads, and measurement features such as enhanced conversions depend on ad_user_data.
Cookiequiet maps its marketing category to all three, and its analytics category to analytics_storage:
| Visitor's choice | ad_storage | ad_user_data | ad_personalization |
|---|---|---|---|
| Reject all | denied | denied | denied |
| Analytics only | denied | denied | denied |
| Marketing accepted | granted | granted | granted |
The setup on every page
html<script src="https://cookiequiet.com/cq.js" data-site="YOUR_SITE_KEY" data-consent-mode="1" data-auto-block="1" defer></script><script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('consent', 'default', {ad_storage: 'denied',ad_user_data: 'denied',ad_personalization: 'denied',analytics_storage: 'denied',functionality_storage: 'denied',personalization_storage: 'denied',security_storage: 'granted',wait_for_update: 500});</script><!-- Google tag (gtag.js) --><script async src="https://www.googletagmanager.com/gtag/js?id=AW-XXXXXXXXX"></script><script>gtag('js', new Date());gtag('config', 'AW-XXXXXXXXX');</script>
Cookiequiet pushes the same denied defaults as soon as it runs and the update after each choice; the inline block guarantees that the default precedes the tag even when the asynchronous Google tag runs before the deferred snippet. Google states that defaults called after the tag do not work. If you already load the Google tag for Google Analytics 4, add a second gtag('config', 'AW-XXXXXXXXX') line rather than a second tag; the Google Analytics 4 guide covers the shared setup.
The event snippet goes on the conversion page after the Google tag, in the head for best accuracy as Google recommends:
html<script>gtag('event', 'conversion', { 'send_to': 'AW-XXXXXXXXX/AbC-D_efG-h12_34-567' });</script>
While ad_storage is denied, the conversion tag sets no _gcl_au cookie and sends a cookieless ping; Google uses those pings to model conversions it could not observe, which is the advanced implementation. If you would rather send nothing before consent, mark both Google tag scripts and the event snippet with type="text/plain" data-cq-category="marketing"; Google then cannot model, and conversions from visitors who refused are simply not counted.
With Google Tag Manager, use the Google Ads Conversion Tracking tag and the Conversion Linker tag: both have built-in consent checks and adjust to the state Cookiequiet sets. The Tag Manager guide gives the head order with the container.
What changes for your campaigns
- Conversion tracking keeps working for visitors who accept marketing, and is modelled for the others once the account reaches Google's data threshold.
- Remarketing and audiences only include EEA visitors with
ad_user_dataandad_personalizationgranted, per Google's policy. Expect audience sizes to reflect your consent rate; the article on consent rates gives numbers to expect. - Enhanced conversions send hashed customer data and require
ad_user_datagranted; they follow the marketing category. - Customer Match uploads need the consent fields set to granted for EEA users, which comes from your own records; the consent log is your proof.
How to test
- Load the site in Tag Assistant. On the first event, the Consent tab shows the three ad signals denied from the default block; after Accept all, an update row shows them granted.
- In a private window, click Reject all, complete a test conversion and check the cookies: no
_gcl_au, no_gcl_aw. - Clear the cookies, Accept all, repeat the conversion:
_gcl_auis set and the conversion appears in Google Ads, usually within a day. - Google Ads shows the status of the consent signals it receives in its diagnostics; Google's "Verify your consent signals" article explains the statuses.
Limits worth knowing
Cookiequiet is not a Google-certified CMP for the IAB Transparency and Consent Framework. That matters for sites that show Google ads (AdSense, Ad Manager, AdMob) to visitors in the EEA, the UK or Switzerland: those need a certified CMP. Google Ads conversion tracking, remarketing tags and enhanced conversions on your own site are covered by the Consent Mode integration described here. Microsoft Advertising's UET tag can receive the same marketing choice; UET consent is available on request.