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 v BQ obsahuje dva datasety: L1_dance a L1_dance_vw:

L1_dance

L1_user_sources - project_id.L1_dance.L1_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. 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.


L1_dance_vw

L1_user_sources_vw - project_id.L1_dance.L1_user_sources_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.
L1_model_base_vw - project_id.L1_dance.L1_model_base_vw
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.
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.