Aller au contenu principal

Problèmes de Consent Mode

Symptôme A : GA4 se déclenche toujours avant le consentement

Cause : L'état par défaut de Consent Mode n'est pas défini avant le chargement de GA4.

Correction : Ajoutez le bloc de consentement par défaut avant le script GA4 et avant ConsentForge :

<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
'analytics_storage': 'denied',
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'wait_for_update': 500
});
</script>
<!-- ConsentForge -->
<script src="https://cdn.consentforge.com/consentforge.min.js" data-token="..." defer></script>
<!-- GA4 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXX"></script>

Symptôme B : gtag('consent', 'update') ne se déclenche pas

Comment vérifier : DevTools → Console → window.dataLayer.filter(e => e[0] === 'consent') — devrait afficher les valeurs par défaut + la mise à jour après acceptation.

Cause : Fonction gtag non disponible sur window lorsque ConsentForge tente de mettre à jour le mode de consentement.

Correction : Assurez-vous que gtag est défini sur window avant le chargement de ConsentForge (via le bloc par défaut ci-dessus).


Cause : Les données de conversion modélisées prennent 5 à 7 jours pour apparaître dans Google Ads après la configuration initiale de Consent Mode.

Correction : Attendez 7 jours après une configuration correcte. Vérifiez dans Google Ads → Outils → Diagnostics de Consent Mode.


Symptôme D : La balise d'initialisation du consentement GTM ne se déclenche pas en premier

Comment vérifier : Aperçu GTM → vérifiez l'ordre de déclenchement des balises. La balise ConsentForge devrait se déclencher sur le déclencheur "Initialisation du consentement".

Correction : Changez le déclencheur de la balise GTM ConsentForge sur Initialisation du consentement - Toutes les pages (pas Vue de page).


Vérification

Après correction, confirmez dans la console DevTools :

// Devrait afficher les valeurs par défaut 'denied' puis la mise à jour 'granted' après acceptation
window.dataLayer.filter(e => e[0] === 'consent')