
In previous article, we introduced you to Consent Mode, distinguishing between:
No Consent Mode or Basic Consent Mode
Whereby:
This means the sending of data is a yes/no option.
and:
Advanced Consent Mode
Whereby:
In this article, we will deep dive into Advanced Consent Mode.
Imagine this scenario:
If you use No Consent Mode or Basic Consent Mode, this is the only insight that you have:
The insight is only from <A>. You are missing a valuable chunk of data signals to help inform your conversion rates and marketing strategy.
If you use Advanced Consent Mode, it can make use of the unconsented data signals to "recover" the lost conversions.
Just to be clear, with Advanced Consent Mode, you are still not able to exactly see the lost 10 purchases from <B>. However, the data will be used for modeling and to mitigate the data measurement gap.
In short, by using Advanced Consent Mode and enabling behavioral modeling, you will be seeing a more accurate conversion rates.
Refer to the following illustration taken from
https://support.google.com/google-ads/answer/10548233:
Let's visualize this with some simplified examples. Imagine 3 users come to your website:
If you use No Consent Mode or Basic Consent Mode, this data will be sent:
If you use Advanced Consent Mode, this data will be sent:
Notice that, because pseudo user IDs are based on cookies, it cannot be used or sent. This also explains why you cannot access this data directly (even if you could, you cannot distinguish the individual users). It is only used for modeling purposes to mitigate measurement gap.
Keep in mind that tags are always fired in Advanced Consent Mode, but the behavior of the tags will change depending on user's consent.
Let's go through a typical setup in Google Tag Manager.
We recommend using a GTM template (such as Simo Ahava's Consent Mode tag template) to do this.
Typically, you should always set all the default consent mode flags to denied at the very start of the GTM - Consent Initialization. This ensures that the flags are set before any other tags are fired.
For Consent Mode supported tags:
You can set them to fire as per normal, without adding complexity to the triggers to deal with the consent flags.
When the user updates their consent (eg. opts in to All Cookies or Essential Cookies Only), you need to update the consent mode flags by using the same GTM tag template but this time with an update command.
Note that different Consent Management Platforms (CMPs) handle this update signal differently. Some push the new values into dataLayer, some update the new values into cookies. You have to map the updated values into GTM variables, to be used in the update command.
When this update command is executed, previously collected hits on the same page will automatically reprocess to have the granted status, without you having to manually refire the tags.
That's the beauty of Advanced Consent Mode - The tags automatically adjust their behavior based on the latest consent flags.
We used very simplified examples above. Let add a custom parameter (membership_no) for the next example:
If we use Advanced Consent Mode, this data will be sent:
You can see how this can be problematic from a privacy standpoint whereby first-party data can be used to distinguish individual users. We strongly recommend to redact first-party data in parameters when consent is not granted.
You can do this by changing a GTM variable into a custom consent-aware variable:
Before
GTM variable
After
GTM variable