Passa al contenuto principale

Problemi di Consent Mode

Sintomo A: GA4 continua ad attivarsi prima del consenso

Causa: Lo stato predefinito di Consent Mode non impostato prima del caricamento di GA4.

Soluzione: Aggiungete il blocco predefinito del consenso prima dello script GA4 e prima di 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>

Sintomo B: gtag('consent', 'update') non si attiva

Come verificare: DevTools → Console → window.dataLayer.filter(e => e[0] === 'consent') — dovrebbe mostrare predefinito + aggiornamento dopo che l'utente accetta.

Causa: La funzione gtag non disponibile quando ConsentForge cerca di aggiornare la consent mode.

Soluzione: Assicuratevi che gtag sia definito su window prima del caricamento di ConsentForge (tramite il blocco predefinito sopra).


Causa: I dati di conversione modellati richiedono 5–7 giorni per apparire in Google Ads dopo la configurazione iniziale di Consent Mode.

Soluzione: Attendete 7 giorni dopo una configurazione corretta. Verificate in Google Ads → Strumenti → Diagnostica Consent Mode.


Sintomo D: Il tag di inizializzazione del consenso GTM non si attiva per primo

Come verificare: Anteprima GTM → controllate l'ordine di attivazione dei tag. Il tag ConsentForge dovrebbe attivarsi sul trigger "Inizializzazione consenso".

Soluzione: Cambiate il trigger del tag GTM di ConsentForge in Inizializzazione consenso - Tutte le pagine (non Visualizzazione pagina).


Verifica

Dopo la correzione, confermate nella Console DevTools:

// Dovrebbe mostrare i valori predefiniti 'denied' poi 'granted' dopo l'accettazione
window.dataLayer.filter(e => e[0] === 'consent')