Questo articolo descrive il formato e lo schema dei dati delle proprietà Google Analytics 4 e i dati di Google Analytics per Firebase esportati in BigQuery.
Set di dati
Per ogni proprietà Google Analytics 4 e ogni progetto Firebase collegato a BigQuery, un singolo set di dati denominato "analytics_<property_id>" viene aggiunto al progetto BigQuery. L'ID proprietà si riferisce all'ID proprietà di Analytics, che puoi trovare nelle impostazioni della proprietà Google Analytics 4 e nelle impostazioni dell'analisi dell'app in Firebase. Ciascuna proprietà Google Analytics 4 e ogni app per cui è attivata l'esportazione in BigQuery esporteranno i relativi dati in quel singolo set di dati.
Tabelle
In ogni set di dati, viene creata ogni giorno una tabella denominata events_AAAAMMGG
se l'opzione per l'esportazione giornaliera è attivata.
Se è attivata l'opzione per l'esportazione streaming, viene creata una tabella denominata events_intraday_AAAAMMGG
. Questa tabella viene compilata continuamente man mano che gli eventi vengono registrati nell'arco dell'intera giornata ed eliminata alla fine di ogni giornata una volta completato il campo events_AAAAMMGG
.
Non tutti i dispositivi su cui vengono attivati gli eventi inviano i propri dati ad Analytics lo stesso giorno in cui si verificano gli eventi. Per tenere conto di questa latenza, Analytics aggiorna le tabelle giornaliere (events_AAAAMMGG
) con gli eventi relativi a queste date e fino a tre giorni dopo le date degli eventi. Gli eventi avranno il timestamp corretto indipendentemente dal ritardo con cui vengono inviati. Gli eventi ricevuti dopo questo periodo di tre giorni non vengono registrati.
Se utilizzi la sandbox di BigQuery, non è prevista l'importazione infragiornaliera degli eventi e vengono applicati limiti aggiuntivi.
Esegui l'upgrade dalla sandbox se vuoi utilizzare le importazioni infragiornaliere.
Colonne
Ogni colonna della tabella events_YYYYMMDD
rappresenta un parametro specifico per evento. Tieni presente che alcuni parametri sono nidificati all'interno di RECORD e alcuni RECORD come items
ed event_params
sono ripetibili. Le colonne della tabella sono descritte di seguito.
event
I campi event contengono informazioni che identificano in modo univoco un evento. | ||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
event_date | STRING | La data in cui è stato registrato l'evento in formato AAAAMMGG, nel fuso orario di registrazione dell'app. |
event_timestamp | INTEGER | L'ora (in microsecondi, UTC) in cui l'evento è stato registrato nel client. |
event_previous_timestamp | INTEGER | L'ora (in microsecondi, UTC) in cui l'evento è stato precedentemente registrato nel client. |
event_name | STRING | Il nome dell'evento. |
event_value_in_usd | FLOAT | Il valore convertito in valuta (in $) del parametro "value" dell'evento. |
event_bundle_sequence_id | INTEGER | L'ID sequenziale del bundle in cui sono stati caricati gli eventi. |
event_server_timestamp_offset | INTEGER | Scostamento del timestamp tra tempo di raccolta e tempo di caricamento in microsecondi. |
RECORD event_params
Il RECORD event_params può memorizzare i parametri evento a livello di campagna e contestuali, oltre a qualsiasi parametro evento definito dall'utente. Il RECORD event_params viene ripetuto per ogni chiave associata a un evento. L'insieme di parametri memorizzato nel RECORD event_params dell'evento è univoco per ogni implementazione. Per visualizzare l'elenco completo dei parametri evento per l'implementazione, esegui una query sull'elenco dei parametri evento. |
||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
event_params.key | STRING | Il nome del parametro evento. |
event_params.value | RECORD | Un record contenente il valore del parametro evento. |
event_params.value.string_value | STRING | Se il parametro evento è rappresentato da una stringa, come un URL o un nome di campagna, viene inserito in questo campo. |
event_params.value.int_value | INTEGER | Se il parametro evento è rappresentato da un numero intero, viene inserito in questo campo. |
event_params.value.double_value | FLOAT | Se il parametro evento è rappresentato da un valore doppio, viene inserito in questo campo. |
event_params.value.float_value | FLOAT | Se il parametro evento è rappresentato da un valore con virgola mobile, viene inserito in questo campo. Questo campo non è attualmente in uso. |
RECORD item_params
Il RECORD item_params può memorizzare i parametri degli elementi oltre a qualsiasi parametro elemento definito dall'utente. L'insieme di parametri memorizzato nel RECORD item_params è unico per ogni implementazione. |
||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
item_params.key | STRING | Il nome del parametro elemento. |
item_params.value | RECORD | Un record contenente il valore del parametro elemento. |
item_params.value.string_value | STRING | Se il parametro elemento è rappresentato da una stringa, viene inserito in questo campo. |
item_params.value.int_value | INTEGER | Se il parametro elemento è rappresentato da un numero intero, viene inserito in questo campo. |
item_params.value.double_value | FLOAT | Se il parametro elemento è rappresentato da un valore doppio, viene inserito in questo campo. |
item_params.value.float_value | FLOAT | Se il parametro elemento è rappresentato da un valore con virgola mobile, viene inserito in questo campo. |
utente
I campi user contengono informazioni che identificano in modo univoco l'utente associato all'evento. | ||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
is_active_user | BOOLEAN |
Se l'utente era attivo (True) o non attivo (False) in un qualsiasi momento del giorno di calendario Incluso solo nelle tabelle giornaliere ( |
user_id | STRING | L'ID univoco assegnato a un utente. |
user_pseudo_id | STRING | L'ID pseudonimo dell'utente, ad esempio l'ID istanza dell'app. |
user_first_touch_timestamp | INTEGER | L'ora (in microsecondi) in cui l'utente ha aperto l'app o visitato il sito per la prima volta. |
campi privacy_info
I campi privacy_info contengono informazioni basate sullo stato del consenso di un utente quando è attiva la modalità di consenso. | ||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
privacy_info.ads_storage | STRING |
Indica se il targeting degli annunci è attivato per un utente. Valori possibili: Yes, No, Unset |
privacy_info.analytics_storage | STRING |
Indica se lo spazio di archiviazione di Analytics è abilitato per l'utente. Valori possibili: Yes, No, Unset |
privacy_info.uses_transient_token | STRING |
Indica se un utente web ha negato l'accesso allo spazio di archiviazione di Analytics e lo sviluppatore ha attivato la misurazione senza cookie in base ai token temporanei nei dati del server. Valori possibili: Yes, No, Unset |
RECORD user_properties
Il RECORD user_properties contiene qualsiasi proprietà utente che hai impostato. Viene ripetuto per ogni chiave associata a un utente. | ||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
user_properties.key | STRING | Il nome della proprietà utente. |
user_properties.value | RECORD | Un record per il valore proprietà utente. |
user_properties.value.string_value | STRING | Il valore stringa della proprietà utente. |
user_properties.value.int_value | INTEGER | Il valore numerico intero della proprietà utente. |
user_properties.value.double_value | FLOAT | Il valore decimale della proprietà utente. |
user_properties.value.float_value | FLOAT | Questo campo non è al momento utilizzato. |
user_properties.value.set_timestamp_micros | INTEGER | L'ora (in microsecondi) in cui la proprietà utente è stata impostata per l'ultima volta. |
RECORD user_ltv
Il RECORD user_ltv contiene informazioni sul lifetime value dell'utente. Questo RECORD non viene compilato nelle tabelle infragiornaliere. | ||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
user_ltv.revenue | FLOAT | Il lifetime value (entrate) dell'utente. Questo campo non viene compilato nelle tabelle infragiornaliere. |
user_ltv.currency | STRING | Il lifetime value (valuta) dell'utente. Questo campo non viene compilato nelle tabelle infragiornaliere. |
device
Il RECORD device contiene informazioni sul dispositivo da cui ha avuto origine l'evento. | ||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
device.category | STRING | La categoria del dispositivo (dispositivo mobile, tablet, computer). |
device.mobile_brand_name | STRING | Il nome del brand del dispositivo. |
device.mobile_model_name | STRING | Il nome del modello del dispositivo. |
device.mobile_marketing_name | STRING | Il nome commerciale del dispositivo. |
device.mobile_os_hardware_model | STRING | Le informazioni sul modello del dispositivo recuperate direttamente dal sistema operativo. |
device.operating_system | STRING | Il sistema operativo del dispositivo. |
device.operating_system_version | STRING | La versione del sistema operativo. |
device.vendor_id | STRING | L'IDFV (presente solo se non è stato recuperato l'IDFA). |
device.advertising_id | STRING | L'IDFA/ID pubblicità. |
device.language | STRING | La lingua del sistema operativo. |
device.time_zone_offset_seconds | INTEGER | La differenza in secondi rispetto al fuso orario GMT. |
device.is_limited_ad_tracking | BOOLEAN |
L'impostazione della limitazione del monitoraggio degli annunci sul dispositivo. In iOS14 e versioni successive, restituisce false se l'IDFA è diverso da zero. |
device.web_info.browser | STRING | Il browser su cui l'utente ha visualizzato i contenuti. |
device.web_info.browser_version | STRING | La versione del browser su cui l'utente ha visualizzato i contenuti. |
device.web_info.hostname | STRING | Il nome host associato all'evento registrato. |
geo
Il RECORD geo contiene informazioni sulla località geografica in cui è stato avviato l'evento. | ||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
geo.continent | STRING | Il continente da cui sono stati segnalati gli eventi, in base all'indirizzo IP. |
geo.sub_continent | STRING | Il subcontinente da cui sono stati segnalati gli eventi, in base all'indirizzo IP. |
geo.country | STRING | Il paese da cui sono stati segnalati gli eventi, in base all'indirizzo IP. |
geo.region | STRING | La regione da cui sono stati segnalati gli eventi, in base all'indirizzo IP. |
geo.metro | STRING | L'area metropolitana da cui sono stati segnalati gli eventi, in base all'indirizzo IP. |
geo.city | STRING | La città da cui sono stati registrati gli eventi, in base all'indirizzo IP. |
app_info
Il RECORD app_info contiene informazioni sull'app in cui è stato avviato l'evento. | ||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
app_info.id | STRING | Il nome del pacchetto o l'ID gruppo dell'app. |
app_info.firebase_app_id | STRING | L'ID app Firebase associato all'app. |
app_info.install_source | STRING | Lo store che ha installato l'app. |
app_info.version | STRING | Il parametro versionName dell'app (Android) o la versione breve del bundle. |
collected_traffic_source
Il RECORD collected_traffic_source contiene i dati sulla sorgente di traffico raccolti con l'evento. |
||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
manual_campaign_id | STRING | L'ID manuale della campagna (utm_id) raccolto con l'evento. |
manual_campaign_name | STRING | Il nome manuale della campagna (utm_campaign) raccolto con l'evento. |
manual_source | STRING | L'origine manuale della campagna (utm_source) raccolta con l'evento. Include anche i parametri analizzati dai parametri referral, non solo i valori UTM. |
manual_medium | STRING | Il mezzo manuale della campagna (utm_medium) raccolto con l'evento. Include anche i parametri analizzati dai parametri referral, non solo i valori UTM. |
manual_term | STRING | La parola chiave o il termine manuale della campagna (utm_term) raccolto con l'evento. |
manual_content | STRING | I metadati aggiuntivi manuali della campagna (utm_content) raccolti con l'evento. |
gclid | STRING | L'identificatore di clic di Google raccolto con l'evento. |
dclid | STRING | L'identificatore di Google Marketing Platform (GMP) raccolto con l'evento. |
srsltid | STRING | L'identificatore di Google Merchant Center raccolto con l'evento. |
traffic_source
Il RECORD traffic_source contiene le informazioni sulla sorgente di traffico che ha acquisito per prima l'utente. Questo record non viene compilato nelle tabelle infragiornaliere. Nota: i valori di traffic_source non cambiano se l'utente interagisce con altre campagne dopo l'installazione. |
||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
traffic_source.name | STRING | Il nome della campagna di marketing che ha acquisito per prima l'utente. Questo campo non viene compilato nelle tabelle infragiornaliere. |
traffic_source.medium | STRING | Il nome del mezzo (ricerca a pagamento, ricerca organica, email e così via) che ha acquisito per primo l'utente. Questo campo non viene compilato nelle tabelle infragiornaliere. |
traffic_source.source | STRING | Il nome della rete che ha acquisito per prima l'utente. Questo campo non viene compilato nelle tabelle infragiornaliere. |
stream e platform
I campi stream e platform contengono informazioni sullo stream e sulla piattaforma dell'app. | ||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
stream_id | STRING | L'ID numerico dello stream di dati da cui ha avuto origine l'evento. |
platform | STRING | La piattaforma dello stream di dati (web, iOS o Android) da cui ha avuto origine l'evento. |
ecommerce
Questo RECORD ecommerce contiene informazioni su qualsiasi evento di e-commerce configurato su un sito web o un'app. | ||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
ecommerce.total_item_quantity | INTEGER | Numero totale di articoli in questo evento, ovvero la somma di items.quantity. |
ecommerce.purchase_revenue_in_usd | FLOAT | Le entrate generate dall'acquisto per questo evento, espresse in dollari USA con unità standard. Il campo viene compilato solo per l'evento di acquisto. |
ecommerce.purchase_revenue | FLOAT | Le entrate generate dall'acquisto per questo evento, espresse in valuta locale con unità standard. Il campo viene compilato solo per l'evento di acquisto. |
ecommerce.refund_value_in_usd | FLOAT | L'importo del rimborso in questo evento, espresso in dollari USA con unità standard. Il campo viene compilato solo per l'evento di rimborso. |
ecommerce.refund_value | FLOAT | L'importo del rimborso in questo evento, espresso in valuta locale con unità standard. Il campo viene compilato solo per l'evento di rimborso. |
ecommerce.shipping_value_in_usd | FLOAT | Il costo di spedizione in questo evento, espresso in dollari USA con unità standard. |
ecommerce.shipping_value | FLOAT | Il costo di spedizione in questo evento, espresso in valuta locale. |
ecommerce.tax_value_in_usd | FLOAT | Il valore dell'imposta in questo evento, espresso in dollari USA con unità standard. |
ecommerce.tax_value | FLOAT | Il valore dell'imposta in questo evento, espresso in valuta locale con unità standard. |
ecommerce.transaction_id | STRING | L'ID della transazione e-commerce. |
ecommerce.unique_items | INTEGER | Il numero di articoli unici in questo evento, basati su item_id, item_name e item_brand. |
items
Il RECORD items contiene informazioni sugli articoli inclusi in un evento. Viene ripetuto per ogni articolo. | ||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
items.item_id | STRING | ID dell'articolo. |
items.item_name | STRING | Il nome dell'articolo. |
items.item_brand | STRING | Il brand dell'articolo. |
items.item_variant | STRING | La variante dell'articolo. |
items.item_category | STRING | La categoria dell'articolo. |
items.item_category2 | STRING | La sottocategoria dell'articolo. |
items.item_category3 | STRING | La sottocategoria dell'articolo. |
items.item_category4 | STRING | La sottocategoria dell'articolo. |
items.item_category5 | STRING | La sottocategoria dell'articolo. |
items.price_in_usd | FLOAT | Il prezzo dell'articolo in dollari USA con unità standard. |
items.price | FLOAT | Il prezzo dell'articolo espresso nella valuta locale. |
items.quantity | INTEGER | La quantità dell'articolo. Se non specificata, la quantità è impostata su 1. |
items.item_revenue_in_usd | FLOAT | Le entrate dell'articolo calcolate utilizzando la formula price_in_usd * quantità. Il campo viene compilato solo per gli eventi di acquisto in dollari USA con unità standard. |
items.item_revenue | FLOAT | Le entrate dell'articolo calcolate utilizzando la formula quantità * prezzo. Il campo viene compilato solo per gli eventi di acquisto in valuta locale con unità standard. |
items.item_refund_in_usd | FLOAT | Il valore del rimborso di questo articolo, calcolato utilizzando la formula price_in_usd * quantità. Il campo viene compilato solo per gli eventi di rimborso in dollari USA con unità standard. |
items.item_refund | FLOAT | Il valore del rimborso di questo articolo calcolato utilizzando la formula prezzo * quantità. Il campo viene compilato solo per gli eventi di rimborso in valuta locale con unità standard. |
items.coupon | STRING | Codice coupon applicato a questo articolo. |
items.affiliation | STRING | Un'affiliazione di prodotto per indicare un'azienda di fornitura o la località di un negozio fisico. |
items.location_id | STRING | La località associata all'articolo. |
items.item_list_id | STRING | L'ID dell'elenco in cui l'articolo è stato presentato all'utente. |
items.item_list_name | STRING | Il nome dell'elenco in cui l'articolo è stato presentato all'utente. |
Items.item_list_index | STRING | La posizione dell'articolo in un elenco. |
items.promotion_id | STRING | L'ID della promozione di un prodotto. |
items.promotion_name | STRING | Il nome della promozione di un prodotto. |
items.creative_name | STRING | Il nome di una creatività utilizzata in uno spot promozionale. |
items.creative_slot | STRING | Il nome di un'area creatività. |
RECORD item_params
Il RECORD item_params memorizza i parametri elemento personalizzati che hai definito. Tieni presente che i parametri elemento predefiniti, come item_id, item_name e così via, non sono inclusi qui, ma vengono esportati come campi espliciti. L'insieme di parametri memorizzato nel RECORD item_params è unico per ogni implementazione. Per scoprire di più sulle implementazioni dell'e-commerce e sull'array di articoli di Google Analytics 4, consulta Misurare l'e-commerce. |
||
Nome campo | Tipo di dati | Descrizione |
---|---|---|
items.item_params.key | STRING | Il nome del parametro elemento. |
items.item_params.value | RECORD | Un record contenente il valore del parametro elemento. |
items.item_params.value.string_value | STRING | Se il parametro elemento è rappresentato da una stringa, viene inserito in questo campo. |
items.item_params.value.int_value | INTEGER | Se il parametro elemento è rappresentato da un numero intero, viene inserito in questo campo. |
items.item_params.value.double_value | FLOAT | Se il parametro elemento è rappresentato da un valore doppio, viene inserito in questo campo. |
items.item_params.value.float_value | FLOAT | Se il parametro elemento è rappresentato da un valore con virgola mobile, viene inserito in questo campo. |
Righe
I dati relativi a un singolo evento possono essere rappresentati in una o più righe a seconda che contengano RECORD ripetuti. Ad esempio, un evento page_view
con più event_params
sarà simile a quanto illustrato nella tabella seguente. La riga iniziale contiene il nome, la data e il timestamp dell'evento, oltre ad altri elementi di dati non ripetuti. Il RECORD event_params
viene ripetuto per ogni parametro associato all'evento. Questi RECORD ripetuti vengono compilati nelle righe successive direttamente sotto la riga dell'evento iniziale.
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 | |||
<parametri…> | <valori…> |
Questi dati sugli eventi vengono visualizzati come segue nell'interfaccia utente di GA4.
Se hai utilizzato versioni precedenti di uno degli SDK e prevedi di eseguire l'upgrade ad Android 17.2.5 (o versioni successive) e/o a iOS 16.20.0 (o versioni successive), tieni presente quanto segue:
- Per utilizzare lo schema di BigQuery Export attuale, devi eseguire l'upgrade del tuo SDK ad Android 17.2.5 o versioni successive e/o a iOS 16.20.0 o versioni successive. Se utilizzi versioni precedenti dell'SDK, i dati esportati riflettono lo schema precedente.
- Dal momento dell'upgrade in poi, potrai accedere ai dati degli articoli solo nell'array di articoli ripetuti. Diversamente da quanto accadeva nelle versioni precedenti degli SDK, questi dati non saranno più disponibili nei parametri evento standard.
- Questa modifica è stata apportata per supportare l'analisi di più prodotti.
- Di conseguenza, potresti dover modificare i riferimenti ai dati degli articoli/di prodotto.
- Accedi alla pagina Gestisci risorse nella console di Cloud Platform.
- Apri il progetto per cui vuoi eseguire la migrazione dei dati e fai clic su Attiva Google Cloud Shell nella parte superiore della pagina.
- Quando si apre la shell, copia lo script riportato di seguito in un file denominato
migration_script.sql
:- Esegui il comando
cat > migration_script.sql
- Copia e incolla nella shell lo script indicato di seguito.
- Premi Ctrl+D per salvare e uscire.
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
- Esegui il comando
- Apri una nuova shell e copia lo script Bash riportato di seguito in un file denominato
migration.sh
:- Esegui il comando
cat > migration.sh
- Copia e incolla nella shell lo script indicato di seguito.
- Premi Ctrl+D per salvare e uscire.
Modifica il seguente script in modo che includa l'ID proprietà Analytics, l'ID progetto BigQuery, l'ID app Firebase, il nome del set di dati BigQuery e le date di inizio e fine dei dati che ti interessano.Script (migration.sh):# ID proprietà Analytics del progetto. Si trova nelle impostazioni di Analytics in Firebase. PROPERTY_ID=ID proprietà Analytics # Progetto di esportazione Big Query. BQ_PROJECT_ID="ID del progetto BigQuery" (ad esempio "firebase-public-project") # ID dell'app Firebase. FIREBASE_APP_ID="ll tuo ID dell'app Firebase" (ad es. "1:300830567303:ios:09b1ab1d3ca29bda") # Set di dati da cui eseguire l'importazione. BQ_DATASET="nome del set di dati BigQuery da cui eseguire l'importazione" (ad esempio "com_firebase_demo_IOS") # Piattaforma PLATFORM="piattaforma dell'app. ANDROID o IOS" # Intervallo di date per il quale eseguire la migrazione, inclusi i giorni [START_DATE,END_DATE]. START_DATE=20180324 END_DATE=20180327 # Non modificare lo script seguente, a meno che tu non sappia esattamente cosa fare :) startdate=$(date -d"$START_DATE" +%Y%m%d) || exit -1 enddate=$(date -d"$END_DATE" +%Y%m%d) || exit -1 # Ripetizione durante le date. DATE="$startdate" while [ "$DATE" -le "$enddate" ]; do # Tabella BQ creata dai parametri in alto. 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 # END OF SCRIPT
- Esegui il comando
- Apri una nuova shell ed esegui il comando
bash migration.sh
Schema di esportazione precedente
user_dim
Nome campo | Tipo di dati | Descrizione |
---|---|---|
user_dim | RECORD | Un record delle dimensioni degli utenti. |
user_dim.user_id | STRING | Lo User ID impostato tramite l'API setUserId. |
user_dim.first_open_timestamp_micros | INTEGER | Il momento (in microsecondi) in cui l'utente ha aperto l'applicazione per la prima volta. |
user_dim.user_properties | RECORD | Un record ripetuto delle proprietà utente impostate con l'API setUserProperty. |
user_dim.user_properties.key | STRING | Il nome della proprietà utente. |
user_dim.user_properties.value | RECORD | Un record per le informazioni sulla proprietà utente. |
user_dim.user_properties.value.value | RECORD | Un record per il valore proprietà utente. |
user_dim.user_properties.value.value.string_value | STRING | Il valore stringa della proprietà utente. |
user_dim.user_properties.value.value.int_value | INTEGER | Il valore numerico intero della proprietà utente. |
user_dim.user_properties.value.value.double_value | FLOAT | Il valore decimale della proprietà utente. |
user_dim.user_properties.value.set_timestamp_usec | INTEGER | L'ora (in microsecondi) in cui la proprietà utente è stata impostata per l'ultima volta. |
user_dim.user_properties.value.index | INTEGER | L'indice (0-24) della proprietà utente. |
user_dim.device_info | RECORD | Un record di informazioni sul dispositivo. |
user_dim.device_info.device_category | STRING | La categoria del dispositivo (dispositivo mobile, tablet, computer). |
user_dim.device_info.mobile_brand_name | STRING | Il nome del brand del dispositivo. |
user_dim.device_info.mobile_model_name | STRING | Il nome del modello del dispositivo. |
user_dim.device_info.mobile_marketing_name | STRING | Il nome commerciale del dispositivo. |
user_dim.device_info.device_model | STRING | Il modello del dispositivo. |
user_dim.device_info.platform_version | STRING | La versione del sistema operativo. |
user_dim.device_info.device_id | STRING | L'IDFV (presente solo se l'IDFA non è disponibile). |
user_dim.device_info.resettable_device_id | STRING | L'IDFA/ID pubblicità. |
user_dim.device_info.user_default_language | STRING | La lingua del sistema operativo. |
user_dim.device_info.device_time_zone_offset_seconds | INTEGER | La differenza in secondi rispetto al fuso orario GMT. |
user_dim.device_info.limited_ad_tracking | BOOLEAN | L'impostazione della limitazione del monitoraggio degli annunci sul dispositivo. |
user_dim.geo_info | RECORD | Un record delle informazioni geografiche dell'utente. |
user_dim.geo_info.continent | STRING | Il continente da cui sono stati segnalati gli eventi, in base all'indirizzo IP. |
user_dim.geo_info.country | STRING | Il paese da cui sono stati segnalati gli eventi, in base all'indirizzo IP. |
user_dim.geo_info.region | STRING | La regione da cui sono stati segnalati gli eventi, in base all'indirizzo IP. |
user_dim.geo_info.city | STRING | La città da cui sono stati registrati gli eventi, in base all'indirizzo IP. |
user_dim.app_info | RECORD | Un record di informazioni sull'app. |
user_dim.app_info.app_version | STRING | Il parametro versionName dell'app (Android) o la versione breve del bundle. |
user_dim.app_info.app_instance_id | STRING | L'ID univoco per questa istanza dell'app. |
user_dim.app_info.app_store | STRING | Lo store dal quale è stata installata l'app. |
user_dim.app_info.app_platform | STRING | La piattaforma sulla quale viene eseguita l'app. |
user_dim.traffic_source | RECORD | Il nome della sorgente di traffico utilizzata per acquisire l'utente. Questo campo non viene compilato nelle tabelle infragiornaliere. |
user_dim.traffic_source.user_acquired_campaign | STRING | Il nome della campagna di marketing che ha acquisito l'utente. Questo campo non viene compilato nelle tabelle infragiornaliere. |
user_dim.traffic_source.user_acquired_medium | STRING | Il nome del mezzo (ricerca a pagamento, ricerca organica, email e così via) con cui è stato acquisito l'utente. Questo campo non viene compilato nelle tabelle infragiornaliere. |
user_dim.traffic_source.user_acquired_source | STRING | Il nome della rete che ha acquisito l'utente. Questo campo non viene compilato nelle tabelle infragiornaliere. |
user_dim.bundle_info | RECORD | Un record di informazioni riguardanti il bundle in cui sono stati caricati gli eventi. |
user_dim.bundle_info.bundle_sequence_id | INTEGER | L'ID sequenziale del bundle in cui sono stati caricati gli eventi. |
user_dim.ltv_info | RECORD | Un record di informazioni sul lifetime value dell'utente. Questo campo non viene compilato nelle tabelle infragiornaliere. |
user_dim.ltv_info.revenue | FLOAT | Il lifetime value (entrate) dell'utente. Questo campo non viene compilato nelle tabelle infragiornaliere. |
user_dim.ltv_info.currency | STRING | Il lifetime value (valuta) dell'utente. Questo campo non viene compilato nelle tabelle infragiornaliere. |
event_dim
Nome campo | Tipo di dati | Descrizione |
---|---|---|
event_dim | RECORD | Un record ripetuto di informazioni relative agli eventi nel pacchetto. |
event_dim.date | STRING | La data in cui è stato registrato l'evento (in formato AAAAMMGG, nel fuso orario di registrazione dell'app). |
event_dim.name | STRING | Il nome dell'evento. |
event_dim.params | RECORD | Un record ripetuto dei parametri associati all'evento. |
event_dim.params.key | STRING | La chiave del parametro evento. |
event_dim.params.value | RECORD | Un record del valore del parametro evento. |
event_dim.params.value.string_value | STRING | Il valore stringa del parametro evento. |
event_dim.params.value.int_value | INTEGER | Il valore numero intero del parametro evento. |
event_dim.params.value.double_value | FLOAT | Il valore decimale del parametro evento. |
event_dim.timestamp_micros | INTEGER | L'ora (in microsecondi, UTC) in cui l'evento è stato registrato sul client. |
event_dim.previous_timestamp_micros | INTEGER | L'ora (in microsecondi, UTC) in cui l'evento era stato precedentemente registrato sul client. |