Importazione da Google Analytics 4

Due modi per portare qui i dati GA4: totali giornalieri per capire quanta attività vede MousePlayer e singole sessioni GA4 dall’esportazione BigQuery per le visite che non abbiamo potuto registrare.

1. Cosa viene importato e cosa no

Entrambi i percorsi leggono dal suo account Google e si attivano separatamente. Rispondono a domande diverse e non servono entrambi.

PercorsoDati recuperatiA cosa serve
Data APITotali giornalieri: sessioni, utenti, visualizzazioni di pagina e sessioni con coinvolgimentoMisurare la copertura. GA4 conta 3.000 sessioni, MousePlayer ne ha registrate 40: senza un riferimento non si può nemmeno notare la differenza.
Importazione BigQuerySingole sessioni GA4 con i relativi eventiCapire cosa è successo durante una visita che MousePlayer non ha potuto registrare.

Una sessione importata non può essere riprodotta. GA4 non conserva istantanee della pagina né movimenti del mouse: manca quindi la base per una riproduzione. Si ottengono cifre ed eventi accanto alle registrazioni, nulla di più, e non li presentiamo diversamente.

L’importazione usa tabelle proprie e non viene mai mescolata alle registrazioni. Altrimenti cambierebbe silenziosamente il significato di ogni dato derivato — profili comportamentali, valutazione dei visitatori, analisi dell’attrito — e nessuno potrebbe poi distinguere le righe misurate da quelle importate.

2. Percorso 1: Data API

Servono due elementi: l’ID proprietà e una chiave di account di servizio.

L’ID proprietà non è l’ID misurazione

È l’errore più comune, che il messaggio di Google non nomina. L’ID misurazione ha un formato come G-ABC123XYZ, compare nello snippet di monitoraggio ed è visibile ovunque. L’ID proprietà è solo numerico e appare nell’amministrazione, sotto Amministrazione, Impostazioni proprietà. Serve il secondo: rifiutiamo il primo con una spiegazione invece di lasciare che produca un errore 400.

Creare e autorizzare l’account di servizio

  • In Google Cloud Console, crei un account di servizio e generi una chiave JSON.
  • Nello stesso progetto, attivi la Google Analytics Data API.
  • In GA4, sotto Amministrazione, Gestione degli accessi alla proprietà, aggiunga l’e-mail dell’account di servizio con il ruolo Visualizzatore. Un account di servizio è un utente autonomo: senza questo passaggio Google risponde 403, senza dire perché.

Incolli il contenuto del file JSON nel campo. Viene conservato cifrato e successivamente mostrato solo in forma abbreviata.

3. Percorso 2: importazione BigQuery

Questo percorso legge l’esportazione grezza GA4. Va configurata una volta in GA4: Amministrazione, Collegamenti BigQuery. Le tabelle compaiono solo dal giorno successivo - prima l’importazione non trova nulla e non è un errore.

Cosa inserire

  • L’ID del progetto GCP che contiene l’esportazione. Non è necessariamente lo stesso progetto in cui esporta i dati MousePlayer.
  • L’ID del set di dati. GA4 lo chiama analytics_<propertyId>.
  • Una chiave di account di servizio con il ruolo Visualizzatore dati BigQuery sul set di dati e Utente job BigQuery nel progetto. Basta l’accesso in lettura; non conceda altri permessi.

Quanto costa e chi paga

BigQuery fattura in base ai byte letti, e la fattura è sua. Per questo l’importazione legge pochi giorni per esecuzione e lancia sempre una sola query: una seconda rileggerebbe le stesse tabelle. Inoltre un limite rigido interrompe la query prima che diventi costosa; in quel caso il registro delle consegne segnala che l’intervallo è troppo ampio.

La frequenza

Ogni sei ore per impostazione predefinita, recuperando di nuovo gli ultimi tre giorni a ogni esecuzione. Non è arbitrario: GA4 integra i dati fino a 48 ore dopo e l’esportazione giornaliera compare il giorno successivo. Interrogare più spesso non produce cifre più recenti, solo le stesse.

4. La chiave che collega i due lati

Se configura anche il connettore di analisi verso GA4, MousePlayer registra per ogni sessione l’ID client dal cookie _ga . È esattamente il valore presente nell’esportazione BigQuery come user_pseudo_id.

Permette di associare una sessione GA4 a una registrazione e, viceversa, vedere cosa ha contato GA4 durante la stessa visita. Senza il connettore i due lati restano semplicemente affiancati, senza collegamento.

Lo stesso campo contiene anche il suo identificativo cliente se usa setUserId(). Non può contenere entrambi: o l’ID client Google o il suo numero.

5. Consenso, conservazione, eliminazione

I dati importati avevano un cookie

Vengono importate solo righe con un user_pseudo_id . Se un visitatore rifiuta, GA4 invia segnali senza cookie tramite Consent Mode che non hanno tale identificativo: vengono esclusi senza doversi affidare a una promessa. Anche le righe modellate, cioè stimate, restano fuori: salvare una stima come sessione significherebbe conservare visite mai avvenute.

Quanto vengono conservati

180 giorni per impostazione predefinita, dal giorno descritto dalla riga, non dall’importazione. Altrimenti il termine non scadrebbe mai, perché ogni esecuzione recupera gli stessi giorni.

Eliminazione

Se un visitatore chiede di cancellare i dati, vengono eliminate anche le sue sessioni GA4 importate, nella misura in cui l’identificativo sopra permette di attribuirgliele. Eliminando il progetto, vengono cancellate tutte, comprese le righe mai collegate a una registrazione. Il processo giornaliero di conservazione le lascia deliberatamente intatte: i dati GA4 seguono un calendario proprio e le registrazioni scadono prima.

6. Quando non arriva nulla

Ogni esecuzione scrive il risultato nel registro delle consegne sulla pagina delle integrazioni, inclusi gli errori, con parole chiare. In genere basta a capire cosa manca.

MessaggioCosa fare
L’ID proprietà deve essere solo numericoÈ stato inserito l’ID misurazione. Il numero corretto si trova in GA4, sotto Impostazioni proprietà.
HTTP 403 dalla Data APIL’account di servizio non è Visualizzatore della proprietà GA4 oppure la Data API non è attiva nel progetto GCP.
Set di dati o tabelle di esportazione non trovatiManca il collegamento BigQuery, il set di dati ha un altro nome o non è ancora passato un giorno.
Accesso negato (BigQuery)All’account di servizio manca Visualizzatore dati BigQuery sul set di dati oppure Utente job BigQuery nel progetto.
La query avrebbe letto troppi datiIl limite di costo l’ha interrotta prima di qualsiasi addebito. Scelga un intervallo più breve.
nessuna sessione nell’intervalloNon è un errore. Nei giorni recuperati non c’erano sessioni con consenso.