signals-logo
Signals Dance Docs

icon picker
Struktura GA4 Data Modelu


Standardní datový model vychází z naměřených GA4 v BigQuery (dále BQ) a pomáhá snížit náklady na zpracování dat. Jedná se o hotovou sadu plně automatizovaných SQL dotazů se standardními výstupy. Model se průběžně vyvíjí a doplňuje v návaznosti na změny v GA4.
Model napočítává data inkrementálně a vždy přepočítává 3 dny zpětně a všechny tabulky mají nastavenou partition by na event_date.

První vrstva (L1) - základní výběr dat

První vrstva se v BQ jmenuje L1_ga4_data_model a obsahuje dvě tabulky:
user_sources - project_id.L1_ga4_data_model.user_sources
Tabulka všech zdrojů uživatelů, kteří dali souhlas s cookies (user_pseudo_id). Pokud má uživatel v rámci jedné session více zdrojů, tak se zaznamenají všechny. Tabulka obsahuje user_pseudo_id uživatele, den a čas začátku zdroje, samotný zdroj a pracuje i s atributem ignore_referrer. Tabulka se dále připojuje k tabulce L1_model_base.
image.png

L1_model_base - project_id.L1_ga4_data_model.L1_model_base
Základní tabulka, kde se z raw dat vytahují všechny potřebné atributy. Tabulka do samostatných sloupců vytahuje nejčastěji používané event parametry a user properties, ostatní nechává zanestované pro případ, že by s nimi bylo potřeba pracovat. Zároveň v ní jsou napočítané hlavní session parametry jako je začátek či konec návštěvy, její první zdroj, landing page, search term či a/b testy. Nechybí ani ostatní dimenze jako informace o device, app_info či ecommerce. K tabulce se připojuje tabulka user_sources. V případě, že je zdroj dané návštěvy direct, tak se z ní dohledá poslední známý zdroj daného uživatele za posledních 90 dní, kde se atribut ignore_referrer nerovná hodnotě true. V tabulce se taky pracuje s anonymními daty od uživatelů, kteří nedali s cookies souhlas. Na úrovni návštěvy jde zjistit kolik jich bylo, jejich zdroje či landing page.
image.png
image.png

Druhá vrstva (L2) - agregace dat a jejich rozdělení

Druhá vrstva v BQ se jmenuje L2_ga4_data_model a rozděluje data na 3 hlavní tabulky:
L2_sessions ​Tabulka agreguje vybrané dimenze a metriky na úrovni návštěvy. Jeden řádek se rovná jedné návštěvě. Jednotlivé návštěvy se dají poznat podle unikátního id unique_session_id, které se nachází i v dalších L2 tabulkách, aby bylo možné i další ukazatele s návštěvou zpětně propojit. Dimenze user_type a user_id v sobě kombinují všechny naměřené hodnoty pro danou návštěvu. Informace o zařízení a geografii vždycky obsahují první naměřenou hodnotu pro danou návštěvu. Sloupec totals v sobě obsahuje metriky jako hits (počet eventů), visits, pageviews, bounces, new_visits, transactions a transaction_revenue. ​
image.png
L2_events ​Tabulka všech eventů. Je podle nich clusterovaná, takže selectování jednotlivých typů eventů bude výrazně levnější. Tabulka obsahuje identifikátor návštěvy a všechny její hlavní dimenze. Zároveň dopočítává previous_page_location. Informace o zařízení, ecommerce či o tom, jestli se jedná o konverzi, jsou schované pod sloupcem event_details. ​
image.png
L2_items ​Tabulka všech itemů. Obsahuje pouze eventy, kde se nějaký item nachází. Tabulka obsahuje identifikátor návštěvy i eventu a je opět clusterovaná podle event_name a item_id, aby bylo jednotlivé selectování levnější. ​
image.png
image.png

Třetí vrstva (L3) - reporty na míru

Tady potom přibudou tabulky na míru. Ještě víc agregované či jinak transformované pohledy.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.