Attribuzione Paid errata in BigQuery

In riferimento all’esportazione dei dati di GA4 in BigQuery, uno dei principali bug ancora presenti è l’attribuzione errata del traffico generato da un annuncio a pagamento della rete di ricerca di Google. Questo perché, nonostante l’evento includa il parametro gclid nell’URL della pagina (che indica la provenienza da una campagna Google Ads con tagging automatico), l’evento viene considerato proveniente da traffico Organico (o Diretto) anziché da quello Paid.

La segnalazione a Google è stata effettuata ad Agosto del 2022, con oggetto Paid search events are incorrectly attributed to organic traffic, ed è tutt’oggi ancora aperta (dopo più di un anno, nel momento in cui sto scrivendo l’articolo).

L’immagine in Fig. 1, che ho estratto effettuando una query da uno dei progetti che gestisco, conferma quanto appena detto:

Fig. 1 – Attribuzione Paid errata in BigQuery

Si può osservare infatti come nonostante la presenza del parametro gclid il traffico venga considerato google / organic.

Fonti indicano che da statistiche basate su diversi set di dati, l’attribuzione errata può variare dal 10 al 30% di tutte le sessioni.

Soluzioni

Una soluzione semplice e rapida può essere quella di utilizzare i parametri UTM al posto del tagging automatico di Google Ads. Questa può essere inoltre una best practice da applicare in generale dal momento che il gclid rientra tra i parametri che vengono eliminati automaticamente dalle URL da parte del Link Tracking Protection di iOS 17.

Ad ogni modo la soluzione appena proposta risolve il problema per quanto riguarda i dati dal momento in cui viene applicati in poi. Per analizzare lo storico in BigQuery invece, Matteo Zambon al minuto 17:00 di questo video propone una soluzione che prevede di combinare i dati di BigQuery con quelli derivanti dalle Analytics Data API poiché l’interfaccia di GA4 (e appunto le relative API) non sono affette da questo errore di attribuzione.

Altre soluzioni sono quelle di analizzare i dati tramite il parametro page_location che contiene l’URL comprensivo di querystring oppure inserire nell’URL dei parametri personalizzati (diversi anche dagli UTM) per identificare a posteriori la provenienza da campagna oppure effettuare query ad hoc in BigQuery, ad esempio valorizzando con cpc tramite “CASE WHEN” tutti quei casi in cui il parametro valorizzato di gclid si trova in event_params o in event_params.page_location.