U ovom se članku objašnjavaju format i shema za podatke Google Analytics 4 entiteta i podatke Google Analyticsa za Firebase koji se izvoze u BigQuery.
Skupovi podataka
Za svaki Google Analytics 4 entitet i svaki Firebase projekt koji je povezan s BigQueryjem, u vaš BigQuery projekt dodaje se jedan skup podataka pod nazivom "analytics_<property_id>". ID entiteta odnosi se na ID Analytics entiteta koji možete pronaći u postavkama Google Analytics 4 entiteta te u postavkama analitike aplikacije u Firebaseu. Svaki Google Analytics 4 entitet i svaka aplikacija za koju je omogućen izvoz u BigQuery izvozit će podatke u taj skup podataka.
Tablice
Ako je omogućena opcija Dnevni izvoz, unutar svakog skupa podataka svaki dan izrađuje se tablica s nazivom events_YYYYMMDD
.
Ako je omogućena opcija Streaming izvoza, izrađuje se dodatna tablica events_intraday_YYYYMMDD
. Ta se tablica kontinuirano popunjava jer se događaji bilježe tijekom dana. Ta se tablica briše na kraju svakog dana kad events_YYYYMMDD
završi.
Neki uređaji na kojima se pokreću događaji ne šalju podatke Analyticsu isti dan. Da bi se nadoknadilo to kašnjenje, Analytics ažurira dnevne tablice (events_YYYYMMDD
) događajima za te datume do tri dana nakon datuma događaja. Događaji će imati ispravnu vremensku oznaku bez obzira na kašnjenje. Događaji koji ne stignu u tom roku od tri dana ne bilježe se.
Ako upotrebljavate testno okruženje BigQuery, događaji se ne uvoze unutar istog dana i primjenjuju se dodatna ograničenja.
Nadogradite iz testnog okruženja ako želite uvoz unutar istog dana.
Stupci
Svaki stupac u tablici events_YYYYMMDD
predstavlja parametar specifičan za događaj. Imajte na umu da su neki parametri ugniježđeni u stavci RECORDS, a neke su stavke RECORDS, kao što su items
i event_params
, ponavljajuće. Stupci tablice opisani su u nastavku.
Polja događaja sadrže informacije koje jedinstveno identificiraju neki događaj. | ||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
event_date | NIZ | Datum bilježenja događaja (format YYYYMMDD u registriranoj vremenskoj zoni aplikacije). |
event_timestamp | CIJELI BROJ | Vrijeme (u mikrosekundama, UTC) bilježenja događaja na klijentu. |
event_previous_timestamp | CIJELI BROJ | Vrijeme (u mikrosekundama, UTC) prethodnog bilježenja događaja na klijentu. |
event_name | NIZ | Naziv događaja. |
event_value_in_usd | BROJ S POMIČNIM ZAREZOM | Vrijednost izražena u valuti (USD) parametra "value" događaja. |
event_bundle_sequence_id | CIJELI BROJ | Sekvencijalni ID skupa u sklopu kojeg su događaji preneseni. |
event_server_timestamp_offset | CIJELI BROJ | Pomak vremenske oznake između vremena prikupljanja i vremena prijenosa u mikrosekundama. |
event_params RECORD
Stavka event_params RECORD može pohranjivati parametre na razini kampanje i kontekstualnih događaja, kao i sve korisnički definirane parametre događaja. Event_params RECORD ponavlja se za svaki ključ koji je povezan s događajem. Skup parametara pohranjenih u stavci event_params RECORD jedinstven je za svaku implementaciju. Da biste vidjeli cjeloviti popis parametara događaja za implementaciju, zatražite popis parametara događaja. |
||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
event_params.key | NIZ | Naziv parametra događaja. |
event_params.value | ZAPIS | Zapis koji sadrži vrijednost parametra događaja. |
event_params.value.string_value | NIZ | Ako je parametar događaja predstavljen nizom, kao što je naziv URL-a ili kampanje, popunjava se u ovom polju. |
event_params.value.int_value | CIJELI BROJ | Ako je parametar događaja predstavljen cijelim brojem, popunjava se u ovom polju. |
event_params.value.double_value | BROJ S POMIČNIM ZAREZOM | Ako je parametar događaja predstavljen dvostrukom vrijednošću, popunjava se u ovom polju. |
event_params.value.float_value | BROJ S POMIČNIM ZAREZOM | Ako parametar događaja predstavlja vrijednost s pomičnim zarezom, popunjava se u ovom polju. To se polje trenutačno ne upotrebljava. |
item_params RECORD
Stavka item_params RECORD može pohranjivati parametre stavke, kao i sve korisnički definirane parametre stavke. Skup parametara pohranjenih u stavci item_params RECORD jedinstven je za svaku implementaciju. |
||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
item_params.key | NIZ | Naziv parametra stavke. |
item_params.value | ZAPIS | Zapis koji sadrži vrijednost parametra stavke. |
item_params.value.string_value | NIZ | Ako parametar stavke predstavlja niz, popunjava se u ovom polju. |
item_params.value.int_value | CIJELI BROJ | Ako parametar stavke predstavlja cijeli broj, popunjava se u ovom polju. |
item_params.value.double_value | BROJ S POMIČNIM ZAREZOM | Ako parametar stavke predstavlja dvostruka vrijednost, popunjava se u ovom polju. |
item_params.value.float_value | BROJ S POMIČNIM ZAREZOM | Ako parametar stavke predstavlja vrijednost s pomičnim zarezom, popunjava se u ovom polju. |
Polja korisnika sadrže informacije kojima se jedinstveno identificira korisnik povezan s događajem. | ||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
is_active_user | BOOLEOVA VRIJEDNOST |
Podatak o tome je li korisnik bio aktivan (True) ili neaktivan (False) u bilo kojem trenutku u kalendarskom danu Uključeno samo u dnevne tablice ( |
user_id | NIZ | Jedinstveni ID dodijeljen korisniku. |
user_pseudo_id | NIZ | Pseudonomizirani ID (npr. ID instance aplikacije) za korisnika. |
user_first_touch_timestamp | CIJELI BROJ | Vrijeme (u mikrosekundama) kad je korisnik prvi put otvorio aplikaciju ili posjetio web-lokaciju. |
polja privacy_info
Polja privacy_info sadrže informacije na temelju statusa pristanka korisnika kada je omogućen način pristanka. | ||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
privacy_info.ads_storage | NIZ |
Je li ciljanje oglasa omogućeno za korisnika. Moguće vrijednosti: Da, Ne, Nije postavljeno |
privacy_info.analytics_storage | NIZ |
Je li Analytics pohrana omogućena za korisnika. Moguće vrijednosti: Da, Ne, Nije postavljeno |
privacy_info.uses_transient_token | NIZ |
Je li web-korisniku odbijena Analytics pohrana i razvojni je programer omogućio mjerenje bez kolačića na temelju privremenih oznaka u podacima s poslužitelja. Moguće vrijednosti: Da, Ne, Nije postavljeno |
user_properties RECORD
Stavka user_properties RECORD sadrži sva korisnička svojstva koja ste postavili. Ponavlja se za svaki ključ povezan s korisnikom. | ||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
user_properties.key | NIZ | Naziv korisničkog svojstva. |
user_properties.value | ZAPIS | Zapis vrijednosti korisničkog svojstva. |
user_properties.value.string_value | NIZ | Vrijednost korisničkog svojstva u obliku niza. |
user_properties.value.int_value | CIJELI BROJ | Vrijednost korisničkog svojstva u obliku cijelog broja. |
user_properties.value.double_value | BROJ S POMIČNIM ZAREZOM | Dvostruka vrijednost korisničkog svojstva. |
user_properties.value.float_value | BROJ S POMIČNIM ZAREZOM | To se polje trenutačno ne upotrebljava. |
user_properties.value.set_timestamp_micros | CIJELI BROJ | Vrijeme (u mikrosekundama) zadnjeg postavljanja korisničkog svojstva. |
user_ltv RECORD
Stavka user_ltv RECORD sadrži informacije o trajnoj vrijednosti korisnika. Ovaj RECORD ne ispunjava se u tablicama podataka unutar jednog dana. | ||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
user_ltv.revenue | BROJ S POMIČNIM ZAREZOM | Trajna vrijednost korisnika (prihod). To se polje ne popunjava u tablicama podataka unutar jednog dana. |
user_ltv.currency | NIZ | Trajna vrijednost korisnika (valuta). To se polje ne popunjava u tablicama podataka unutar jednog dana. |
Stavka device RECORD sadrži informacije o uređaju s kojeg događaj potječe. | ||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
device.category | NIZ | Kategorija uređaja (mobilni uređaj, tablet, stolno računalo). |
device.mobile_brand_name | NIZ | Naziv robne marke uređaja. |
device.mobile_model_name | NIZ | Naziv modela uređaja. |
device.mobile_marketing_name | NIZ | Marketinški naziv uređaja. |
device.mobile_os_hardware_model | NIZ | Podaci o modelu uređaja dohvaćeni izravno iz operativnog sustava. |
device.operating_system | NIZ | Operativni sustav uređaja. |
device.operating_system_version | NIZ | Verzija OS-a. |
device.vendor_id | NIZ | IDFV (prisutno samo ako se IDFA ne prikuplja). |
device.advertising_id | NIZ | ID/IDFA za oglašavanje. |
device.language | NIZ | Jezik OS-a. |
device.time_zone_offset_seconds | CIJELI BROJ | Pomak od zone GMT u sekundama. |
device.is_limited_ad_tracking | BOOLEOVA VRIJEDNOST |
Postavka uređaja za ograničavanje praćenja oglasa. U sustavu iOS 14+ vraća vrijednost false ako vrijednost IDFA nije nula. |
device.web_info.browser | NIZ | Preglednik u kojem je korisnik pregledao sadržaj. |
device.web_info.browser_version | NIZ | Verzija preglednika u kojem je korisnik pregledao sadržaj. |
device.web_info.hostname | NIZ | Naziv hosta povezan sa zabilježenim događajem. |
geo
Stavka geo RECORD sadrži informacije o geografskoj lokaciji na kojoj je događaj pokrenut. | ||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
geo.continent | NIZ | Kontinent s kojeg su događaji prijavljeni na temelju IP adrese. |
geo.sub_continent | NIZ | Potkontinent s kojeg su događaji prijavljeni na temelju IP adrese. |
geo.country | NIZ | Zemlja iz koje su događaji prijavljeni na temelju IP adrese. |
geo.region | NIZ | Područje iz kojeg su događaji prijavljeni na temelju IP adrese. |
geo.metro | NIZ | Područje metropole iz kojeg su događaji prijavljeni na temelju IP adrese. |
geo.city | NIZ | Grad iz kojeg su događaji prijavljeni na temelju IP adrese. |
Stavka app_info RECORD sadrži informacije o aplikaciji u kojoj je događaj pokrenut. | ||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
app_info.id | NIZ | Naziv paketa ili ID skupa aplikacije. |
app_info.firebase_app_id | NIZ | ID Firebase aplikacije povezan s aplikacijom. |
app_info.install_source | NIZ | Trgovina u kojoj je aplikacija instalirana. |
app_info.version | NIZ | Naziv verzije versionName (Android) ili kratka verzija skupa aplikacije. |
Zapis collected_traffic_source sadrži podatke o izvoru prometa koji su prikupljeni s događajem. |
||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
manual_campaign_id | NIZ | Ručni ID kampanje (utm_id) koji je prikupljen uz događaj. |
manual_campaign_name | NIZ | Ručni naziv kampanje (utm_campaign) koji je prikupljen uz događaj. |
manual_source | NIZ | Ručni izvor kampanje (utm_source) koji je prikupljen uz događaj. Uključuje i raščlanjene parametre iz parametara preporuke, a ne samo UTM vrijednosti. |
manual_medium | NIZ | Ručni medij kampanje (utm_medium) koji je prikupljen uz događaj. Uključuje i raščlanjene parametre iz parametara preporuke, a ne samo UTM vrijednosti. |
manual_term | NIZ | Ručna ključna riječ/izraz (utm_term) kampanje koji je prikupljen uz događaj. |
manual_content | NIZ | Dodatni ručni metapodaci kampanje (utm_content) koji su prikupljeni uz događaj. |
gclid | NIZ | Googleov identifikator klika koji je prikupljen uz događaj. |
dclid | NIZ | Identifikator Google Marketing Platforma (GMP) koji je prikupljen uz događaj. |
srsltid | NIZ | Identifikator Google Merchant Centera koji je prikupljen uz događaj. |
Stavka traffic_source RECORD sadrži informacije o izvoru prometa putem kojeg je prvo ostvarena akvizicija korisnika. Ovaj se zapis ne popunjava u tablicama podataka unutar jednog dana. Napomena: vrijednosti traffic_source ne mijenjaju se ako korisnik stupi u interakciju s naknadnim kampanjama nakon instalacije. |
||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
traffic_source.name | NIZ | Naziv marketinške kampanje putem koje je prvo ostvarena akvizicija korisnika. To se polje ne popunjava u tablicama podataka unutar jednog dana. |
traffic_source.medium | NIZ | Naziv medija (plaćeno pretraživanje, organsko pretraživanje, e-pošta itd.) putem kojeg je prvo ostvarena akvizicija korisnika. To se polje ne popunjava u tablicama podataka unutar jednog dana. |
traffic_source.source | NIZ | Naziv mreže putem koje je prvo ostvarena akvizicija korisnika. To se polje ne popunjava u tablicama podataka unutar jednog dana. |
Polja stream i platform sadrže informacije o streamu i platformi aplikacije. | ||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
stream_id | NIZ | Brojčani ID izvora streama podataka iz kojeg događaj potječe. |
platform | NIZ | Platforma za streaming podataka (web, iOS ili Android) s koje događaj potječe. |
Ovaj ecommerce RECORD sadrži informacije o svim događajima e-trgovine koji su postavljeni na web-lokaciji ili u aplikaciji. | ||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
ecommerce.total_item_quantity | CIJELI BROJ | Ukupan broj stavki u ovom događaju, odnosno zbroj za items.quantity. |
ecommerce.purchase_revenue_in_usd | BROJ S POMIČNIM ZAREZOM | Prihod od kupnje za taj događaj izražen u američkim dolarima uz standardnu jedinicu. Popunjava se samo za događaj kupnje. |
ecommerce.purchase_revenue | BROJ S POMIČNIM ZAREZOM | Prihod od kupnje za taj događaj prikazan u lokalnoj valuti uz standardnu jedinicu. Popunjava se samo za događaj kupnje. |
ecommerce.refund_value_in_usd | BROJ S POMIČNIM ZAREZOM | Iznos povrata novca u ovom događaju, izražen u američkim dolarima uz standardnu jedinicu. Popunjava se samo za događaj povrata. |
ecommerce.refund_value | BROJ S POMIČNIM ZAREZOM | Iznos povrata novca u ovom događaju, izražen u lokalnoj valuti uz standardnu jedinicu. Popunjava se samo za događaj povrata. |
ecommerce.shipping_value_in_usd | BROJ S POMIČNIM ZAREZOM | Cijena dostave u ovom događaju izražena u američkim dolarima uz standardnu jedinicu. |
ecommerce.shipping_value | BROJ S POMIČNIM ZAREZOM | Cijena dostave u ovom događaju izražena u lokalnoj valuti. |
ecommerce.tax_value_in_usd | BROJ S POMIČNIM ZAREZOM | Vrijednost poreza u ovom događaju izražena u američkim dolarima uz standardnu jedinicu. |
ecommerce.tax_value | BROJ S POMIČNIM ZAREZOM | Vrijednost poreza u ovom događaju izražena u lokalnoj valuti uz standardnu jedinicu. |
ID transakcije e-trgovine | NIZ | ID transakcije za transakciju e-trgovine. |
ecommerce.unique_items | CIJELI BROJ | Broj jedinstvenih artikala u ovom događaju, na temelju vrijednosti item_id, item_name i item_brand. |
Stavka items RECORD sadrži informacije o stavkama koje su uključene u događaj. Ponavlja se za svaku stavku. | ||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
items.item_id | NIZ | ID artikla. |
items.item_name | NIZ | Naziv artikla. |
items.item_brand | NIZ | Robna marka artikla. |
items.item_variant | NIZ | Varijanta artikla. |
items.item_category | NIZ | Kategorija artikla. |
items.item_category2 | NIZ | Potkategorija artikla. |
items.item_category3 | NIZ | Potkategorija artikla. |
items.item_category4 | NIZ | Potkategorija artikla. |
items.item_category5 | NIZ | Potkategorija artikla. |
items.price_in_usd | BROJ S POMIČNIM ZAREZOM | Cijena artikla u američkim dolarima uz standardnu jedinicu. |
items.price | BROJ S POMIČNIM ZAREZOM | Cijena artikla u lokalnoj valuti. |
items.quantity | CIJELI BROJ | Količina artikla. Količina postavljena na 1 ako nije navedena. |
items.item_revenue_in_usd | BROJ S POMIČNIM ZAREZOM | Prihod od ovog artikla izračunat kao price_in_usd * količina. Popunjava se samo za događaje kupnje, u američkim dolarima uz standardnu jedinicu. |
items.item_revenue | BROJ S POMIČNIM ZAREZOM | Prihod od ovog artikla, izračunat kao cijena * količina. Popunjava se samo za događaje kupnje, u lokalnoj valuti uz standardnu jedinicu. |
items.item_refund_in_usd | BROJ S POMIČNIM ZAREZOM | Vrijednost povrata za ovaj artikl, izračunata kao price_in_usd * količina. Popunjava se samo za događaje povrata novca u američkim dolarima uz standardnu jedinicu. |
items.item_refund | BROJ S POMIČNIM ZAREZOM | Vrijednost povrata novca za ovaj artikl, izračunat kao cijena * količina. Popunjava se samo za događaje povrata novca, u lokalnoj valuti uz standardnu jedinicu. |
items.coupon | NIZ | Šifra kupona primijenjena na ovaj artikl. |
items.affiliation | NIZ | Afilijacija proizvoda koja označava tvrtku za nabavu ili fizičku lokaciju trgovine. |
items.location_id | NIZ | Lokacija povezana s artiklom. |
items.item_list_id | NIZ | ID popisa na kojem je artikl predstavljen korisniku. |
items.item_list_name | NIZ | Naziv popisa na kojem je artikl predstavljen korisniku. |
Items.item_list_index | NIZ | Položaj artikla na popisu. |
items.promotion_id | NIZ | ID promocije proizvoda. |
items.promotion_name | NIZ | Naziv promocije proizvoda. |
items.creative_name | NIZ | Naziv oglasa koji se upotrebljava na promotivnom mjestu. |
items.creative_slot | NIZ | Naziv oglasnog mjesta. |
item_params RECORD
Stavka item_params RECORD pohranjuje prilagođene parametre stavke koje ste definirali. Napominjemo da unaprijed definirani parametri stavke, kao što su item_id, item_name itd., nisu uključeni ovdje, već se izvoze kao eksplicitna polja. Skup parametara pohranjenih u stavci event_params RECORD jedinstven je za svaku implementaciju. Da biste saznali više o implementacijama e-trgovine i nizu stavki Google Analyticsa 4, pogledajte odjeljak Mjerenje e-trgovine. |
||
Naziv polja | Vrsta podatka | Opis |
---|---|---|
items.item_params.key | NIZ | Naziv parametra stavke. |
items.item_params.value | ZAPIS | Zapis koji sadrži vrijednost parametra stavke. |
items.item_params.value.string_value | NIZ | Ako parametar stavke predstavlja niz, popunjava se u ovom polju. |
items.item_params.value.int_value | CIJELI BROJ | Ako parametar stavke predstavlja cijeli broj, popunjava se u ovom polju. |
items.item_params.value.double_value | BROJ S POMIČNIM ZAREZOM | Ako parametar stavke predstavlja dvostruka vrijednost, popunjava se u ovom polju. |
items.item_params.value.float_value | BROJ S POMIČNIM ZAREZOM | Ako parametar stavke predstavlja vrijednost s pomičnim zarezom, popunjava se u ovom polju. |
Redci
Podaci za jedan događaj mogu se prikazati u jednom ili više redaka, ovisno o tome sadrže li ponovljene stavke RECORDS. Na primjer, događaj page_view
s više parametara event_params
izgledao bi slično sljedećoj tablici. Početni redak sadrži naziv, datum i vremensku oznaku događaja te ostale neponovljene podatkovne stavke. Stavka event_params
RECORD ponavlja se za svaki parametar povezan s događajem. Te se ponovljene stavke RECORDS popunjavaju u narednim recima izravno ispod retka početnog događaja.
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 | Home | |||
medium | referral | |||
source | ||||
page_referrer | https://www.google.com | |||
<parameters...> | <values...> |
Podaci o događaju prikazuju se na sljedeći način na korisničkom sučelju GA4.
Ako ste upotrebljavali prethodne verzije bilo kojeg SDK-a i planirate nadogradnju na Android 17.2.5 (ili noviju verziju) i/ili iOS 16.20.0 (ili noviju verziju), u obzir uzmite sljedeće:
- Da biste koristili trenutačnu shemu BigQuery Exporta, morate nadograditi SDK na Android 17.2.5 (ili noviji) i/ili iOS 16.20.0 (ili noviji). Kada upotrebljavate starije verzije SDK-a, izvezeni podaci odražavat će staru shemu.
- Nakon nadogradnje moći ćete pristupiti podacima o artiklu samo unutar polja ponovljenih artikala. Podaci o artiklu više neće biti dostupni u standardnim parametrima događaja kao prije ovih verzija SDK-a.
- Ta je izmjena uvedena radi podržavanja analize više proizvoda.
- Zbog toga ćete možda morati prilagoditi upućivanja na podatke o proizvodu/artiklu.
- Prijavite se na stranicu konzole Cloud Platform >: Manage resources.
- Otvorite projekt iz kojeg želite premjestiti podatke i kliknite Activate Google Cloud Shell pri vrhu stranice.
- Kad se ljuska otvori, kopirajte dolje navedenu skriptu u datoteku pod nazivom
migration_script.sql
:- Unesite naredbu
cat > migration_script.sql
- Kopirajte i zalijepite dolje navedenu skriptu u ljusku.
- Pritisnite Ctrl+D za spremanje i izlaz.
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
- Unesite naredbu
- Otvorite novu ljusku i kopirajte dolje navedenu bash skriptu u datoteku pod nazivom
migration.sh
:- Unesite naredbu
cat > migration.sh
- Kopirajte i zalijepite dolje navedenu skriptu u ljusku.
- Pritisnite Ctrl+D za spremanje i izlaz.
Uredite skriptu u nastavku tako da sadrži vaš ID Analytics entiteta, ID BigQuery projekta, ID Firebase aplikacije, naziv BigQuery skupa podataka te datume početka i završetka za podatke koje želite.Skripta (migration.sh):# ID Analytics entiteta za projekt. Pronađite to u postavkama Analyticsa u Firebaseu. PROPERTY_ID=ID vašeg Analytics svojstva # BigQuery Export projekt. BQ_PROJECT_ID="ID vašeg BigQuery projekta" (npr. "firebase-public-project") # ID Firebase aplikacije za aplikaciju. FIREBASE_APP_ID="ID vaše Firebase aplikacije" (npr. "1:300830567303:ios:09b1ab1d3ca29bda") # Skup podataka iz kojeg se vrši uvoz. BQ_DATASET="naziv BigQuery skupa podataka iz kojeg želite uvesti podatke" (npr. "com_firebase_demo_IOS") # Platforma PLATFORM="platforma aplikacije. ANDROID ili IOS" # Datumski raspon za koji želite pokrenuti premještanje, [START_DATE,END_DATE] uključivo. START_DATE=20180324 END_DATE=20180327 # Nemojte mijenjati skriptu u nastavku ako ne znate što radite :) startdate=$(date -d"$START_DATE" +%Y%m%d) || exit -1 enddate=$(date -d"$END_DATE" +%Y%m%d) || exit -1 # Provedite iteraciju datuma. DATE="$startdate" while [ "$DATE" -le "$enddate" ]; do # BQ tablica izrađena na temelju gore navedenih parametara. 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 # KRAJ SKRIPTE
- Unesite naredbu
- Otvorite novu ljusku i unesite naredbu
bash migration.sh
.
user_dim
Naziv polja | Vrsta podatka | Opis |
---|---|---|
user_dim | ZAPIS | Zapis korisničkih dimenzija. |
user_dim.user_id | NIZ | Korisnički ID postavljen pomoću setUserID API-ja. |
user_dim.first_open_timestamp_micros | CIJELI BROJ | Vrijeme (u mikrosekundama) kad je korisnik prvi put otvorio aplikaciju. |
user_dim.user_properties | ZAPIS | Ponovni zapis s korisničkim svojstvima postavljenim pomoću setUserProperty API-ja. |
user_dim.user_properties.key | NIZ | Naziv entiteta korisnika. |
user_dim.user_properties.value | ZAPIS | Zapis s podacima o entitetu korisnika. |
user_dim.user_properties.value.value | ZAPIS | Zapis vrijednosti korisničkog svojstva. |
user_dim.user_properties.value.value.string_value | NIZ | Vrijednost korisničkog svojstva u obliku niza. |
user_dim.user_properties.value.value.int_value | CIJELI BROJ | Vrijednost korisničkog svojstva u obliku cijelog broja. |
user_dim.user_properties.value.value.double_value | BROJ S POMIČNIM ZAREZOM | Dvostruka vrijednost korisničkog svojstva. |
user_dim.user_properties.value.set_timestamp_usec | CIJELI BROJ | Vrijeme (u mikrosekundama) zadnjeg postavljanja korisničkog svojstva. |
user_dim.user_properties.value.index | CIJELI BROJ | Indeks (0 – 24) entiteta korisnika. |
user_dim.device_info | ZAPIS | Zapis s podacima o uređaju. |
user_dim.device_info.device_category | NIZ | Kategorija uređaja (mobilni uređaj, tablet, stolno računalo). |
user_dim.device_info.mobile_brand_name | NIZ | Naziv robne marke uređaja. |
user_dim.device_info.mobile_model_name | NIZ | Naziv modela uređaja. |
user_dim.device_info.mobile_marketing_name | NIZ | Marketinški naziv uređaja. |
user_dim.device_info.device_model | NIZ | Model uređaja. |
user_dim.device_info.platform_version | NIZ | Verzija OS-a. |
user_dim.device_info.device_id | NIZ | IDFV (prisutno samo ako IDFA nije dostupan). |
user_dim.device_info.resettable_device_id | NIZ | ID/IDFA za oglašavanje. |
user_dim.device_info.user_default_language | NIZ | Jezik OS-a. |
user_dim.device_info.device_time_zone_offset_seconds | CIJELI BROJ | Pomak od zone GMT u sekundama. |
user_dim.device_info.limited_ad_tracking | BOOLEOVA VRIJEDNOST | Postavka uređaja za ograničavanje praćenja oglasa. |
user_dim.geo_info | ZAPIS | Zapis s geografskim podacima o korisniku. |
user_dim.geo_info.continent | NIZ | Kontinent s kojeg su događaji prijavljeni na temelju IP adrese. |
user_dim.geo_info.country | NIZ | Zemlja iz koje su događaji prijavljeni na temelju IP adrese. |
user_dim.geo_info.region | NIZ | Područje iz kojeg su događaji prijavljeni na temelju IP adrese. |
user_dim.geo_info.city | NIZ | Grad iz kojeg su događaji prijavljeni na temelju IP adrese. |
user_dim.app_info | ZAPIS | Zapis s podacima o aplikaciji. |
user_dim.app_info.app_version | NIZ | Naziv verzije versionName (Android) ili kratka verzija skupa aplikacije. |
user_dim.app_info.app_instance_id | NIZ | Jedinstveni ID za tu instancu aplikacije. |
user_dim.app_info.app_store | NIZ | Trgovina putem koje je aplikacija instalirana. |
user_dim.app_info.app_platform | NIZ | Platforma na kojoj se aplikacija izvodi. |
user_dim.traffic_source | ZAPIS | Naziv izvora prometa upotrijebljenog za akviziciju korisnika. To se polje ne popunjava u tablicama podataka primljenih unutar jednog dana. |
user_dim.traffic_source.user_acquired_campaign | NIZ | Naziv marketinške kampanje putem koje je ostvarena akvizicija korisnika. To se polje ne popunjava u tablicama podataka primljenih unutar jednog dana. |
user_dim.traffic_source.user_acquired_medium | NIZ | Naziv medija (plaćeno pretraživanje, organsko pretraživanje, e-pošta itd.) putem kojeg je ostvarena akvizicija korisnika. To se polje ne popunjava u tablicama podataka unutar jednog dana. |
user_dim.traffic_source.user_acquired_source | NIZ | Naziv mreže putem koje je ostvarena akvizicija korisnika. To se polje ne popunjava u tablicama podataka primljenih unutar jednog dana. |
user_dim.bundle_info | ZAPIS | Zapis s podacima o skupu u sklopu kojeg su događaji preneseni. |
user_dim.bundle_info.bundle_sequence_id | CIJELI BROJ | Sekvencijalni ID skupa u sklopu kojeg su događaji preneseni. |
user_dim.ltv_info | ZAPIS | Zapis s podacima o trajnoj vrijednosti tog korisnika. To se polje ne popunjava u tablicama podataka primljenih unutar jednog dana. |
user_dim.ltv_info.revenue | BROJ S POMIČNIM ZAREZOM | Trajna vrijednost (prihod) tog korisnika. To se polje ne popunjava u tablicama podataka primljenih unutar jednog dana. |
user_dim.ltv_info.currency | NIZ | Trajna vrijednost (valuta) tog korisnika. To se polje ne popunjava u tablicama podataka primljenih unutar jednog dana. |
event_dim
Naziv polja | Vrsta podatka | Opis |
---|---|---|
event_dim | ZAPIS | Ponovni zapis s podacima o događajima u tom skupu. |
event_dim.date | NIZ | Datum bilježenja događaja (format GGGGMMDD u registriranoj vremenskoj zoni aplikacije). |
event_dim.name | NIZ | Naziv tog događaja. |
event_dim.params | ZAPIS | Ponovni zapis s parametrima povezanim s tim događajem. |
event_dim.params.key | NIZ | Ključ parametra događaja. |
event_dim.params.value | ZAPIS | Zapis vrijednosti parametra događaja. |
event_dim.params.value.string_value | NIZ | Vrijednost parametra događaja u obliku niza. |
event_dim.params.value.int_value | CIJELI BROJ | Vrijednost parametra događaja u obliku cijelog broja. |
event_dim.params.value.double_value | BROJ S POMIČNIM ZAREZOM | Dvostruka vrijednost parametra događaja. |
event_dim.timestamp_micros | CIJELI BROJ | Vrijeme (u mikrosekundama, UTC) bilježenja događaja na klijentu. |
event_dim.previous_timestamp_micros | CIJELI BROJ | Vrijeme (u mikrosekundama, UTC) prethodnog bilježenja događaja na klijentu. |