[GA4] Skema BigQuery Export

Artikel ini menjelaskan format dan skema data properti Google Analytics 4 dan data Google Analytics for Firebase yang diekspor ke BigQuery.

Set data

Untuk setiap properti Google Analytics 4 dan setiap project Firebase yang ditautkan ke BigQuery, satu set data bernama "analytics_<property_id>" ditambahkan ke project BigQuery Anda. ID Properti mengacu kepada ID Properti Analytics Anda, yang dapat ditemukan dalam setelan properti untuk properti Google Analytics 4, dan dalam Setelan Analisis Aplikasi di Firebase. Setiap properti Google Analytics 4 dan setiap aplikasi yang pengeksporan BigQuery-nya diaktifkan akan mengekspor datanya ke satu set data tersebut.

Tabel

Dalam setiap set data, tabel bernama events_YYYYMMDD akan dibuat setiap hari jika opsi ekspor Harian diaktifkan.

Jika opsi ekspor Streaming diaktifkan, tabel bernama events_intraday_YYYYMMDD akan dibuat. Tabel ini diisi secara terus-menerus seiring peristiwa dicatat sepanjang hari. Tabel ini dihapus di penghujung hari setelah events_YYYYMMDD selesai.

Perangkat yang memiliki peristiwa terpicu tidak selalu mengirimkan datanya ke Analytics pada hari yang sama saat peristiwa tersebut dipicu. Untuk memperhitungkan latensi ini, Analytics akan memperbarui tabel harian (events_YYYYMMDD) dengan peristiwa yang terjadi pada tanggal tersebut selama maksimal tiga hari setelah tanggal peristiwa. Peristiwa akan memiliki stempel waktu yang tepat meskipun datanya terlambat diterima. Peristiwa yang diterima setelah jangka waktu tiga hari tersebut tidak akan dicatat.

 

Jika Anda menggunakan sandbox BigQuery, tidak ada impor real-time untuk peristiwa intrahari, dan ada batas tambahan yang berlaku.

Upgrade dari sandbox jika Anda ingin mendapatkan fitur impor real-time intrahari.

Kolom

Setiap kolom di tabel events_YYYYMMDD merepresentasikan parameter spesifik per peristiwa. Perlu diketahui bahwa beberapa parameter disusun bertingkat dalam RECORDS, dan beberapa RECORDS seperti items dan event_params dapat diulang. Kolom tabel dijelaskan di bawah.

event

Kolom event berisi informasi yang secara unik mengidentifikasi peristiwa.
Nama kolom Jenis data Deskripsi
event_date STRING Tanggal saat peristiwa dicatat (format YYYYMMDD di zona waktu terdaftar pada aplikasi Anda).
event_timestamp INTEGER Waktu (dalam mikrodetik, UTC) saat peristiwa dicatat di klien.
event_previous_timestamp INTEGER Waktu (dalam mikrodetik, UTC) saat peristiwa sebelumnya dicatat di klien.
event_name STRING Nama peristiwa.
event_value_in_usd FLOAT Nilai konversi mata uang (dalam USD) untuk parameter "nilai" peristiwa.
event_bundle_sequence_id INTEGER ID paket yang berurutan tempat peristiwa ini diupload.
event_server_timestamp_offset INTEGER Offset stempel waktu antara waktu pengumpulan dan waktu upload dalam mikrodetik.

RECORD event_params

RECORD event_params dapat menyimpan parameter peristiwa tingkat kampanye dan kontekstual serta parameter peristiwa yang ditentukan pengguna. RECORD event_params diulang untuk setiap kunci yang terkait dengan peristiwa.

Kumpulan parameter yang disimpan di RECORD event_params bersifat unik untuk setiap penerapan. Guna melihat daftar lengkap parameter peristiwa untuk penerapan Anda, jalankan kueri terhadap daftar parameter peristiwa

Nama kolom Jenis data Deskripsi
event_params.key STRING Nama parameter peristiwa.
event_params.value RECORD Kumpulan data yang berisi nilai parameter peristiwa.
event_params.value.string_value STRING Jika parameter peristiwa direpresentasikan oleh string, seperti URL atau nama kampanye, parameter tersebut akan diisi di kolom ini.
event_params.value.int_value INTEGER Jika parameter peristiwa direpresentasikan oleh bilangan bulat, parameter tersebut akan diisi di kolom ini.
event_params.value.double_value FLOAT Jika parameter peristiwa direpresentasikan oleh nilai ganda, parameter tersebut akan diisi di kolom ini.
event_params.value.float_value FLOAT Jika parameter peristiwa direpresentasikan oleh nilai floating point, parameter tersebut akan diisi di kolom ini. Saat ini, kolom ini tidak digunakan.

RECORD item_params

RECORD item_params dapat menyimpan parameter item serta parameter item apa pun yang ditentukan pengguna. Kumpulan parameter yang disimpan di RECORD item_params bersifat unik untuk setiap penerapan.

Nama kolom Jenis data Deskripsi
item_params.key STRING Nama parameter item.
item_params.value RECORD Kumpulan data yang berisi nilai parameter item.
item_params.value.string_value STRING Jika parameter item direpresentasikan oleh string, parameter tersebut akan diisikan di kolom ini.
item_params.value.int_value INTEGER Jika parameter item direpresentasikan oleh integer, parameter tersebut akan diisikan di kolom ini.
item_params.value.double_value FLOAT Jika parameter item direpresentasikan oleh nilai ganda, parameter tersebut akan diisikan di kolom ini.
item_params.value.float_value FLOAT Jika parameter item direpresentasikan oleh nilai floating point, parameter tersebut akan diisikan di kolom ini.

user

Kolom user berisi informasi yang secara unik mengidentifikasi pengguna yang terkait dengan peristiwa.
Nama kolom Jenis data Deskripsi
is_active_user BOOLEAN

Menunjukkan apakah pengguna aktif (Benar) atau tidak aktif (Salah) pada tanggal berapa pun

Hanya disertakan dalam tabel harian (events_YYYYMMDD).

user_id STRING ID unik yang ditetapkan ke pengguna.
user_pseudo_id STRING ID pseudonim (mis., ID instance aplikasi) untuk pengguna.
user_first_touch_timestamp INTEGER Waktu (dalam mikrodetik) saat pengguna pertama kali membuka aplikasi atau mengunjungi situs.

Kolom privacy_info

Kolom privacy_info berisi informasi berdasarkan status izin pengguna saat mode izin diaktifkan.
Nama kolom Jenis data Deskripsi
privacy_info.ads_storage STRING

Apakah penargetan iklan diaktifkan untuk pengguna.

Nilai yang mungkin: Ya, Tidak, Tidak Ditetapkan

privacy_info.analytics_storage STRING

Apakah penyimpanan Analytics diaktifkan untuk pengguna.

Nilai yang mungkin: Ya, Tidak, Tidak Ditetapkan

privacy_info.uses_transient_token STRING

Apakah pengguna web telah menolak penyimpanan Analytics dan developer telah mengaktifkan pengukuran tanpa cookie berdasarkan token sementara dalam data server.

Nilai yang mungkin: Ya, Tidak, Tidak Ditetapkan

RECORD user_properties

RECORD user_properties berisi properti pengguna yang telah Anda tetapkan. RECORD ini diulang untuk setiap kunci yang terkait dengan pengguna.
Nama kolom Jenis data Deskripsi
user_properties.key STRING Nama properti pengguna.
user_properties.value RECORD Kumpulan data untuk nilai properti pengguna.
user_properties.value.string_value STRING Nilai properti pengguna (string).
user_properties.value.int_value INTEGER Nilai properti pengguna (bilangan bulat).
user_properties.value.double_value FLOAT Nilai properti pengguna (double).
user_properties.value.float_value FLOAT Kolom ini saat ini tidak digunakan.
user_properties.value.set_timestamp_micros INTEGER Waktu (dalam mikrodetik) saat properti pengguna terakhir ditetapkan.

RECORD user_ltv

RECORD user_ltv berisi informasi Nilai Umur tentang pengguna. RECORD ini tidak diisi di tabel intrahari.
Nama kolom Jenis data Deskripsi
user_ltv.revenue FLOAT Nilai Umur (pendapatan) pengguna. Kolom ini tidak diisi di tabel intrahari.
user_ltv.currency STRING Nilai Umur (mata uang) pengguna. Kolom ini tidak diisi di tabel intrahari.

device

RECORD device berisi informasi tentang perangkat tempat peristiwa berasal.
Nama kolom Jenis data Deskripsi
device.category STRING Kategori perangkat (seluler, tablet, desktop).
device.mobile_brand_name STRING Nama merek perangkat.
device.mobile_model_name STRING Nama model perangkat.
device.mobile_marketing_name STRING Nama pemasaran perangkat.
device.mobile_os_hardware_model STRING Informasi model perangkat yang diambil langsung dari sistem operasi.
device.operating_system STRING Sistem operasi perangkat.
device.operating_system_version STRING Versi OS.
device.vendor_id STRING IDFV (hanya muncul jika IDFA tidak dikumpulkan).
device.advertising_id STRING ID iklan/IDFA.
device.language STRING Bahasa OS.
device.time_zone_offset_seconds INTEGER Selisih dari GMT dalam detik.
device.is_limited_ad_tracking BOOLEAN

Setelan Batasi Pelacakan Iklan di perangkat.

Di iOS14+, menampilkan nilai false jika IDFA bukan nol.

device.web_info.browser STRING Browser tempat pengguna melihat konten.
device.web_info.browser_version STRING Versi browser tempat pengguna melihat konten.
device.web_info.hostname STRING Nama host yang terkait dengan peristiwa yang dicatat.

geo

RECORD geo berisi informasi tentang lokasi geografis tempat peristiwa dimulai.
Nama kolom Jenis data Deskripsi
geo.continent STRING Benua tempat peristiwa dilaporkan, berdasarkan alamat IP.
geo.sub_continent STRING Subbenua tempat peristiwa dilaporkan, berdasarkan alamat IP.
geo.country STRING Negara tempat peristiwa dilaporkan, berdasarkan alamat IP.
geo.region STRING Wilayah tempat peristiwa dilaporkan, berdasarkan alamat IP.
geo.metro STRING Metro tempat peristiwa dilaporkan, berdasarkan alamat IP.
geo.city STRING Kota tempat peristiwa dilaporkan, berdasarkan alamat IP.

app_info

RECORD app_info berisi informasi tentang aplikasi tempat peristiwa dimulai.
Nama kolom Jenis data Deskripsi
app_info.id STRING Nama paket atau ID paket aplikasi.
app_info.firebase_app_id STRING ID Aplikasi Firebase yang terkait dengan aplikasi
app_info.install_source STRING App store yang menginstal aplikasi.
app_info.version STRING Nama versi aplikasi (Android) atau versi paket singkat.

collected_traffic_source

KUMPULAN DATA collected_traffic_source berisi data sumber traffic yang dikumpulkan dengan peristiwa.

Nama kolom Jenis data Deskripsi
manual_campaign_id STRING ID kampanye manual (utm_id) yang dikumpulkan dengan peristiwa.
manual_campaign_name STRING Nama kampanye manual (utm_campaign) yang dikumpulkan dengan peristiwa.
manual_source STRING Sumber kampanye manual (utm_source) yang dikumpulkan dengan peristiwa. Juga mencakup parameter yang diuraikan dari parameter rujukan, bukan hanya nilai UTM. 
manual_medium STRING Media kampanye manual (utm_medium) yang dikumpulkan dengan peristiwa. Juga mencakup parameter yang diuraikan dari parameter rujukan, bukan hanya nilai UTM.
manual_term STRING Kata kunci/istilah kampanye manual (utm_term) yang dikumpulkan dengan peristiwa.
manual_content STRING Metadata kampanye manual tambahan (utm_content) yang dikumpulkan dengan peristiwa.
gclid STRING ID klik Google yang dikumpulkan dengan peristiwa.
dclid STRING ID Google Marketing Platform (GMP) yang dikumpulkan dengan peristiwa.
srsltid  STRING ID Google Merchant Center yang dikumpulkan dengan peristiwa.

traffic_source

RECORD traffic_source berisi informasi tentang sumber traffic yang pertama kali memperoleh pengguna. RECORD ini tidak diisi di tabel intrahari.

Catatan: Nilai traffic_source tidak berubah jika pengguna berinteraksi dengan kampanye berikutnya setelah penginstalan.

Nama kolom Jenis data Deskripsi
traffic_source.name STRING Nama kampanye pemasaran yang pertama kali memperoleh pengguna. Kolom ini tidak diisi di tabel intrahari.
traffic_source.medium STRING Nama media (penelusuran berbayar, penelusuran organik, email, dll.) yang pertama kali memperoleh pengguna. Kolom ini tidak diisi di tabel intrahari.
traffic_source.source STRING Nama jaringan yang pertama kali memperoleh pengguna. Kolom ini tidak diisi di tabel intrahari.

stream dan platform

Kolom stream dan platform berisi informasi tentang aliran data dan platform aplikasi.
Nama kolom Jenis data Deskripsi
stream_id STRING ID numerik aliran data tempat peristiwa berasal.
platform STRING Platform aliran data (Web, iOS, atau Android) tempat peristiwa berasal.

ecommerce

RECORD ecommerce ini berisi informasi tentang peristiwa e-commerce yang telah disiapkan di situs atau aplikasi.
Nama kolom Jenis data Deskripsi
ecommerce.total_item_quantity INTEGER Total jumlah item dalam peristiwa ini, yaitu jumlah item.quantity.
ecommerce.purchase_revenue_in_usd FLOAT Pendapatan pembelian dari peristiwa ini, yang direpresentasikan dalam USD dengan satuan standar. Diisi hanya untuk peristiwa pembelian.
ecommerce.purchase_revenue FLOAT Pendapatan pembelian dari peristiwa ini, yang direpresentasikan dalam mata uang lokal dengan satuan standar. Diisi hanya untuk peristiwa pembelian.
ecommerce.refund_value_in_usd FLOAT Jumlah pengembalian dana dalam peristiwa ini, yang direpresentasikan dalam USD dengan satuan standar. Diisi hanya untuk peristiwa pengembalian dana.
ecommerce.refund_value FLOAT Jumlah pengembalian dana dalam peristiwa ini, yang direpresentasikan dalam mata uang lokal dengan satuan standar. Diisi hanya untuk peristiwa pengembalian dana.
ecommerce.shipping_value_in_usd FLOAT Biaya pengiriman dalam peristiwa ini, yang direpresentasikan dalam USD dengan satuan standar.
ecommerce.shipping_value FLOAT Biaya pengiriman dalam peristiwa ini, yang direpresentasikan dalam mata uang lokal.
ecommerce.tax_value_in_usd FLOAT Nilai pajak dalam peristiwa ini, yang direpresentasikan dalam USD dengan satuan standar.
ecommerce.tax_value FLOAT Nilai pajak dalam peristiwa ini, yang direpresentasikan dalam mata uang lokal dengan satuan standar.
ecommerce.transaction_id STRING ID transaksi dari transaksi e-commerce.
ecommerce.unique_items INTEGER Jumlah item unik dalam peristiwa ini, berdasarkan item_id, item_name, dan item_brand.

items

RECORD items berisi informasi tentang item yang disertakan dalam peristiwa. RECORD ini diulang untuk setiap item.
Nama kolom Jenis data Deskripsi
items.item_id STRING ID item.
items.item_name STRING Nama item.
items.item_brand STRING Merek item.
items.item_variant STRING Varian item.
items.item_category STRING Kategori item.
items.item_category2 STRING Subkategori item.
items.item_category3 STRING Subkategori item.
items.item_category4 STRING Subkategori item.
items.item_category5 STRING Subkategori item.
items.price_in_usd FLOAT Harga item dalam USD dengan satuan standar.
items.price FLOAT Harga item dalam mata uang lokal.
items.quantity INTEGER Jumlah item. Jika tidak ditentukan, jumlah item adalah 1.
items.item_revenue_in_usd FLOAT Pendapatan item ini, yang dihitung sebagai price_in_usd * quantity. Kolom ini hanya diisi untuk peristiwa pembelian, dalam USD dengan satuan standar.
items.item_revenue FLOAT Pendapatan item ini, yang dihitung sebagai price * quantity. Kolom ini hanya diisi untuk peristiwa pembelian, dalam mata uang lokal dengan satuan standar.
items.item_refund_in_usd FLOAT Nilai pengembalian dana item ini, yang dihitung sebagai price_in_usd * quantity. Kolom ini hanya diisi untuk peristiwa pengembalian dana, dalam USD dengan satuan standar.
items.item_refund FLOAT Nilai pengembalian dana item ini, yang dihitung sebagai price * quantity. Kolom ini hanya diisi untuk peristiwa pengembalian dana, dalam mata uang lokal dengan satuan standar.
items.coupon STRING Kode kupon yang diterapkan untuk item ini.
items.affiliation STRING Afiliasi produk untuk menetapkan perusahaan pemasok atau lokasi toko fisik.
items.location_id STRING Lokasi yang terkait dengan item.
items.item_list_id STRING ID daftar tempat item ditampilkan kepada pengguna.
items.item_list_name STRING Nama daftar tempat item ditampilkan kepada pengguna.
Items.item_list_index STRING Posisi item dalam daftar.
items.promotion_id STRING ID promosi produk.
items.promotion_name STRING Nama promosi produk.
items.creative_name STRING Nama materi iklan yang digunakan di iklan promosi.
items.creative_slot STRING Nama slot materi iklan.

RECORD item_params

RECORD item_params menyimpan parameter item kustom yang Anda tentukan. Perhatikan bahwa parameter item standar seperti item_id, item_name, dll., tidak disertakan di sini, melainkan diekspor sebagai kolom eksplisit.

Kumpulan parameter yang disimpan di RECORD item_params bersifat unik untuk setiap penerapan. Untuk mempelajari lebih lanjut penerapan e-commerce dan array item Google Analytics 4, lihat artikel Mengukur e-commerce.

Nama kolom Jenis data Deskripsi
items.item_params.key STRING Nama parameter item.
items.item_params.value RECORD Kumpulan data yang berisi nilai parameter item.
items.item_params.value.string_value STRING Jika parameter item direpresentasikan oleh string, parameter tersebut akan diisikan di kolom ini.
items.item_params.value.int_value INTEGER Jika parameter item direpresentasikan oleh integer, parameter tersebut akan diisikan di kolom ini.
items.item_params.value.double_value FLOAT Jika parameter item direpresentasikan oleh nilai ganda, parameter tersebut akan diisikan di kolom ini.
items.item_params.value.float_value FLOAT Jika parameter item direpresentasikan oleh nilai floating point, parameter tersebut akan diisikan di kolom ini.

Baris

Data untuk satu peristiwa dapat direpresentasikan dalam satu atau beberapa baris, bergantung pada apakah data tersebut berisi RECORDS berulang. Misalnya, peristiwa page_view dengan beberapa event_params akan terlihat seperti tabel berikut. Baris awal berisi nama peristiwa, tanggal, stempel waktu, dan item data lainnya yang tidak berulang. RECORD event_params diulang untuk setiap parameter yang terkait dengan peristiwa. RECORDS berulang ini diisi dalam baris berikutnya tepat di bawah baris peristiwa awal.

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 google
      page_referrer https://www.google.com
      <parameter...> <values...>

 

Data peristiwa ini ditampilkan sebagai berikut di antarmuka pengguna GA4.

Pertimbangan untuk mengupdate SDK ke Android 17.2.5 (atau yang lebih baru) dan/atau iOS 16.20.0 (atau yang lebih baru)

Jika Anda menggunakan versi lama dari salah satu SDK tersebut dan berencana mengupgrade ke Android 17.2.5 (atau yang lebih baru) dan/atau iOS 16.20.0 (atau yang lebih baru), Anda harus mempertimbangkan hal berikut:

  • Untuk menggunakan skema BigQuery Export saat ini, Anda harus mengupgrade SDK ke Android 17.2.5 (atau yang lebih baru) dan/atau iOS 16.20.0 (atau yang lebih baru).  Jika menggunakan versi SDK yang lebih lama, data yang diekspor akan mencerminkan skema lama
  • Setelah mengupgrade dan seterusnya, Anda hanya dapat mengakses data item dalam array item berulang; data item tidak akan tersedia lagi dalam parameter peristiwa standar seperti sebelum versi SDK tersebut.
  • Perubahan ini dibuat untuk mendukung analisis multiproduk.
  • Akibatnya, Anda mungkin perlu menyesuaikan referensi ke data item/produk.
Gunakan skrip ini untuk memigrasi set data BigQuery yang sudah ada dari skema ekspor lama ke skema ekspor baru
  1. Login ke halaman Cloud Platform Console >: Manage resources.
  2. Buka project yang datanya ingin Anda migrasikan, lalu klik Activate Google Cloud Shell di bagian atas halaman.
  3. Saat shell terbuka, salin skrip di bawah ke file bernama migration_script.sql:
    1. Berikan perintah cat > migration_script.sql
    2. Salin dan tempel skrip di bawah ke dalam shell.
    3. Tekan Ctrl + D untuk menyimpan dan keluar.
    Skrip (migration_script.sql):
      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
      
  4. Buka shell baru, dan salin skrip bash di bawah ke file bernama migration.sh:
    1. Berikan perintah cat > migration.sh
    2. Salin dan tempel skrip di bawah ke dalam shell.
    3. Tekan Ctrl + D untuk menyimpan dan keluar.
    Ubah skrip berikut untuk menyertakan ID properti Analytics Anda, project ID BigQuery, ID aplikasi Firebase, nama set data BigQuery, serta tanggal mulai dan akhir data yang Anda inginkan.
    Skrip (migration.sh):
    # ID Properti Analytics untuk Project. Temukan ini di Setelan Analytics di Firebase.
    PROPERTY_ID=ID Properti Analytics Anda
    
    # Project BigQuery Export.
    BQ_PROJECT_ID="ID Project BigQuery Anda" (mis., "firebase-public-project")
    
    # ID Aplikasi Firebase untuk aplikasi.
    FIREBASE_APP_ID="ID Aplikasi Firebase Anda" (mis., "1:300830567303:ios:09b1ab1d3ca29bda")
    
    # Set data untuk diimpor.
    BQ_DATASET="nama set data BigQuery yang ingin Anda impor" (mis., "com_firebase_demo_IOS")
    
    # Platform
    PLATFORM="platform aplikasi. ANDROID atau IOS"
    
    # Rentang tanggal yang diinginkan untuk menjalankan migrasi, [START_DATE,END_DATE] inklusif.
    START_DATE=20180324
    END_DATE=20180327
    
    # Jangan ubah skrip di bawah, kecuali jika Anda memahami apa yang Anda lakukan :)
    startdate=$(date -d"$START_DATE"  +%Y%m%d) || exit -1
    enddate=$(date -d"$END_DATE"  +%Y%m%d) || exit -1
    
    # Iterasikan ke seluruh tanggal.
    DATE="$startdate"
    while [ "$DATE" -le "$enddate" ]; do
    
            # Tabel BQ yang dibuat dari parameter di atas.
            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
    
    # AKHIR SKRIP
    
    
  5. Buka shell baru, dan masukkan perintah bash migration.sh

 

Skema ekspor lama

user_dim

Nama Kolom Jenis Data Deskripsi
user_dim RECORD Kumpulan data dimensi pengguna.
user_dim.user_id STRING User ID yang ditetapkan melalui setUserId API.
user_dim.first_open_timestamp_micros INTEGER Waktu (dalam mikrodetik) saat pengguna pertama kali membuka aplikasi.
user_dim.user_properties RECORD Data berulang properti pengguna yang ditetapkan dengan setUserProperty API.
user_dim.user_properties.key STRING Nama properti pengguna
user_dim.user_properties.value RECORD Kumpulan data untuk informasi tentang properti pengguna.
user_dim.user_properties.value.value RECORD Kumpulan data untuk nilai properti pengguna.
user_dim.user_properties.value.value.string_value STRING Nilai properti pengguna (string).
user_dim.user_properties.value.value.int_value INTEGER Nilai properti pengguna (bilangan bulat).
user_dim.user_properties.value.value.double_value FLOAT Nilai properti pengguna (double).
user_dim.user_properties.value.set_timestamp_usec INTEGER Waktu (dalam mikrodetik) saat properti pengguna terakhir ditetapkan.
user_dim.user_properties.value.index INTEGER Indeks (0-24) dari properti pengguna.
user_dim.device_info RECORD Kumpulan data informasi perangkat.
user_dim.device_info.device_category STRING Kategori perangkat (seluler, tablet, desktop).
user_dim.device_info.mobile_brand_name STRING Nama merek perangkat.
user_dim.device_info.mobile_model_name STRING Nama model perangkat.
user_dim.device_info.mobile_marketing_name STRING Nama pemasaran perangkat.
user_dim.device_info.device_model STRING Model perangkat.
user_dim.device_info.platform_version STRING Versi OS.
user_dim.device_info.device_id STRING IDFV (hanya muncul jika IDFA tidak tersedia).
user_dim.device_info.resettable_device_id STRING ID iklan/IDFA.
user_dim.device_info.user_default_language STRING Bahasa OS.
user_dim.device_info.device_time_zone_offset_seconds INTEGER Selisih dari GMT dalam detik.
user_dim.device_info.limited_ad_tracking BOOLEAN Setelan Batasi Pelacakan Iklan di perangkat.
user_dim.geo_info RECORD Kumpulan data informasi geografis pengguna.
user_dim.geo_info.continent STRING Benua tempat peristiwa dilaporkan, berdasarkan alamat IP.
user_dim.geo_info.country STRING Negara tempat peristiwa dilaporkan, berdasarkan alamat IP.
user_dim.geo_info.region STRING Wilayah tempat peristiwa dilaporkan, berdasarkan alamat IP.
user_dim.geo_info.city STRING Kota tempat peristiwa dilaporkan, berdasarkan alamat IP.
user_dim.app_info RECORD Kumpulan data informasi tentang aplikasi.
user_dim.app_info.app_version STRING Nama versi aplikasi (Android) atau versi paket singkat.
user_dim.app_info.app_instance_id STRING Id unik untuk instance aplikasi ini.
user_dim.app_info.app_store STRING Store yang memasang aplikasi ini.
user_dim.app_info.app_platform STRING Platform tempat aplikasi ini dijalankan.
user_dim.traffic_source RECORD Nama sumber traffic yang digunakan untuk mendapatkan pengguna. Kolom ini tidak diisi di tabel intrahari.
user_dim.traffic_source.user_acquired_campaign STRING Nama kampanye pemasaran yang mendapatkan pengguna. Kolom ini tidak diisi di tabel intrahari.
user_dim.traffic_source.user_acquired_medium STRING Nama media (penelusuran berbayar, penelusuran organik, email, dll.) yang memperoleh pengguna. Kolom ini tidak diisi di tabel intrahari.
user_dim.traffic_source.user_acquired_source STRING Nama jaringan yang mendapatkan pengguna. Kolom ini tidak diisi di tabel intrahari.
user_dim.bundle_info RECORD Kumpulan data informasi mengenai paket tempat peristiwa ini diupload.
user_dim.bundle_info.bundle_sequence_id INTEGER Id paket yang berurutan tempat peristiwa ini diupload.
user_dim.ltv_info RECORD Kumpulan data informasi Nilai Umur tentang pengguna ini. Kolom ini tidak diisi di tabel intrahari.
user_dim.ltv_info.revenue FLOAT Nilai Umur (pendapatan) pengguna ini. Kolom ini tidak diisi di tabel intrahari.
user_dim.ltv_info.currency STRING Nilai Umur (mata uang) pengguna ini. Kolom ini tidak diisi di tabel intrahari.
 

event_dim

Nama Kolom Jenis Data Deskripsi
event_dim RECORD Data informasi berulang yang terkait dengan peristiwa dalam paket ini.
event_dim.date STRING Tanggal saat peristiwa ini dicatat (format YYYYMMDD dalam zona waktu terdaftar di aplikasi Anda.)
event_dim.name STRING Nama peristiwa ini.
event_dim.params RECORD Data parameter berulang yang terkait dengan peristiwa ini.
event_dim.params.key STRING Kunci parameter peristiwa.
event_dim.params.value RECORD Kumpulan data nilai parameter peristiwa.
event_dim.params.value.string_value STRING Nilai parameter peristiwa (string).
event_dim.params.value.int_value INTEGER Nilai parameter peristiwa (bilangan bulat).
event_dim.params.value.double_value FLOAT Nilai parameter peristiwa (double).
event_dim.timestamp_micros INTEGER Waktu (dalam mikrodetik, UTC) saat peristiwa ini dicatat di klien.
event_dim.previous_timestamp_micros INTEGER Waktu (dalam mikrodetik, UTC) saat peristiwa ini sebelumnya dicatat di klien.

Apakah ini membantu?

Bagaimana cara meningkatkannya?
Telusuri
Hapus penelusuran
Tutup penelusuran
Aplikasi Google
Menu utama
97746624212200737
true
Pusat Bantuan Penelusuran
true
true
true
true
true
69256
false
false