> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.pandectes.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Console di debug di Google Consent Mode

### 1. Cos'è la console di debug e quando usarla

**Debug mode / console diagnostics** è un'opzione diagnostica all'interno dell'integrazione Google Consent Mode di Pandectes GDPR Compliance. Quando è attiva, Pandectes inserisce nel tuo storefront Shopify uno script leggero che monitora il `dataLayer` in tempo reale e segnala i problemi di consent mode direttamente nella **console per sviluppatori del browser**.

Rileva le seguenti categorie di problemi:

* Un tag che legge lo stato del consenso prima che sia stato impostato un default (**segnale di consenso tardivo**) — causato comunemente da Google Tag Gateway (GTG).
* Un comando `update` del consenso che arriva prima di un comando `default` (**ordine di esecuzione errato**).
* Un comando `default` che arriva dopo che è già stato inviato un comando `update` (**ordine di esecuzione errato**).
* Tipi di consenso nel comando `default` impostati su `granted` quando dovrebbero essere `denied` (**permessi predefiniti non corretti**).

Usala quando:

* Stai configurando Google Consent Mode per la prima volta e vuoi verificare che tutto funzioni.
* Google Tag Assistant, Google Ads o Google Analytics segnala un avviso di consent mode (ad esempio, "default consent not set" o "consent set too late").
* Sospetti che una modifica del tema o un'app di terze parti abbia compromesso il segnale di consenso.

> **Importante:** la modalità debug scrive nella **console per sviluppatori del browser sul tuo storefront live**, non all'interno dell'app Pandectes. Disattivala una volta terminato il debug: lasciala attiva in produzione solo se stai indagando attivamente su un problema.

> **Nota di pubblicazione:** gli screenshot qui sotto usano percorsi di file locali. Quando pubblichi nel centro assistenza, ricarica ogni immagine direttamente tramite l'editor di Intercom e sostituisci i percorsi locali con gli URL ospitati.

### 2. Come attivare la modalità debug

1. Nell'app Pandectes GDPR Compliance, vai su **Integrations**.
2. Apri l'integrazione **Google Consent Mode**.

![](https://storage.crisp.chat/users/helpdesk/website/-/1/a/5/a/1a5af239e847cf00/image_1ffg9e0.png =800x643)

3. Scorri verso il basso e fai clic su **Advanced settings** per espandere la sezione.
4. Seleziona **Debug mode / console diagnostics**.
5. Fai clic su **Save**.

![](https://storage.crisp.chat/users/helpdesk/website/-/1/a/5/a/1a5af239e847cf00/image_x5blhl.png =800x321)

L'opzione è descritta nell'app come: *"Helps to detect late consent, missing commands, invalid execution order and incorrect permissions. Late consent may be observed in cases where Google Tag Gateway (GTG) has been adopted."*

### 3. Come leggere l'output di debug

Con la modalità debug attiva, apri il tuo **storefront Shopify live** in un browser (non l'anteprima dell'admin di Shopify), poi apri **Developer Tools → Console**.

Tutti i messaggi dello script di debug iniziano con il prefisso:

```
[Pandectes :: Google Consent Mode debug]:
```

I messaggi appaiono come **avvisi** (icona a triangolo giallo). Se la console è pulita, cioè senza messaggi con questo prefisso, la tua configurazione di consent mode funziona correttamente.

Per filtrare solo i messaggi di debug di Pandectes, digita `Pandectes` nella casella del filtro della Console.

#### Tabelle dei comandi

![](https://storage.crisp.chat/users/helpdesk/website/-/1/a/5/a/1a5af239e847cf00/image_kjnhzo.png =800x590)

Oltre agli avvisi, lo script di debug registra una tabella nella console per **ogni comando di consenso rilevato nel dataLayer**, con una riga per ogni tipo di consenso che ne mostra il valore. Questo ti permette di ispezionare esattamente cosa è stato inviato a Google per ogni comando `default` e `update`. Se non compaiono messaggi di avviso, i comandi sono ben formati e nell'ordine corretto.

### 4. Messaggi della console
###### 4.1 Segnale di consenso tardivo

**Messaggio:**
```
a tag read consent state before a default was set (late consent signal).
This often happens if Google Tag Gateway has been adopted.
To verify visit https://help.pandectes.io/en/article/gtg.
```

![](https://storage.crisp.chat/users/helpdesk/website/-/1/a/5/a/1a5af239e847cf00/image_1pcv9uu.png =800x413)

**Cosa significa:**
Un tag Google ha letto lo stato del consenso prima che Pandectes avesse la possibilità di impostare i default di consenso. Il tag si è attivato senza sapere quale fosse lo stato di consenso dell'utente (o quello predefinito configurato per il negozio). È la conseguenza più comune di **Google Tag Gateway (GTG)** con l'iniezione CDN con un clic, che carica il tag Google prima di qualsiasi altro script della pagina.

**Cosa fare:**
Segui la guida di risoluzione nell'articolo [Google tag gateway (GTG) and consent](https://help.pandectes.io/en/article/gtg). In sintesi:

* **Consigliato:** attiva l'advanced consent mode (U+C) in Pandectes: questo elimina del tutto la dipendenza dall'ordine di caricamento.
* **Alternativa:** consolida tutti i tag Google in un container GTM e usa il template di tag CMP di Pandectes.
* **Alternativa:** passa dall'iniezione CDN con un clic alla configurazione manuale di GTG, posizionando lo snippet GTG dopo `pandectes-rules.js` in `theme.liquid`.

###### 4.2 Comando update senza un default precedente

**Messaggio:**
```
"update" command was sent but there was no "default" command before it.
```

![](https://storage.crisp.chat/users/helpdesk/website/-/1/a/5/a/1a5af239e847cf00/image_khn8d.png =800x413)

**Cosa significa:**
Un comando `update` del consenso (che riflette la scelta effettiva dell'utente nel banner) è stato inviato a Google prima che fosse inviato qualsiasi comando `default`. Questo significa che i tag Google non avevano una base di consenso iniziale da cui partire. Senza un default, Google non può modellare correttamente il consenso per gli utenti che lasciano la pagina prima di interagire con il banner.

**Cosa fare:**
Assicurati che `pandectes-rules.js` si carichi correttamente e sia posizionato prima di tutti i tag Google nel tuo `theme.liquid`. Questo script è responsabile dell'invio del comando `default` al caricamento della pagina. Se manca o si carica troppo tardi, l'`update` arriva per primo. Consulta la [guida alla configurazione delle integrazioni](https://help.pandectes.io/it/article/guida-alla-configurazione-delle-integrazioni-1slsaru/) per le istruzioni su come verificare e correggere la configurazione manuale.

###### 4.3 Comando default dopo un update

**Messaggio:**
```
"default" command was sent but there was already an "update" command before it.
```

**Cosa significa:**
Il comando `default` (inviato da Pandectes al caricamento della pagina per stabilire lo stato di consenso di base) è arrivato *dopo* che era già stato inviato un comando `update`. È l'ordine inverso rispetto a quello previsto e di solito significa che lo script di Pandectes si carica dopo un tag Google che sta anch'esso cercando di inizializzare consent mode.

**Cosa fare:**
Si tratta di un problema di ordine di caricamento. Verifica che `pandectes-rules.js` compaia il prima possibile in `<head>`, in particolare **prima** di qualsiasi tag Google o snippet GTM. Se utilizzi Google Tag Gateway, questo avviso può comparire insieme a quello del segnale di consenso tardivo; in tal caso, si applicano i passaggi di risoluzione GTG descritti sopra.

###### 4.4 Permessi predefiniti non corretti

**Messaggio:**
```
all types in a "default" command should be set to "denied" except for
security_storage that should be set to "granted"
```


![](https://storage.crisp.chat/users/helpdesk/website/-/1/a/5/a/1a5af239e847cf00/image_hsv6i6.png =800x413)

**Cosa significa:**
Il comando di consenso `default` che Pandectes ha inviato a Google ha uno o più tipi di consenso impostati su `granted` anziché su `denied`. Nelle regioni opt-in (SEE, Regno Unito, Svizzera), tipi di consenso come `ad_storage`, `ad_user_data`, `ad_personalization` e `analytics_storage` devono avere come default `denied` prima che l'utente faccia una scelta. Solo `security_storage` deve avere come default `granted`. Se uno degli altri ha come default `granted`, i tag Google potrebbero funzionare con misurazione completa prima che l'utente abbia dato il consenso.

**Cosa fare:**
Nell'app Pandectes, vai su **Integrations → Google Consent Mode → Advanced settings → Consent types**. Controlla il valore predefinito impostato per ogni tipo di consenso. Imposta `ad_storage`, `ad_user_data`, `ad_personalization` e `analytics_storage` su **Denied**. Lascia `security_storage` su **Granted**. Salva e ricontrolla la console.

### 5. Documentazione correlata

**Pandectes**

* **Using Google Consent Mode integration (setup guide):** [https://help.pandectes.io/it/article/usare-l-integrazione-google-consent-mode-1vrm719/](https://help.pandectes.io/it/article/usare-l-integrazione-google-consent-mode-1vrm719/)
* **Integrations setup guide (`pandectes-rules.js`&#32;manual setup):** [https://help.pandectes.io/it/article/guida-alla-configurazione-delle-integrazioni-1slsaru/](https://help.pandectes.io/it/article/guida-alla-configurazione-delle-integrazioni-1slsaru/)
* **Google tag gateway (GTG) and consent:** [https://help.pandectes.io/en/article/gtg](https://help.pandectes.io/en/article/gtg)

**Google**

* **Troubleshoot consent mode (Tag Manager Help):** [https://support.google.com/tagmanager/answer/14522438](https://support.google.com/tagmanager/answer/14522438)
* **Troubleshoot consent mode with Tag Assistant (developers):** [https://developers.google.com/tag-platform/security/guides/consent-debugging](https://developers.google.com/tag-platform/security/guides/consent-debugging)
* **Consent mode overview:** [https://developers.google.com/tag-platform/security/concepts/consent-mode](https://developers.google.com/tag-platform/security/concepts/consent-mode)