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).
Symptôme C : Consent Mode fonctionne mais GA4 n'affiche pas de données modélisées
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')