Struktura Dance 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.
Architektura modelu
Model je rozdělený do tří vrstev, každá má vlastní BigQuery dataset. Data tečou vždy jedním směrem: L1 (výběr a očištění raw GA4 dat) → L2 (agregace na úroveň návštěv, eventů a položek) → L3 (hotové reportingové tabulky).
První vrstva (L1) - základní výběr dat
První vrstva v BQ obsahuje dva datasety: L1_dance a L1_dance_vw:
L1_dance
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.
Nad tabulkou je nasazené view L1_user_sources_vw, které se dále připojuje k tabulce 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 view L1_user_sources_vw. 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.
Tabulky L1_gads_campaigns, L1_gads_adgroups a L1_gads_gclid_clicks slouží k obohacení dat z GA4 o detailní informace z Google Ads. Vytvářejí se pouze v případě, že je v projektu napojený Google Ads transfer. Tabulky kampaní a sestav ukládají historii přejmenování (SCD), takže se ke kliku přiřadí název platný v době kliku. Na základě parametru GCLID se napojují do L1_user_sources a L1_model_base a doplňují informace jako campaign_id, campaign_name, ad_group_name, term, content či segments_ad_network_type.
Denní kurzy měn (pro každý pár měn a den jeden kurz dle priority zdroje: Google Finance > ČNB > ostatní). Slouží k přepočtu tržeb do reportovací měny nastavené v configu – výsledkem jsou reporting_* sloupce v L2 views a L3 tabulkách.
L1_dance_vw
View nasazené nad tabulkou L1_user_sources, určené pro různé custom fixy, které vycházejí z klientských požadavků či dat.
View nasazené nad tabulkou L1_model_base, určené pro různé custom fixy, které vycházejí z klientských požadavků či dat a pro kosmetické úpravy jako jsou nové sloupce session_landing_page_reporing a session_landing_url_reporing s landing page, které jsou očištěné o doménu či url parametry.
Druhá vrstva (L2) - agregace dat a jejich rozdělení
Druhá vrstva v BQ se jmenuje L2_dance a rozděluje data na 3 hlavní tabulky, které všechny čerpají z view L1_model_base_vw:
L2_dance_vw
Nad každou L2 tabulkou je view (L2_sessions_vw, L2_events_vw, L2_items_vw), ze kterého čte L3 vrstva. Views jsou místem pro klientsky specifické sloupce a navíc doplňují domain, čas eventu v časové zóně datasetu (event_custom_datetime, event_custom_timezone) a přepočet tržeb do reportovací měny (reporting_* sloupce).
Atribuce zdrojů anonymních transakcí
U uživatelů bez souhlasu s cookies nelze transakci spojit se zdrojem návštěvy. L2 vrstva proto obsahuje atribuční model (L2_anonym_baseline_weights, L2_anonym_transaction_attribution), který každé anonymní transakci přiřadí nejpravděpodobnější zdroj na základě chování consentovaných uživatelů (device fingerprint, geo, časové vzory jednotlivých kanálů). Výsledek vstupuje do L3_monetization_transactions a L3_acquisition_traffic. Detail je popsaný na stránce L2 _dance vrstva.
Třetí vrstva (L3) - reporty na míru
Třetí vrstva L3_dance obsahuje hotové reportingové tabulky připravené pro přímé napojení do Looker Studia nebo jiného BI nástroje. Čerpají z L2 views (L2_sessions_vw, L2_events_vw, L2_items_vw) a z Google Ads transferu a agregují data na úroveň dne a vybraných dimenzí – jsou proto výrazně menší a levnější na dotazování než L2.
Tabulky jsou rozdělené do skupin:
Popis jednotlivých tabulek, společné konvence a schémata jsou na stránce L3_dance vrstva a jejích podstránkách.
