W tym artykule opisano format i schemat danych usług w Google Analytics 4 i danych Google Analytics dla Firebase eksportowanych do BigQuery.
Zbiory danych
Dla poszczególnych usług w Google Analytics 4 i projektów Firebase połączonych z BigQuery dodawany jest do projektu BigQuery pojedynczy zbiór danych o nazwie „analytics_<identyfikator_usługi>”. Identyfikator usługi to Twój identyfikator usługi w Analytics, który możesz znaleźć w ustawieniach usługi w Google Analytics 4 i w ustawieniach analityki aplikacji w Firebase. Każda usługa w Google Analytics 4 i każda aplikacja, dla której włączono eksportowanie BigQuery, wyeksportuje dane do tego pojedynczego zbioru danych.
Tabele
Jeśli opcja dziennego eksportu jest włączona, w każdym zbiorze danych jest codziennie tworzona tabela o nazwie events_RRRRMMDD
.
Jeśli masz włączoną opcję eksportu strumieniowego, tworzona jest tabela o nazwie events_intraday_RRRRMMDD
. Ta tabela jest wypełniana na bieżąco, w miarę rejestrowania zdarzeń w ciągu dnia. Tabela jest usuwana na koniec każdego dnia po utworzeniu tabeli events_RRRRMMDD
.
Nie wszystkie urządzenia, na których zdarzenia wystąpiły, wysyłają dane do Analytics w dniu, w którym zdarzenia zostały wywołane. Aby uwzględnić to opóźnienie, Analytics aktualizuje tabele dzienne (events_RRRRMMDD
) przy użyciu danych zdarzeń wywołanych w tych dniach przez maksymalnie 3 dni po dacie zdarzenia. Niezależnie od opóźnienia zdarzenia mają prawidłową sygnaturę czasową. Zdarzenia, które wystąpiły po upływie tego trzydniowego okresu, nie są rejestrowane.
Jeśli używasz piaskownicy BigQuery, nie masz dostępnego importowania danych częściowych o zdarzeniach oraz obowiązują Cię dodatkowe limity.
Jeśli chcesz importować dane częściowe, uaktualnij piaskownicę do pełnej wersji narzędzia.
Kolumny
Każda kolumna w tabeli events_RRRRMMDD
odpowiada parametrowi związanemu ze zdarzeniem. Niektóre parametry są zagnieżdżone w rekordach, z których część, np. items
i event_params
, jest powtarzalna. Kolumny tabeli zostały opisane poniżej.
Pola zdarzenia zawierają informacje, które jednoznacznie identyfikują zdarzenie. | ||
Nazwa pola | Typ danych | Opis |
---|---|---|
event_date | CIĄG ZNAKÓW | Data rejestracji zdarzenia (w formacie RRRRMMDD i w strefie czasowej aplikacji). |
event_timestamp | LICZBA CAŁKOWITA | Czas zarejestrowania tego zdarzenia przez klienta (w mikrosekundach, UTC). |
event_previous_timestamp | LICZBA CAŁKOWITA | Czas poprzedniego zarejestrowania tego zdarzenia przez klienta (w mikrosekundach, UTC). |
event_name | CIĄG ZNAKÓW | Nazwa zdarzenia. |
event_value_in_usd | LICZBA ZMIENNOPRZECINKOWA | Wartość parametru „wartość” zdarzenia przeliczona na walutę (w USD). |
event_bundle_sequence_id | LICZBA CAŁKOWITA | Identyfikator sekwencyjny zestawu, w którym zostały przesłane te zdarzenia. |
event_server_timestamp_offset | LICZBA CAŁKOWITA | Przesunięcie sygnatury czasowej (w mikrosekundach) między godziną zebrania danych a godziną ich przesłania. |
REKORD event_params
Rekord event_params może przechowywać parametry zdarzenia na poziomie kampanii i kontekstowe, a także dowolne parametry zdarzenia zdefiniowane przez użytkownika. Rekord ten jest powtarzany w przypadku każdego klucza powiązanego ze zdarzeniem. Zestaw parametrów zapisanych w rekordzie event_params jest unikalny dla każdej implementacji. Aby zobaczyć pełną listę parametrów zdarzenia występujących w Twojej implementacji, wyślij zapytanie do listy tych parametrów. |
||
Nazwa pola | Typ danych | Opis |
---|---|---|
event_params.key | CIĄG ZNAKÓW | Nazwa parametru zdarzenia. |
event_params.value | REKORD | Rekord zawierający wartość parametru zdarzenia. |
event_params.value.string_value | CIĄG ZNAKÓW | Jeśli parametr zdarzenia jest ciągiem znaków, jak np. adres URL czy nazwa kampanii, zostaje wypełniony w tym polu. |
event_params.value.int_value | LICZBA CAŁKOWITA | Jeśli parametr zdarzenia jest liczbą całkowitą, zostaje wypełniony w tym polu. |
event_params.value.double_value | LICZBA ZMIENNOPRZECINKOWA | Jeśli parametr zdarzenia jest wartością podwójnej precyzji, zostaje wypełniony w tym polu. |
event_params.value.float_value | LICZBA ZMIENNOPRZECINKOWA | Jeśli parametr zdarzenia jest liczbą zmiennoprzecinkową, zostaje wypełniony w tym polu. To pole nie jest obecnie używane. |
Rekord item_params
Rekord item_params może przechowywać dowolne parametry produktów zdefiniowane przez użytkownika. Zestaw parametrów zapisanych w rekordzie item_params jest unikalny dla każdej implementacji. |
||
Nazwa pola | Typ danych | Opis |
---|---|---|
item_params.key | CIĄG ZNAKÓW | Nazwa parametru produktu. |
item_params.value | REKORD | Rekord zawierający wartość parametru produktu. |
item_params.value.string_value | CIĄG ZNAKÓW | Jeśli parametr produktu jest ciągiem znaków, zostaje wypełniony w tym polu. |
item_params.value.int_value | LICZBA CAŁKOWITA | Jeśli parametr produktu jest liczbą całkowitą, zostaje wypełniony w tym polu. |
item_params.value.double_value | LICZBA ZMIENNOPRZECINKOWA | Jeśli parametr produktu jest wartością podwójnej precyzji, zostaje wypełniony w tym polu. |
item_params.value.float_value | LICZBA ZMIENNOPRZECINKOWA | Jeśli parametr produktu jest liczbą zmiennoprzecinkową, zostaje wypełniony w tym polu. |
Pola użytkownika zawierają informacje, które jednoznacznie identyfikują użytkownika powiązanego ze zdarzeniem. | ||
Nazwa pola | Typ danych | Opis |
---|---|---|
is_active_user | WARTOŚĆ LOGICZNA |
Określa, czy użytkownik był aktywny (True – prawda) czy nieaktywny (False – fałsz) w dowolnym momencie w dniu kalendarzowym. Uwzględniany tylko w tabelach dziennych ( |
user_id | CIĄG ZNAKÓW | Unikalny identyfikator przypisany do użytkownika. |
user_pseudo_id | CIĄG ZNAKÓW | Pseudonimowy identyfikator użytkownika (np. identyfikator instancji aplikacji). |
user_first_touch_timestamp | LICZBA CAŁKOWITA | Godzina (w mikrosekundach), o której użytkownik po raz pierwszy otworzył aplikację lub odwiedził witrynę. |
Pola privacy_info
Pola privacy_info zawierają informacje uzyskane na podstawie stanu zgody użytkownika, gdy włączony jest tryb uzyskiwania zgody. | ||
Nazwa pola | Typ danych | Opis |
---|---|---|
privacy_info.ads_storage | CIĄG ZNAKÓW |
Określa, czy na koncie użytkownika włączone jest kierowanie reklam. Możliwe wartości: Yes (Tak), No (Nie), Unset (Nie określono) |
privacy_info.analytics_storage | CIĄG ZNAKÓW |
Określa, czy na koncie użytkownika włączone jest zapisywanie danych Analytics. Możliwe wartości: Yes (Tak), No (Nie), Unset (Nie określono) |
privacy_info.uses_transient_token | CIĄG ZNAKÓW |
Określa, czy użytkownik internetu odmówił zapisywania danych Analytics, a programista włączył pomiar bez użycia plików cookie, korzystając z tokenów tymczasowych dostępnych w danych serwera. Możliwe wartości: Yes (Tak), No (Nie), Unset (Nie określono) |
REKORD user_properties
Rekord user_properties zawiera ustawione przez Ciebie właściwości użytkownika. Jest powtarzany w przypadku każdego klucza powiązanego z użytkownikiem. | ||
Nazwa pola | Typ danych | Opis |
---|---|---|
user_properties.key | CIĄG ZNAKÓW | Nazwa właściwości użytkownika. |
user_properties.value | REKORD | Rekord z wartością właściwości użytkownika. |
user_properties.value.string_value | CIĄG ZNAKÓW | Wartość ciągu przypisana do właściwości użytkownika. |
user_properties.value.int_value | LICZBA CAŁKOWITA | Wartość liczby całkowitej przypisana do właściwości użytkownika. |
user_properties.value.double_value | LICZBA ZMIENNOPRZECINKOWA | Wartość podwójnej precyzji przypisana do właściwości użytkownika. |
user_properties.value.float_value | LICZBA ZMIENNOPRZECINKOWA | To pole nie jest obecnie używane. |
user_properties.value.set_timestamp_micros | LICZBA CAŁKOWITA | Czas ostatniego ustawienia właściwości użytkownika (w mikrosekundach). |
REKORD user_ltv
Rekord user_ltv zawiera informacje o użytkowniku od początku śledzenia. W tabelach danych częściowych rekord ten nie jest wypełniany. | ||
Nazwa pola | Typ danych | Opis |
---|---|---|
user_ltv.revenue | LICZBA ZMIENNOPRZECINKOWA | Wartość użytkownika od początku śledzenia (przychód). W tabelach częściowych pole to nie jest wypełniane. |
user_ltv.currency | CIĄG ZNAKÓW | Wartość użytkownika od początku śledzenia (waluta). W tabelach danych częściowych pole to nie jest wypełniane. |
Rekord device zawiera informacje o urządzeniu, z którego pochodzi zdarzenie. | ||
Nazwa pola | Typ danych | Opis |
---|---|---|
device.category | CIĄG ZNAKÓW | Kategoria urządzenia (komórka, tablet lub komputer). |
device.mobile_brand_name | CIĄG ZNAKÓW | Marka urządzenia. |
device.mobile_model_name | CIĄG ZNAKÓW | Nazwa modelu urządzenia. |
device.mobile_marketing_name | CIĄG ZNAKÓW | Nazwa marketingowa urządzenia. |
device.mobile_os_hardware_model | CIĄG ZNAKÓW | Informacje o modelu urządzenia pobrane bezpośrednio z systemu operacyjnego. |
device.operating_system | CIĄG ZNAKÓW | System operacyjny urządzenia. |
device.operating_system_version | CIĄG ZNAKÓW | Wersja systemu operacyjnego. |
device.vendor_id | CIĄG ZNAKÓW | IDFV (tylko gdy identyfikator IDFA nie został zebrany). |
device.advertising_id | CIĄG ZNAKÓW | Identyfikator wyświetlania reklam / IDFA. |
device.language | CIĄG ZNAKÓW | Język systemu operacyjnego. |
device.time_zone_offset_seconds | LICZBA CAŁKOWITA | Przesunięcie w stosunku do strefy czasowej GMT (w sekundach). |
device.is_limited_ad_tracking | WARTOŚĆ LOGICZNA |
Ustawienie ograniczenia śledzenia reklam na urządzeniu. W przypadku iOS w wersji 14 lub nowszej zwraca wartość „fałsz”, jeśli identyfikator IDFA ma wartość różną od 0. |
device.web_info.browser | CIĄG ZNAKÓW | Przeglądarka, w której użytkownik przeglądał treści. |
device.web_info.browser_version | CIĄG ZNAKÓW | Wersja przeglądarki, w której użytkownik przeglądał treści. |
device.web_info.hostname | CIĄG ZNAKÓW | Nazwa hosta powiązana z zarejestrowanym zdarzeniem. |
geo
Rekord geo zawiera informacje o lokalizacji geograficznej, w której zostało zainicjowane zdarzenie. | ||
Nazwa pola | Typ danych | Opis |
---|---|---|
geo.continent | CIĄG ZNAKÓW | Kontynent, z którego zostały zgłoszone zdarzenia, określony na podstawie adresu IP. |
geo.sub_continent | CIĄG ZNAKÓW | Subkontynent, z którego zostały zgłoszone zdarzenia, określony na podstawie adresu IP. |
geo.country | CIĄG ZNAKÓW | Kraj, z którego zostały zgłoszone zdarzenia, określony na podstawie adresu IP. |
geo.region | CIĄG ZNAKÓW | Region, z którego zostały zgłoszone zdarzenia, określony na podstawie adresu IP. |
geo.metro | CIĄG ZNAKÓW | Obszar miejski, z którego zostały zgłoszone zdarzenia, określony na podstawie adresu IP. |
geo.city | CIĄG ZNAKÓW | Miasto, z którego zostały zgłoszone zdarzenia, określone na podstawie adresu IP. |
Rekord app_info zawiera informacje o aplikacji, w której wystąpiło zdarzenie. | ||
Nazwa pola | Typ danych | Opis |
---|---|---|
app_info.id | CIĄG ZNAKÓW | Nazwa pakietu lub identyfikator pakietu aplikacji. |
app_info.firebase_app_id | CIĄG ZNAKÓW | Identyfikator aplikacji Firebase powiązany z aplikacją. |
app_info.install_source | CIĄG ZNAKÓW | Sklep, z którego zainstalowano aplikację. |
app_info.version | CIĄG ZNAKÓW | Wartość parametru versionName (Android) lub skrócona wersja pakietu. |
Rekord collect_traffic_source zawiera dane o źródle wizyty, które zostały zebrane ze zdarzeniem. |
||
Nazwa pola | Typ danych | Opis |
---|---|---|
manual_campaign_id | CIĄG ZNAKÓW | Identyfikator kampanii ręcznej (utm_id), który został zebrany ze zdarzeniem. |
manual_campaign_name | CIĄG ZNAKÓW | Nazwa kampanii ręcznej (utm_campaign), która została zebrana ze zdarzeniem. |
manual_source | CIĄG ZNAKÓW | Źródło kampanii ręcznej (utm_source), które zostało zebrane ze zdarzeniem. Obejmuje też parametry odtworzone z parametrów odesłania, a nie tylko wartości UTM. |
manual_medium | CIĄG ZNAKÓW | Medium kampanii ręcznej (utm_medium), które zostało zebrane ze zdarzeniem. Obejmuje też parametry odtworzone z parametrów odesłania, a nie tylko wartości UTM. |
manual_term | CIĄG ZNAKÓW | Słowo kluczowe lub hasło kampanii ręcznej (utm_term), które zostało zebrane ze zdarzeniem. |
manual_content | CIĄG ZNAKÓW | Dodatkowe metadane kampanii ręcznej (utm_content), które zostały zebrane ze zdarzeniem. |
gclid | CIĄG ZNAKÓW | Identyfikator kliknięcia Google, który został zebrany ze zdarzeniem. |
dclid | CIĄG ZNAKÓW | Identyfikator Google Marketing Platform (GMP), który został zebrany ze zdarzeniem. |
srsltid | CIĄG ZNAKÓW | Identyfikator konta Google Merchant Center, który został zebrany ze zdarzeniem. |
Rekord traffic_source zawiera informacje o źródle wizyt, dzięki któremu udało się pozyskać użytkownika. W tabelach danych częściowych rekord ten nie jest wypełniany. Uwaga: wartości w rekordzie traffic_source nie zmieniają się, jeśli po instalacji użytkownik wchodzi w interakcje z kolejnymi kampaniami. |
||
Nazwa pola | Typ danych | Opis |
---|---|---|
traffic_source.name | CIĄG ZNAKÓW | Nazwa kampanii marketingowej, dzięki której udało się pozyskać użytkownika. W tabelach częściowych pole to nie jest wypełniane. |
traffic_source.medium | CIĄG ZNAKÓW | Nazwa medium (płatne wyniki wyszukiwania, bezpłatne wyniki wyszukiwania, e-mail itp.), dzięki któremu udało się pozyskać użytkownika. W tabelach częściowych pole to nie jest wypełniane. |
traffic_source.source | CIĄG ZNAKÓW | Nazwa sieci, dzięki której udało się pozyskać użytkownika. W tabelach danych częściowych pole to nie jest wypełniane. |
Pola stream i platform zawierają informacje o strumieniu i platformie aplikacji. | ||
Nazwa pola | Typ danych | Opis |
---|---|---|
stream_id | CIĄG ZNAKÓW | Identyfikator numeryczny strumienia danych, z którego pochodzi zdarzenie. |
platform | CIĄG ZNAKÓW | Platforma strumienia danych (sieć, system iOS lub Android), z której pochodzi zdarzenie. |
Rekord ecommerce zawiera informacje o zdarzeniach e-commerce skonfigurowanych w witrynie lub aplikacji. | ||
Nazwa pola | Typ danych | Opis |
---|---|---|
ecommerce.total_item_quantity | LICZBA CAŁKOWITA | Łączna liczba produktów w ramach tego zdarzenia, która stanowi sumę wartości items.quantity. |
ecommerce.purchase_revenue_in_usd | LICZBA ZMIENNOPRZECINKOWA | Przychody z zakupu w ramach tego zdarzenia wyrażone w dolarach amerykańskich z użyciem jednostki standardowej. Wartość podawana tylko w przypadku zdarzenia purchase. |
ecommerce.purchase_revenue | LICZBA ZMIENNOPRZECINKOWA | Przychody z zakupu w ramach tego zdarzenia wyrażone w walucie lokalnej z użyciem jednostki standardowej. Wartość podawana tylko w przypadku zdarzenia purchase. |
ecommerce.refund_value_in_usd | LICZBA ZMIENNOPRZECINKOWA | Kwota zwrotu środków w ramach tego zdarzenia wyrażona w dolarach amerykańskich z użyciem jednostki standardowej. Wartość podawana tylko w przypadku zdarzenia refund. |
ecommerce.refund_value | LICZBA ZMIENNOPRZECINKOWA | Kwota zwrotu środków w ramach tego zdarzenia wyrażona w walucie lokalnej z użyciem jednostki standardowej. Wartość podawana tylko w przypadku zdarzenia refund. |
ecommerce.shipping_value_in_usd | LICZBA ZMIENNOPRZECINKOWA | Koszt dostawy w ramach tego zdarzenia wyrażony w dolarach amerykańskich z użyciem jednostki standardowej. |
ecommerce.shipping_value | LICZBA ZMIENNOPRZECINKOWA | Koszt dostawy w ramach tego zdarzenia wyrażony w walucie lokalnej. |
ecommerce.tax_value_in_usd | LICZBA ZMIENNOPRZECINKOWA | Wartość podatku w ramach tego zdarzenia wyrażona w dolarach amerykańskich z użyciem jednostki standardowej. |
ecommerce.tax_value | LICZBA ZMIENNOPRZECINKOWA | Wartość podatku w ramach tego zdarzenia wyrażona w walucie lokalnej z użyciem jednostki standardowej. |
ecommerce.transaction_id | CIĄG ZNAKÓW | Identyfikator transakcji e-commerce. |
ecommerce.unique_items | LICZBA CAŁKOWITA | Liczba unikalnych produktów w ramach tego zdarzenia ustalona na podstawie wartości atrybutów item_id, item_name i item_brand. |
Rekord items zawiera informacje o produktach uwzględnionych w zdarzeniu. Jest powtarzany w przypadku każdego produktu. | ||
Nazwa pola | Typ danych | Opis |
---|---|---|
items.item_id | CIĄG ZNAKÓW | Identyfikator produktu. |
items.item_name | CIĄG ZNAKÓW | Nazwa produktu. |
items.item_brand | CIĄG ZNAKÓW | Marka produktu. |
items.item_variant | CIĄG ZNAKÓW | Wariant produktu. |
items.item_category | CIĄG ZNAKÓW | Kategoria produktu. |
items.item_category2 | CIĄG ZNAKÓW | Podkategoria produktu. |
items.item_category3 | CIĄG ZNAKÓW | Podkategoria produktu. |
items.item_category4 | CIĄG ZNAKÓW | Podkategoria produktu. |
items.item_category5 | CIĄG ZNAKÓW | Podkategoria produktu. |
items.price_in_usd | LICZBA ZMIENNOPRZECINKOWA | Cena produktu w dolarach amerykańskich podana z użyciem jednostki standardowej. |
items.price | LICZBA ZMIENNOPRZECINKOWA | Cena produktu w walucie lokalnej. |
items.quantity | LICZBA CAŁKOWITA | Liczba sztuk produktu. Jeśli jej nie określisz, domyślną wartością będzie 1. |
items.item_revenue_in_usd | LICZBA ZMIENNOPRZECINKOWA | Przychody z tego produktu obliczone według wzoru: price_in_usd * quantity. Wartość podawana tylko w przypadku zdarzenia purchase w dolarach amerykańskich z użyciem jednostki standardowej. |
items.item_revenue | LICZBA ZMIENNOPRZECINKOWA | Przychody z tego produktu obliczone według wzoru: price * quantity. Wartość podawana tylko w przypadku zdarzenia purchase w walucie lokalnej z użyciem jednostki standardowej. |
items.item_refund_in_usd | LICZBA ZMIENNOPRZECINKOWA | Wartość zwrotu środków za ten produkt obliczona według wzoru: price_in_usd * quantity. Podawana tylko w przypadku zdarzenia refund w dolarach amerykańskich z użyciem jednostki standardowej. |
items.item_refund | LICZBA ZMIENNOPRZECINKOWA | Wartość zwrotu środków za ten produkt obliczona według wzoru: price * quantity. Podawana tylko w przypadku zdarzenia refund w walucie lokalnej z użyciem jednostki standardowej. |
items.coupon | CIĄG ZNAKÓW | Kod kuponu zastosowanego do tego produktu. |
items.affiliation | CIĄG ZNAKÓW | Powiązanie produktu umożliwiające wskazanie jego dostawcy lub lokalizacji sklepu stacjonarnego. |
items.location_id | CIĄG ZNAKÓW | Lokalizacja powiązana z produktem. |
items.item_list_id | CIĄG ZNAKÓW | Identyfikator listy, na której produkt został przedstawiony użytkownikowi. |
items.item_list_name | CIĄG ZNAKÓW | Nazwa listy, na której produkt został przedstawiony użytkownikowi. |
Items.item_list_index | CIĄG ZNAKÓW | Pozycja produktu na liście. |
items.promotion_id | CIĄG ZNAKÓW | Identyfikator promocji produktu. |
items.promotion_name | CIĄG ZNAKÓW | Nazwa promocji produktu. |
items.creative_name | CIĄG ZNAKÓW | Nazwa kreacji użytej w spocie promocyjnym. |
items.creative_slot | CIĄG ZNAKÓW | Nazwa boksu kreacji. |
Rekord item_params
Rekord item_params przechowuje zdefiniowane przez Ciebie niestandardowe parametry produktu. Pamiętaj, że wstępnie zdefiniowane parametry produktu, takie jak item_id czy item_name, nie są tutaj uwzględnione. Zamiast tego są eksportowane jako pola jawne. Zestaw parametrów zapisanych w rekordzie item_params jest unikalny dla każdej implementacji. Więcej informacji o implementacjach e-commerce i tablicy items Google Analytics 4 znajdziesz w artykule Pomiar e-commerce. |
||
Nazwa pola | Typ danych | Opis |
---|---|---|
items.item_params.key | CIĄG ZNAKÓW | Nazwa parametru produktu. |
items.item_params.value | REKORD | Rekord zawierający wartość parametru produktu. |
items.item_params.value.string_value | CIĄG ZNAKÓW | Jeśli parametr produktu jest ciągiem znaków, zostaje wypełniony w tym polu. |
items.item_params.value.int_value | LICZBA CAŁKOWITA | Jeśli parametr produktu jest liczbą całkowitą, zostaje wypełniony w tym polu. |
items.item_params.value.double_value | LICZBA ZMIENNOPRZECINKOWA | Jeśli parametr produktu jest wartością podwójnej precyzji, zostaje wypełniony w tym polu. |
items.item_params.value.float_value | LICZBA ZMIENNOPRZECINKOWA | Jeśli parametr produktu jest liczbą zmiennoprzecinkową, zostaje wypełniony w tym polu. |
Wiersze
Dane o pojedynczym zdarzeniu mogą być widoczne w jednym wierszu lub w większej ich liczbie w zależności od tego, czy zawiera ono powtarzające się rekordy. Na przykład zdarzenie page_view
z większą liczbą parametrów event_params
wyglądałoby podobnie do tabeli poniżej. Początkowy wiersz zawiera nazwę zdarzenia, datę, sygnaturę czasową i inne niepowtarzalne elementy danych. Rekord event_params
jest powtarzany w przypadku każdego parametru powiązanego ze zdarzeniem. Te powtarzające się rekordy są wypełniane w kolejnych wierszach bezpośrednio pod początkowym wierszem zdarzenia.
event_date | event_timestamp | event_name | event_params.key | event_params_value.string_value |
---|---|---|---|---|
20220222 | 1643673600483790 | page_view | page_location | https://example.com |
page_title | Strona główna | |||
medium | referral | |||
source | ||||
page_referrer | https://www.google.com | |||
<parametry…> | <wartości…> |
Te dane o zdarzeniu wyświetlają się w interfejsie GA4 w ten sposób.
Jeśli używasz starszych wersji pakietu SDK i planujesz jego uaktualnienie na Androidzie do wersji 17.2.5 (lub nowszej) lub na iOS do wersji 16.20.0 (lub nowszej), pamiętaj o tych kwestiach:
- Aby korzystać z bieżącego schematu BigQuery Export, musisz uaktualnić swój pakiet SDK na Androida do wersji 17.2.5 (lub nowszej) lub na iOS do wersji 16.20.0 (lub nowszej). Jeśli używasz starszych wersji pakietu SDK, wyeksportowane dane będą zgodne ze starym schematem.
- Po uaktualnieniu będziesz mieć dostęp do danych produktów tylko w tablicy powtórzonych produktów. Dane produktów nie będą już dostępne w standardowych parametrach zdarzeń, jak miało to miejsce w przypadku starszych wersji pakietu SDK.
- Ta zmiana została wprowadzona, by umożliwić analizę wielu produktów.
- Dlatego może być konieczne dostosowanie odwołań do danych o produktach.
- Zaloguj się na stronie konsoli Cloud Platform > Zarządzaj zasobami.
- Otwórz projekt, którego dane chcesz przenieść, i kliknij Aktywuj Google Cloud Shell u góry strony.
- Gdy powłoka się otworzy, skopiuj ten skrypt do pliku
migration_script.sql
:- Wykonaj polecenie
cat > migration_script.sql
- Skopiuj poniższy skrypt i wklej go do powłoki.
- Naciśnij Ctrl+D, by zapisać zmiany i zamknąć powłokę.
SELECT @date AS event_date, event.timestamp_micros AS event_timestamp, event.previous_timestamp_micros AS event_previous_timestamp, event.name AS event_name, event.value_in_usd AS event_value_in_usd, user_dim.bundle_info.bundle_sequence_id AS event_bundle_sequence_id, user_dim.bundle_info.server_timestamp_offset_micros as event_server_timestamp_offset, ( SELECT ARRAY_AGG(STRUCT(event_param.key AS key, STRUCT(event_param.value.string_value AS string_value, event_param.value.int_value AS int_value, event_param.value.double_value AS double_value, event_param.value.float_value AS float_value) AS value)) FROM UNNEST(event.params) AS event_param) AS event_params, user_dim.first_open_timestamp_micros AS user_first_touch_timestamp, user_dim.user_id AS user_id, user_dim.app_info.app_instance_id AS user_pseudo_id, "" AS stream_id, user_dim.app_info.app_platform AS platform, STRUCT( user_dim.ltv_info.revenue AS revenue, user_dim.ltv_info.currency AS currency ) AS user_ltv, STRUCT( user_dim.traffic_source.user_acquired_campaign AS name, user_dim.traffic_source.user_acquired_medium AS medium, user_dim.traffic_source.user_acquired_source AS source ) AS traffic_source, STRUCT( user_dim.geo_info.continent AS continent, user_dim.geo_info.country AS country, user_dim.geo_info.region AS region, user_dim.geo_info.city AS city ) AS geo, STRUCT( user_dim.device_info.device_category AS category, user_dim.device_info.mobile_brand_name, user_dim.device_info.mobile_model_name, user_dim.device_info.mobile_marketing_name, user_dim.device_info.device_model AS mobile_os_hardware_model, @platform AS operating_system, user_dim.device_info.platform_version AS operating_system_version, user_dim.device_info.device_id AS vendor_id, user_dim.device_info.resettable_device_id AS advertising_id, user_dim.device_info.user_default_language AS language, user_dim.device_info.device_time_zone_offset_seconds AS time_zone_offset_seconds, IF(user_dim.device_info.limited_ad_tracking, "Yes", "No") AS is_limited_ad_tracking ) AS device, STRUCT( user_dim.app_info.app_id AS id, @firebase_app_id AS firebase_app_id, user_dim.app_info.app_version AS version, user_dim.app_info.app_store AS install_source ) AS app_info, ( SELECT ARRAY_AGG(STRUCT(user_property.key AS key, STRUCT(user_property.value.value.string_value AS string_value, user_property.value.value.int_value AS int_value, user_property.value.value.double_value AS double_value, user_property.value.value.float_value AS float_value, user_property.value.set_timestamp_usec AS set_timestamp_micros ) AS value)) FROM UNNEST(user_dim.user_properties) AS user_property) AS user_properties FROM `SCRIPT_GENERATED_TABLE_NAME`, UNNEST(event_dim) AS event
- Wykonaj polecenie
- Otwórz nową powłokę i skopiuj ten skrypt do pliku
migration.sh
:- Wykonaj polecenie
cat > migration.sh
- Skopiuj poniższy skrypt i wklej go do powłoki.
- Naciśnij Ctrl+D, by zapisać zmiany i zamknąć powłokę.
Zmodyfikuj widoczny poniżej skrypt, aby uwzględnić identyfikator usługi Analytics, identyfikator projektu BigQuery, identyfikator aplikacji Firebase, nazwę zbioru danych BigQuery oraz daty rozpoczęcia i zakończenia okresu, w którego przypadku chcesz uruchomić migrację danych.Skrypt (migration.sh):# Identyfikator usługi Analytics dla projektu. Znajdziesz go w Ustawieniach Analytics w Firebase. PROPERTY_ID=identyfikator Twojej usługi Analytics # Eksportowany projekt BigQuery. BQ_PROJECT_ID="identyfikator Twojego projektu BigQuery" (np. "firebase-public-project") # Identyfikator Firebase danej aplikacji. FIREBASE_APP_ID="identyfikator Firebase Twojej aplikacji" (np. "1:300830567303:ios:09b1ab1d3ca29bda") # Zbiór danych, z którego importujesz informacje. BQ_DATASET="nazwa zestawu BigQuery, z którego chcesz importować dane" (np. "com_firebase_demo_IOS") # Platforma PLATFORM="platforma aplikacji. ANDROID lub IOS" # Zakres dat, dla których chcesz uruchomić migrację: włącznie z [START_DATE,END_DATE]. START_DATE=20180324 END_DATE=20180327 # Nie zmieniaj poniższego skryptu, jeśli nie masz odpowiednich kwalifikacji :) startdate=$(date -d"$START_DATE" +%Y%m%d) || exit -1 enddate=$(date -d"$END_DATE" +%Y%m%d) || exit -1 # Powtarzaj dla kolejnych dat. DATE="$startdate" while [ "$DATE" -le "$enddate" ]; do # Tabela BQ stworzona z powyższych parametrów. BQ_TABLE="$BQ_PROJECT_ID.$BQ_DATASET.app_events_$DATE" echo "Migrating $BQ_TABLE" cat migration_script.sql | sed -e "s/SCRIPT_GENERATED_TABLE_NAME/$BQ_TABLE/g" | bq query \ --debug_mode \ --allow_large_results \ --noflatten_results \ --use_legacy_sql=False \ --destination_table analytics_$PROPERTY_ID.events_$DATE \ --batch \ --append_table \ --parameter=firebase_app_id::$FIREBASE_APP_ID \ --parameter=date::$DATE \ --parameter=platform::$PLATFORM \ --project_id=$BQ_PROJECT_ID temp=$(date -I -d "$DATE + 1 day") DATE=$(date -d "$temp" +%Y%m%d) done exit # KONIEC SKRYPTU
- Wykonaj polecenie
- Otwórz nową powłokę i wykonaj polecenie
bash migration.sh
user_dim
Nazwa pola | Typ danych | Opis |
---|---|---|
user_dim | REKORD | Rekord z wymiarami dotyczącymi użytkownika. |
user_dim.user_id | CIĄG ZNAKÓW | Identyfikator użytkownika ustawiony poprzez polecenie interfejsu API setUserId. |
user_dim.first_open_timestamp_micros | LICZBA CAŁKOWITA | Czas pierwszego otwarcia aplikacji (w mikrosekundach). |
user_dim.user_properties | REKORD | Powtarzający się rekord właściwości użytkownika ustawionych poprzez polecenie interfejsu API setUserProperty. |
user_dim.user_properties.key | CIĄG ZNAKÓW | Nazwa właściwości użytkownika. |
user_dim.user_properties.value | REKORD | Rekord z informacjami o właściwości użytkownika. |
user_dim.user_properties.value.value | REKORD | Rekord z wartością właściwości użytkownika. |
user_dim.user_properties.value.value.string_value | CIĄG ZNAKÓW | Wartość ciągu przypisana do właściwości użytkownika. |
user_dim.user_properties.value.value.int_value | LICZBA CAŁKOWITA | Wartość liczby całkowitej przypisana do właściwości użytkownika. |
user_dim.user_properties.value.value.double_value | LICZBA ZMIENNOPRZECINKOWA | Wartość podwójnej precyzji przypisana do właściwości użytkownika. |
user_dim.user_properties.value.set_timestamp_usec | LICZBA CAŁKOWITA | Czas ostatniego ustawienia właściwości użytkownika (w mikrosekundach). |
user_dim.user_properties.value.index | LICZBA CAŁKOWITA | Indeks (0–24) właściwości użytkownika. |
user_dim.device_info | REKORD | Rekord z informacjami o urządzeniu. |
user_dim.device_info.device_category | CIĄG ZNAKÓW | Kategoria urządzenia (komórka, tablet lub komputer). |
user_dim.device_info.mobile_brand_name | CIĄG ZNAKÓW | Marka urządzenia. |
user_dim.device_info.mobile_model_name | CIĄG ZNAKÓW | Nazwa modelu urządzenia. |
user_dim.device_info.mobile_marketing_name | CIĄG ZNAKÓW | Nazwa marketingowa urządzenia. |
user_dim.device_info.device_model | CIĄG ZNAKÓW | Model urządzenia. |
user_dim.device_info.platform_version | CIĄG ZNAKÓW | Wersja systemu operacyjnego. |
user_dim.device_info.device_id | CIĄG ZNAKÓW | IDFV (tylko gdy identyfikator IDFA jest niedostępny). |
user_dim.device_info.resettable_device_id | CIĄG ZNAKÓW | Identyfikator wyświetlania reklam / IDFA. |
user_dim.device_info.user_default_language | CIĄG ZNAKÓW | Język systemu operacyjnego. |
user_dim.device_info.device_time_zone_offset_seconds | LICZBA CAŁKOWITA | Przesunięcie w stosunku do strefy czasowej GMT (w sekundach). |
user_dim.device_info.limited_ad_tracking | WARTOŚĆ LOGICZNA | Ustawienie ograniczenia śledzenia reklam na urządzeniu. |
user_dim.geo_info | REKORD | Rekord z danymi geograficznymi użytkownika. |
user_dim.geo_info.continent | CIĄG ZNAKÓW | Kontynent, z którego zostały zgłoszone zdarzenia, określony na podstawie adresu IP. |
user_dim.geo_info.country | CIĄG ZNAKÓW | Kraj, z którego zostały zgłoszone zdarzenia, określony na podstawie adresu IP. |
user_dim.geo_info.region | CIĄG ZNAKÓW | Region, z którego zostały zgłoszone zdarzenia, określony na podstawie adresu IP. |
user_dim.geo_info.city | CIĄG ZNAKÓW | Miasto, z którego zostały zgłoszone zdarzenia, określone na podstawie adresu IP. |
user_dim.app_info | REKORD | Rekord z informacjami o aplikacji. |
user_dim.app_info.app_version | CIĄG ZNAKÓW | Wartość parametru versionName (Android) lub skrócona wersja pakietu. |
user_dim.app_info.app_instance_id | CIĄG ZNAKÓW | Unikalny identyfikator tej instancji aplikacji. |
user_dim.app_info.app_store | CIĄG ZNAKÓW | Sklep, z którego zainstalowano aplikację. |
user_dim.app_info.app_platform | CIĄG ZNAKÓW | Platforma, na której działa aplikacja. |
user_dim.traffic_source | REKORD | Nazwa źródła wizyt wykorzystanego do pozyskania użytkownika. W tabelach danych częściowych pole to nie jest wypełniane. |
user_dim.traffic_source.user_acquired_campaign | CIĄG ZNAKÓW | Nazwa kampanii marketingowej, dzięki której pozyskano użytkownika. W tabelach danych częściowych pole to nie jest wypełniane. |
user_dim.traffic_source.user_acquired_medium | CIĄG ZNAKÓW | Nazwa medium (płatne wyniki wyszukiwania, bezpłatne wyniki wyszukiwania, e-mail itp.), dzięki któremu pozyskano użytkownika. W tabelach częściowych pole to nie jest wypełniane. |
user_dim.traffic_source.user_acquired_source | CIĄG ZNAKÓW | Nazwa sieci, dzięki której pozyskano użytkownika. W tabelach danych częściowych pole to nie jest wypełniane. |
user_dim.bundle_info | REKORD | Rekord z informacjami o zestawie, w którym zostały przesłane te zdarzenia. |
user_dim.bundle_info.bundle_sequence_id | LICZBA CAŁKOWITA | Identyfikator sekwencyjny zestawu, w którym zostały przesłane te zdarzenia. |
user_dim.ltv_info | REKORD | Rekord z informacjami o użytkowniku dotyczącymi wartości od początku śledzenia. W tabelach danych częściowych pole to nie jest wypełniane. |
user_dim.ltv_info.revenue | LICZBA ZMIENNOPRZECINKOWA | Wartość użytkownika od początku śledzenia (przychody). W tabelach danych częściowych pole to nie jest wypełniane. |
user_dim.ltv_info.currency | CIĄG ZNAKÓW | Wartość użytkownika od początku śledzenia (waluta). W tabelach danych częściowych pole to nie jest wypełniane. |
event_dim
Nazwa pola | Typ danych | Opis |
---|---|---|
event_dim | REKORD | Powtarzający się rekord z informacjami dotyczącymi zdarzeń w tym zestawie. |
event_dim.date | CIĄG ZNAKÓW | Data rejestracji zdarzenia (w formacie RRRRMMDD i w strefie czasowej aplikacji). |
event_dim.name | CIĄG ZNAKÓW | Nazwa zdarzenia. |
event_dim.params | REKORD | Powtarzający się rekord z parametrami powiązanymi z tym zdarzeniem. |
event_dim.params.key | CIĄG ZNAKÓW | Klucz parametru zdarzenia. |
event_dim.params.value | REKORD | Rekord z wartością parametru zdarzenia. |
event_dim.params.value.string_value | CIĄG ZNAKÓW | Wartość ciągu przypisana do parametru zdarzenia. |
event_dim.params.value.int_value | LICZBA CAŁKOWITA | Wartość liczby całkowitej przypisana do parametru zdarzenia. |
event_dim.params.value.double_value | LICZBA ZMIENNOPRZECINKOWA | Wartość podwójnej precyzji przypisana do parametru zdarzenia. |
event_dim.timestamp_micros | LICZBA CAŁKOWITA | Czas zarejestrowania tego zdarzenia przez klienta (w mikrosekundach, UTC). |
event_dim.previous_timestamp_micros | LICZBA CAŁKOWITA | Czas poprzedniego zarejestrowania tego zdarzenia przez klienta (w mikrosekundach, UTC). |