CMP behavior for granular consent
Granular consent refers to the individual selections an end-user may make on one or more purposes and/or vendors in your consent notice as opposed to a single action granting or denying consent for all purposes and vendors (i.e. Accept all or Refuse all).

In this article, we will cover how the Didomi CMP behaves in regards to granular consent for a variety of scenarios.
Conditioned custom vendor tags
Conditioned custom vendor tags refers to the methods your organization utilizes to control how and when custom vendors and/or SDKs are triggered for your web/mobile property in regards to end-user consent.
Custom Didomi <script> tags
Used to conditionally load JavaScript tags or other HTML elements on your page. These custom <script> tags are commonly used for custom vendor tags on your webpage to control when a custom vendor can trigger based on meeting required conditions.
Click here for more information on the custom Didomi <script> tags.
Tag manager
Tag managers provide a centralized platform that allows marketers and developers to deploy, manage, and update vendor scripts and analytics tags on a website without directly modifying the site's source code.
Click here for more information on tag managers.
Third-party SDKs
Your organization can condition custom vendor tags on your mobile app via the Didomi API. Click here for more information.
Custom vendor tags can be conditioned on consent to the vendor and/or consent to specific purposes.
Didomi strongly recommends conditioning your custom vendor tags based on end-user consent to the vendor as we feel it is is the best way for your organization to respect end-user consent choices.
When conditioning a custom vendor tag based on end-user consent to the vendor the native behavior for Didomi is to check end-user consent values for the vendor first and then consent on the purposes associated with it.
If one or more purposes for the vendor associated has not been consented to by the end-user (i.e. purpose set to false) then the vendor will also be set to false.
If your organization decides to condition custom vendor tags based on end-user consent for specific purposes please be advised that you assume the risk of not respecting end-user consent choices. The issues arise when there is a discrepancy between the end-user's consent for the specified purposes in the condition and their consent for the vendor.
Refer to the diagram below for more information:

When conditioning the custom vendor tag based on end-user consent for specific purposes Schema 3 and Schema 4 will result in behavior that does not reflect the end-user's selections.
Schema 3
In this scenario, the end-user has not provided consent to the specific purpose used in your condition but has granted consent to the vendor. In this case, Didomi will set the consent status for the vendor status to false since at least one of the purposes specified in the condition did not have consent and the custom vendor tag will not trigger.
Schema 4
In this scenario, the end-user has consented to all purposes specified in the condition but has also denied consent for the vendor. In this case, Didomi will set the vendor status to false however, since the purpose conditions were met the custom vendor tag would still trigger.
Agree/Disagree all
Agree all and Disagree all are one-click buttons that will automatically accept or reject all purposes and vendors associated with a consent notice, respectively. If an end-user makes granular selections on purposes and/or vendors and then subsequently selects either the Agree all or Disagree all button, Didomi will give precedence to the Agree all or Disagree all action.

Granular consent on purposes and no choice on vendors
When an end-user makes granular choices on purposes but does not make any choice on vendors, Didomi will only enable vendors that have at least one purpose enabled.

Last updated