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 v BQ obsahuje dva datasety: L1_dance a L1_dance_vw:
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.
L1_model_base -project_id.L1_dance.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.
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_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.
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.
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ší.
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.