Webová analytika

Využití dat z GA4 v BigQuery k modelování chybějících transakcí

Na posledním PPC pivě se PPCéčkaři shodli, že využívají hlavně postup Tomáše Hanáčka a Karla Rujzla, kteří získají od klienta seznam transakcí a ty následně rozpočítají mezi kanály. Metoda rozhodně dává smysl, ale ne každý klient dokáže (má kapacity) tento přehled dát dohromady.

Zároveň má tato metoda limitaci, že vám domodeluje chybějící transakce/tržby, ale ne zobrazení stránek nebo přidání do košíku.

GA4 již od svých prvních dní sliboval, že bude modelovat chybějící data. Před pár dny se tato funkce začala v účtech objevovat. Problémem je, že vyžaduje alespoň 1000 souhlasů a 1000 nesouhlasů za týden (viz GA4 Analytics Help). Takže někteří menší klienti opět ostrouhají.

Výhodou propojení GA4 a BigQuery je, že se do BigQuery ukládají i anonymizované hity, kdy uživatel nesouhlasil s cookies. Nabízí se tedy možnost vymodelovat počet událostí se souhlasem a bez souhlasu.

Dotaz v BigQuery

S tímto SQL dotazem tedy nad GA4 daty v libovolném účtu můžu vymodelovat počet událostí, kdy mi byl udělen souhlas s analytickým úložištěm (Status = Yes) a kdy ne (Status = No). V tomto konkrétním případě se nestalo, že by uživatel souhlasil jenom s analytikou nebo jenom s marketingem, proto jsou Pocet_Analytics a Pocet_Ads stejné.

SELECT privacy_info.analytics_storage AS Status, COUNT(privacy_info.analytics_storage) AS Pocet_Analytics, COUNT(privacy_info.ads_storage) AS Pocet_Ads, SUM(ecommerce.purchase_revenue) AS Revenue,
FROM `nazev_vaseho_datasetu.analytics_111113.events_*`
WHERE event_name ='purchase' AND _table_suffix between '20220501' and '20220531'
GROUP BY 1
order by 1 DESC   

A pouhým nahrazením event_name mohu zjistit i o kolik jiných událostí z důvodu consent modu přicházím.

Jedná se o základní SQL dotaz, kdy je nejdůležitější si ve schématu tabulky najít správné metriky a vědět, že tečkou se vnořuje dále do struktury.

Reportování v Google DataStudio

Nyní můžeme tabulku klientovi zobrazit i v Google DataStudio a nechat ji ovládat pomocí data pickeru v DataStudiu:

Zaškrtnutím Enable date range parameters umožní v dotazu používat @DS_START_DATE and @DS_END_DATE, které zastupují datum.

V DataStudiu poté výsledek může vypadat třeba takto pro jakoukoliv událost za jakékoliv období:

Tato data je také možné blendovat s jakoukoliv jinou tabulkou a využít je pro dopočítávání podobně jako v návodu od Karla a Toma.

Limitace řešení

Hlavní limitací je, že stále nějaká data chybí, pokud uživatel nějakým způsobem blokoval analytiku. Takže i zde dává smysl zjistit, jaká je realita, kolik procent uživatelů klienta používá různé blockery.

Zároveň velký pozor na dotazy nad velkými účty. Ačkoliv se limit zdá velmi štědrý, pokud by se například klient koukal na měsíční data několikrát denně, je možné limitu dosáhnout. Vždy v BigQuery účtu nastavte limit výdajů, který chrání vás i klienta.