Google Consent Mode in Commanders Act CMP

Introduction

Google Consent Mode évoluera en mars 2024 !

Comme Google recommande fortement l’utilisation de Consent Mode sur leurs tags, Commanders Act a développé une nouvelle fonctionnalité native pour les clients qui souhaitent l’implémenter.

Utilisez simplement notre nouvelle fonctionnalité native pour une mise en place super fluide ! Veuillez lire la documentation suivante pour en savoir plus sur cette nouvelle fonctionnalité et comment l’utiliser. Si vous avez déjà implémenté Consent Mode v1 en utilisant notre tag template et souhaitez le conserver, vous pouvez le mettre à jour vers v2. Veuillez consulter la section suivante pour les instructions : Guide de migration du tag template Consent Mode v1 vers v2

Veuillez noter : Google n’exige un signal de consentement validé que pour les pays de l’EEE et le Royaume‑Uni.

Mettre en œuvre Google Consent Mode dans des régions au‑delà de celles-ci peut avoir un impact négatif sur les performances des campagnes et n’est pas recommandé.

Différence entre le mode Basic et Advanced

Google Consent Mode propose 2 approches : Basic & Advanced Dans les deux cas, vous devrez activer la fonctionnalité Google Consent Mode sur votre compte. La seule différence sera la suivante : Mode Basic : Les Google tags ne sont pas déclenchés avant le consentement et restent soumis aux Commanders Act Consent Rules, il n’y aura pas de firing de tags en cas d’Opt-out Mode Advanced : Les Google tags sont déclenchés avant le consentement et les données collectées dépendront du Consent Mode Signal. Les tags restent fired même lorsque l’utilisateur a Opt-out.

Suivez simplement ces 6 étapes :

1- Activez la fonctionnalité sur votre workspace

Connectez‑vous sur votre workspace Allez sur la page Gouvernance des données > Gestion du consentement > Settings Activez Sur l’option Google Consent Mode. Le sous‑menu "Google Consent Mode settings" apparaîtra

2- Configurez vos paramètres

Catégories

Sélectionnez la catégorie de confidentialité appropriée dans la liste déroulante pour chaque catégorie Google.

Statut par défaut

Le Statut par défaut déterminera le comportement de vos tags AVANT le consentement. S’il est défini sur "denied" : Google collectera un minimum d’informations (comme si l’utilisateur avait Opt-out) S’il est défini sur "granted" : Google collectera toutes les informations (comme si l’utilisateur avait Opt-in) *Vous devriez consulter votre DPO avant de définir un statut par défaut "granted" pour l’une de ces catégories

Dans tous les cas : une fois que l’utilisateur a donné son consentement (optin ou optout), le statut par défaut ne s’appliquera plus. Le choix de l’utilisateur déterminera le statut après consentement.

Si vous ne définissez pas de catégorie, le statut sera toujours "denied". Le menu déroulant "Default Status" ne sera plus affiché. Exemple ci‑dessous pour "security_storage" sans catégorie de confidentialité assignée :

Paramètres additionnels

  • enable_tcf_support Si vous utilisez le template CMP TCF 2.2 : la mise à jour TCData (TCData.enableAdvertiserConsentMode) permet à Google d’inférer ad_storage, ad_personalization et ad_user_data à partir du TC string. Cela incorporera directement les mises à jour du consent mode v2 dans le TC string. Activez la fonctionnalité tcf_support pour laisser votre bannière de confidentialité IAB TCF gérer les catégories publicitaires. *Google recommande d’activer cette fonctionnalité si votre site utilise un template de bannière IAB TCF N’oubliez pas d’ajouter vos Google associated Vendors (voir documentation dédiée pour plus de détails)

  • wait_for_update Activer cette fonctionnalité optionnelle enverra un signal aux tags Google pour attendre une mise à jour. Entrez une valeur en millisecondes pour contrôler le temps d’attente avant l’envoi des données. Cela peut être utile si vous rencontrez des problèmes de synchronisation. Sinon, vous pouvez laisser vide !

  • ads_data_redaction définir ads_data_redaction sur ON pour further redact vos données publicitaires lorsque "ad_storage" est "denied"

  • url_passthrough URL passthrough option peut être utilisée pour envoyer des analytics basées sur des événements et des sessions (y compris les conversions) sans cookies entre les pages.

3- Activez la fonctionnalité sur votre/vos privacy banner(s)

Sources > Privacy Banners > Sélectionnez votre/vos banner(s) Allez à l’étape d’édition de votre privacy banner, ouvrez le menu des paramètres pour activer Google Consent Mode Signal

La configuration de la confidentialité est terminée ! Vous pouvez maintenant Generate et Deploy votre Privacy Banner. *À ce stade, Consent Mode n’affectera pas le comportement de vos tags. Veuillez suivre les étapes suivantes !

L’activation de cette option ajoutera automatiquement une Google Policy URL, c’est une obligation légale pour utiliser Google Consent Mode sur votre site. N’hésitez pas à adapter votre texte d’introduction si nécessaire

4- Mode Advanced : Retirez vos contraintes de confidentialité des Google tags

Pour configurer la version "Advanced" du Consent Mode, retirez les Commanders Act Privacy rules de tous les Google tags, maintenant c’est géré par Google Consent Mode Gouvernance des données > Gestion du consentement > Catégories voir l’onglet assign tags - Retirez les contraintes de confidentialité des Google tags - Save

5- Générez votre/vos container(s)

Allez sur Sources > WebContainers > étape de génération Pour une configuration à container unique, générez votre container avec privacy banner(s) incluses

Pour une configuration multi‑container, générez tous vos containers. Les privacy banner(s) doivent être liées au premier container chargé pour garantir que le Consent Mode signal est toujours envoyé correctement.

6- Tests & déploiement

Déploiement

Nous recommandons de tester votre configuration dans un environnement UAT si possible.

Testez votre configuration

Il existe 3 manières différentes de vérifier votre configuration Consent Mode :

La manière la plus simple de vérifier votre configuration est d’utiliser le Tag Assistant plugin fourni par Google. L’événement "Consent" doit toujours être envoyé avant tout hit provenant des tags Le statut "On-page Default" devrait être le même que ceux que vous avez configurés à l’ étape 2

Après Consentement, le "On-page Update" le statut devrait correspondre au consentement donné sur la privacy banner

Pour vous aider à garantir que le signal de consentement est envoyé avant vos Google tags, nous proposons une méthode pour obtenir des logs dans la console du navigateur

tC.privacy.explainGCMSequencingValidation() Si le Consent est défini avant que des Google tags ne soient déclenchés, vous obtiendrez le log 'valid sequencing' Si les Google tags sont déclenchés avant que le Consent ne soit défini, alors votre implémentation est incorrecte. Le log renverra la valeur 'Consent is set too late, Google tags are triggered before consent set. Please verify your Consent Mode sequencing'

Besoin d’une valeur booléenne pour des cas d’utilisation spécifiques ? Utilisez tC.privacy.validateGCMSequencing() Retournera simplement true si votre séquençage est correct, sinon le résultat sera false

FAQ

Modification/Mise à jour de la configuration

En cas de modification de la configuration, telle que l’activation/désactivation d’un paramètre, des changements de mapping sur les catégories, etc.... Web Containers & Privacy banners doivent être régénérés & déployés.

Paramètre « Region »

Google Consent Mode permet la gestion du consentement uniquement pour la/les Region(s) déclarée(s) Notre fonctionnalité native n’inclut pas ce paramètre, pour des raisons de performance web. Si vous avez besoin d’utiliser ce paramètre, nous recommandons d’utiliser notre TMS Tag template. Veuillez vous référer à la section suivante de la documentation pour les détails de configuration.

Support & assistance

Vous rencontrez toujours des problèmes lors de l’implémentation et cherchez de l’aide ? Contactez notre équipe de support technique ! En tant que partenaire Google CMP avec un statut Gold, nous fournissons un support par email dédié : [email protected] Ils vous fourniront toujours une réponse personnalisée à vos questions !

Guide de migration

Pour les clients ayant déjà implémenté le Consent Mode v1: Vous pouvez activer la fonctionnalité intégrée comme décrit ci‑dessus (n’oubliez pas de désactiver votre tag consent mode actuel) Cependant, si vous souhaitez vraiment conserver votre configuration actuelle et simplement mettre à jour votre tag, vous pouvez vous référer à cette documentation !

Résumé de toutes les étapes recommandées :

  1. Accédez à votre compte Commanders Act.

  2. Mettez à jour votre tag template.

  3. Testez et déployez votre/vos container(s).

Mettre à jour votre tag template

Allez sur la page "Sources" > "Web containers" Sélectionnez votre tag "Google Consent Mode with Trust".

Mettez à jour le bloc de code js de votre tag avec le code suivant, puis save pour obtenir les nouveaux champs

extrait de code à mettre à jour
<script language="javascript">
window.dataLayer = window.dataLayer || [];
var gtag = function (){
	dataLayer.push(arguments);
};
tC.internalvars.getRegion = function(a){
	a = a.toString().replace(/\s/g, '');
	a = a.split(",");
	return a;
};
tC.internalvars.setRegion = function(a) {
	tC.internalvars.regionArray = tC.internalvars.getRegion(a);
	if (((typeof tC.privacy.isEnable !== "undefined") && tC.privacy.isEnable()) && (tC.internalvars.regionArray.length > 0) && (tC.internalvars.regionArray[0] !== "") && (typeof tC.internalvars.consentSettings !== "undefined")) {
		tC.internalvars.consentSettings.region = tC.internalvars.regionArray;
		return true;
	} else return false;
};
tC.internalvars.setWait = function(a){
	if (((typeof tC.privacy.isEnable !== "undefined") && tC.privacy.isEnable()) && (isNaN(parseInt(a, 10)) === false) && (parseInt(a, 10) > 0) && (typeof tC.internalvars.consentSettings !== "undefined")) {
    	tC.internalvars.consentSettings.wait_for_update = parseInt(a, 10);
      	return true;
    } else return false;
};
tC.internalvars.setConsentCommand = function(a, b, c){
	tC.internalvars.isRegionSet = tC.internalvars.setRegion(b);
	tC.internalvars.isDelaySet = tC.internalvars.setWait(c);
  	if (((typeof tC.privacy.isEnable !== "undefined") && tC.privacy.isEnable()) && (tC.internalvars.isRegionSet || tC.internalvars.isDelaySet)){
    	return "default";
    }
  	if ((a.toString() === "default") || (a.toString() === "update")){
		return a;
	}
	if ((typeof tC.privacy.isEnable !== "undefined") && tC.privacy.isEnable()) return "default";
	else return "update";
	return "default";
};
gtag('set', 'developer_id.dOWVhY2', true);
tC.internalvars.consentSettings = {
	'ad_storage': (#DEFAULT_AD_CATEGORY# !== "")?#DEFAULT_AD_CATEGORY#:"denied",
	'analytics_storage': (#DEFAULT_ANALYTICS_CATEGORY# !== "")?#DEFAULT_ANALYTICS_CATEGORY#:"denied",
	'functionality_storage': (#DEFAULT_FUCTIONALITY_CATEGORY# !== "")?#DEFAULT_FUCTIONALITY_CATEGORY#:"denied",
	'personalization_storage': (#DEFAULT_PERSONALIZATION_CATEGORY# !== "")?#DEFAULT_PERSONALIZATION_CATEGORY#:"denied",
	'security_storage': (#DEFAULT_SECURITY_CATEGORY# !== "")?#DEFAULT_SECURITY_CATEGORY#:"denied",
  'ad_personalization':(#DEFAULT_AD_PERSONALIZATION_CATEGORY# !== "")?#DEFAULT_AD_PERSONALIZATION_CATEGORY#:"denied",
  'ad_user_data':(#DEFAULT_AD_USER_DATA_CATEGORY# !== "")?#DEFAULT_AD_USER_DATA_CATEGORY#:"denied" 
}
console.log(tC.internalvars.consentSettings);
console.log("REGION: " + #REGION#);
console.log("WAIT_FOR_UPDATE: " + #WAIT_FOR_UPDATE#);
// Commande par défaut au chargement de la page
console.log("INFO: default command");
gtag('consent', tC.internalvars.setConsentCommand("default", #REGION#, #WAIT_FOR_UPDATE#), tC.internalvars.consentSettings);
tC.internalvars.ga_url_passthrough = #URL_PASSTHROUGH#;
tC.internalvars.ga_ads_data_redaction = #ADS_DATA_REDACTION#;
if ((typeof tC.internalvars.consentSettings !== "undefined") && (tC.internalvars.consentSettings.ad_storage === "denied")) {
	if ((tC.internalvars.ga_url_passthrough !== "") && ((tC.internalvars.ga_url_passthrough.toLowerCase() === "true") || (tC.internalvars.ga_url_passthrough.toLowerCase() === "false"))) {
		gtag('set', 'url_passthrough', (tC.internalvars.ga_url_passthrough.toLowerCase() === "true"));
	}
	if ((tC.internalvars.ga_ads_data_redaction !== "") && ((tC.internalvars.ga_ads_data_redaction.toLowerCase() === "true") || (tC.internalvars.ga_ads_data_redaction.toLowerCase() === "false"))) {
		gtag('set', 'ads_data_redaction', (tC.internalvars.ga_ads_data_redaction.toLowerCase() === "true"));
	}
}
tC.internalvars.setConsentUpdateCommand = function(result){
	tC.internalvars.consentSettings = {
	    'ad_storage': (result.consent.categories[#TRUST_AD_CATEGORY_ID#].status === "on") ? "granted" : "denied",
	    'analytics_storage': (result.consent.categories[#TRUST_ANALYTICS_CATEGORY_ID#].status === "on") ? "granted" : "denied",
	    'functionality_storage': (result.consent.categories[#TRUST_FUNCTIONALITY_CATEGORY_ID#].status === "on") ? "granted" : "denied",
	    'personalization_storage': (result.consent.categories[#TRUST_PERSONALIZATION_CATEGORY_ID#].status === "on") ? "granted" : "denied",
	    'security_storage': (result.consent.categories[#TRUST_SECURITY_CATEGORY_ID#].status === "on") ? "granted" : "denied",
	  'ad_personalization':(result.consent.categories[#TRUST_AD_PERSONALIZATION_CATEGORY_ID#].status === "on") ? "granted" : "denied",
  'ad_user_data':(result.consent.categories[#TRUST_AD_USER_DATA_CATEGORY_ID#].status === "on") ? "granted" : "denied"
    }
	console.log(tC.internalvars.consentSettings);
	console.log("REGION: " + #REGION#);
	console.log("WAIT_FOR_UPDATE: " + #WAIT_FOR_UPDATE#);
	// Commande de mise à jour au chargement de la page
	console.log("INFO: update command");
	gtag('consent', tC.internalvars.setConsentCommand("update", #REGION#, #WAIT_FOR_UPDATE#), tC.internalvars.consentSettings);
};
cact('consent.get', function (result) {
	if (result.consent.status !== "unset") {
      tC.internalvars.setConsentUpdateCommand(result);
	}
});
// Déclenché lors des changements de consentement
cact('consent.onUpdate', function (result) {
  	tC.internalvars.setConsentUpdateCommand(result);
});
</script>

Vous pouvez faire votre mapping sur les nouveaux champs & Save à nouveau votre tag

Définissez le statut par défaut des *nouvelles catégories (denied ou granted)

Saisissez l’ID de vos catégories de confidentialité pour les lier aux *nouvelles catégories Google Si nécessaire, vous pouvez trouver votre ID de confidentialité sur la page Gouvernance des données > Gestion du consentement > Catégories

N’oubliez pas de sauvegarder vos paramètres

Générez & Déployez votre container

Mettez à jour votre/vos Privacy Banner(s)

Allez sur la page Source > Privacy Banners > étape d’édition

Vous pouvez maintenant Generate & Deploy vos privacy banner(s)

Vous êtes à jour, vous pouvez tester vos paramètres sur votre site. N’hésitez pas à vous référer à l’étape de test ci‑dessus pour obtenir des astuces & conseils.

Mis à jour

Ce contenu vous a-t-il été utile ?