> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.pandectes.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Using Google Consent Mode Integration

Learn how to use Google Consent Mode integration in your Shopify store. Our guide provides step-by-step instructions to enhance privacy and tracking compliance.

### 1. What this integration does

The Google Consent Mode integration connects Pandectes GDPR Compliance with Google's consent framework. When enabled, Pandectes automatically signals your visitors' consent choices to Google tags, rather than blocking them entirely, allowing Google to adjust tag behavior based on the consent state.

With this integration active, Google tags can:
* Run with a **default consent state** (typically `denied`) on page load, sending only limited, cookieless measurement data.
* **Update to full measurement** once the user grants consent through your banner.
This approach is called **Advanced consent mode,** and is the default and recommended configuration. It allows Google to model conversions and analytics for users who do not consent, which would otherwise be lost entirely.

### 2. How to enable Google Consent Mode

Navigate to **Settings → Integrations **in the Pandectes GDPR Compliance app.

![](https://storage.crisp.chat/users/helpdesk/website/-/1/a/5/a/1a5af239e847cf00/image_p1ul5c.png =300x161)

Locate the **Google Consent Mode** card and click **Configure**, then toggle the integration on.

![](https://storage.crisp.chat/users/helpdesk/website/-/1/a/5/a/1a5af239e847cf00/image_18s959a.png =800x644)


The integration is now active. At minimum, no further action is required. Pandectes will automatically apply consent mode to any Google tags already present in your `theme.liquid`. The sections below explain the optional configuration fields.

### 3. Configuration

###### Google Tag Manager

If you use Google Tag Manager (GTM) to manage your Google tags, enter your **GTM container ID** (format: `GTM-XXXXXXXXX`) in the **Google Tag Manager ID** field. Separate multiple IDs with commas.

|| Recommendation: If you use GTM, install the Pandectes CMP tag template from the GTM Template Gallery in your container and load all your Google properties (Google Analytics, Google Ads, etc.) from within that container. This ensures consent signals reach every tag in GTM correctly. Once done, check I have added Pandectes CMP tag to the GTM container. For full instructions, see [Pandectes GDPR Compliance tag template for Google Tag Manager](https://pandectes.io/pandectes-gdpr-compliance-tag-template-for-the-google-tag-manager/).

###### Google Analytics

Enter your **Google Analytics ID(s)** (format: `G-XXXXXXXXXX` or `GT-XXXXXXXXXX`) in the **Google Analytics ID** field. Separate multiple IDs with commas.
If `page_view` events are already being sent by an external app or custom pixel, check **Do not send page_view event** to avoid duplicate events.

###### Google Ads

Enter your **Google Ads ID(s)** (format: `AW-XXXXXXXXXXX`) in the **Google Ads ID** field. Separate multiple IDs with commas.
Your AW property ID can be found in your Google Ads account in the top right popup that appears when switching accounts.

### 4. Advanced mode vs Basic mode

###### Advanced mode (default, recommended)

In Advanced mode, Google tags **load immediately** on every page with a default consent state — typically `denied` for advertising and analytics types in opt-in regions. While consent is `denied`, tags send only cookieless, privacy-safe measurement pings. Once the user interacts with the banner and grants consent, tags update to full measurement.
Advanced mode is the default when the integration is enabled. Do not activate any of the Autoblocker options for Google tags, and do not check "Run in basic mode" in Advanced settings.

###### Basic mode

In Basic mode, Google tags are **blocked entirely** until the user explicitly grants consent. No data is sent to Google before interaction with the banner. This provides stronger data minimisation but loses the cookieless modeling that Advanced mode enables.

There are **two ways** to enable Basic mode, and they differ in scope:

**Option A: Autoblocker** (affects all Google tags on the page, including those added manually to `theme.liquid` or loaded by other apps):

Go to **Settings → Autoblocker** and activate the blocking rules for Google Tag Manager, Google Analytics, and Google Ads. This prevents any of those tags from loading until consent is given, regardless of how they are installed on the store.

**Option B: "Run in basic mode" checkbox** (affects only Google tags loaded via this integration, i.e. those whose IDs are entered in the configuration fields above):

Open **Advanced settings** at the bottom of the integration page and check **Run in basic mode. Tags load after consent**. Tags configured with their IDs in this integration will be held until consent is granted. Tags added manually to `theme.liquid` or through other apps are not affected by this option.

| Use Option A if you want all Google tags blocked regardless of how they are loaded. Use Option B if you only want to block the tags managed by this integration while leaving manually added tags in Advanced mode.

### 5. Advanced settings

Click **Advanced settings** to expand the following options.

![](https://storage.crisp.chat/users/helpdesk/website/-/1/a/5/a/1a5af239e847cf00/image_xuhyg6.png =800x321)

###### Run in basic mode. Tags load after consent

See §4 above.

###### Debug mode / console diagnostics

When checked, Pandectes injects a diagnostic script into your storefront that monitors the `dataLayer` and reports consent mode problems (late signals, wrong command order, incorrect default permissions) to the **browser developer console**.

Enable this when troubleshooting a consent mode issue. Disable it again once the issue is resolved. For a full explanation of each console message and how to fix it, see [Google Consent Mode debug console](https://help.pandectes.io/en/article/google-consent-mode-debug-console-1mmj0e3/).

###### Consent types

Maps the seven Google consent types to Pandectes banner categories. The default values are set automatically based on your banner configuration. You can override individual mappings here if needed.

| Key | Value | Description | Pandectes Category |
| ---- |
| `ad_storage` | `denied` or `granted` | Controls whether your tags will use cookies related to advertising. | **Targeting** |
| `ad_user_data` | `denied` or `granted` | Sets consent for sending user data to Google for online advertising purposes. | **Targeting** |
| `ad_personalization` | `denied` or `granted` | Sets consent for personalized advertising. | **Targeting** |
| `analytics_storage` | `denied` or `granted` | Controls whether your tags will use cookies related to analytics. | **Performance** |
| `functionality_storage` | `denied` or `granted` | Controls whether your tags will use cookies related to functionality. | **Functionality** |
| `personalization_storage` | `denied` or `granted` | Controls whether your tags will use cookies related to personalization. | **Functionality** |
| `security_storage` | `denied` or `granted` | Controls whether your tags will use cookies related to security. | **Strictly necessary** |

###### ads_data_redaction
When `ad_storage` is `denied`, ad click identifiers sent by Google Ads and Floodlight tags are redacted from network requests, and requests are routed through a cookieless domain. Enable this for stronger data minimisation when advertising consent is denied.

###### url_passthrough
When `ad_storage` or `analytics_storage` is `denied`, ad click and session information cannot be stored in cookies. Enabling URL passthrough passes this information through URL parameters instead, improving conversion and analytics measurement accuracy without using cookies.

###### wait_for_update
The number of milliseconds Google tags wait for a consent update command before firing. Increase this value (default: 500ms) if you notice discrepancies between sessions tracked in Google Analytics and actual traffic, which can indicate that the consent update is arriving after tags have already fired.

###### DataLayer property
If you have renamed the `dataLayer` variable in your store to something other than the default, enter the custom name here so Pandectes pushes consent signals to the correct property.

### 6. Google's banner requirements

If you want your store to meet Google's consent banner requirements, two additional steps are needed beyond activating the integration:

1. In your banner content, include the sentence: *"Cookies may be used for personalization of ads."*
2. Go to **Settings → Banner → Behavior** and enable **Show link to Google's Terms**.

### 7. Video walkthrough

${youtube}[](banMHx8E4A8)

### 8. Relevant documentation

**Pandectes**
* **Pandectes GDPR Compliance tag template for Google Tag Manager:** [https://pandectes.io/pandectes-gdpr-compliance-tag-template-for-the-google-tag-manager/](https://pandectes.io/pandectes-gdpr-compliance-tag-template-for-the-google-tag-manager/)
* **Integrations setup guide (`pandectes-rules.js`&#160;manual setup):** [https://help.pandectes.io/en/article/integrations-setup-guide-2ovcos/](https://help.pandectes.io/en/article/integrations-setup-guide-2ovcos/)
* **Google Consent Mode debug console:** [https://help.pandectes.io/en/article/google-consent-mode-debug-console-1mmj0e3/](https://help.pandectes.io/en/article/google-consent-mode-debug-console-1mmj0e3/)
* **Google tag gateway (GTG) and consent:** [https://help.pandectes.io/en/article/google-tag-gateway-gtg-and-consent-cl8mqk/](https://help.pandectes.io/en/article/google-tag-gateway-gtg-and-consent-cl8mqk/)

**Google**
* **Consent mode overview:** [https://developers.google.com/tag-platform/security/concepts/consent-mode](https://developers.google.com/tag-platform/security/concepts/consent-mode)
* **Set up consent mode on websites:** [https://developers.google.com/tag-platform/security/guides/consent](https://developers.google.com/tag-platform/security/guides/consent)
* **About consent mode (Tag Manager Help):** [https://support.google.com/tagmanager/answer/10000067](https://support.google.com/tagmanager/answer/10000067)

