Giản đồ BigQuery Export
Bài viết này giải thích định dạng và giản đồ của dữ liệu Google Analytics cho Firebase xuất sang BigQuery.
Tập dữ liệu
Với mỗi dự án Firebase được liên kết với BigQuery, một tập dữ liệu riêng lẻ có tên "analytics_
Bảng
Trong mỗi tập dữ liệu, bảng được nhập cho mỗi ngày xuất. Các bảng này có định dạng "events_YYYYMMDD". Ngoài ra, một bảng khác được nhập cho các sự kiện đã nhận trong suốt ngày hiện tại. Bảng này có tên là “events_intraday_YYYYMMDD” và được điền trong thời gian thực khi các sự kiện được thu thập.
Hàng
Mỗi hàng trong một bảng tương ứng với một sự kiện đã được SDK Analytics tải lên.
Cột
Các cột bên trong dữ liệu xuất được liệt kê bên dưới.
Tên trường | Loại dữ liệu | Mô tả |
---|---|---|
Ứng dụng | ||
app_info | RECORD | Bản ghi thông tin về ứng dụng. |
app_info.id | STRING | Tên gói hoặc ID gói của ứng dụng. |
app_info.firebase_app_id | STRING | ID ứng dụng Firebase được liên kết với ứng dụng |
app_info.install_source | STRING | Cửa hàng cài đặt ứng dụng. |
app_info.version | STRING | versionName của ứng dụng (Android) hoặc phiên bản nhóm ngắn. |
Thiết bị | ||
thiết bị | RECORD | Bản ghi thông tin thiết bị. |
device.category | STRING | Danh mục thiết bị (điện thoại di động, máy tính bảng, máy tính để bàn). |
device.mobile_brand_name | STRING | Thương hiệu thiết bị. |
device.mobile_model_name | STRING | Tên mẫu thiết bị. |
device.mobile_marketing_name | STRING | Tên tiếp thị của thiết bị. |
device.mobile_os_hardware_model | STRING | Thông tin về mẫu thiết bị được truy xuất trực tiếp từ hệ điều hành. |
device.operatingSystem | STRING | Hệ điều hành của thiết bị. |
device.operating_system_version | STRING | Phiên bản hệ điều hành. |
device.vendor_id | STRING | IDFV (chỉ có khi IDFA không được thu thập). |
device.advertising_id | STRING | ID quảng cáo/IDFA. |
device.language | STRING | Ngôn ngữ hệ điều hành. |
device.time_zone_offset_seconds | INTEGER | Chênh lệch so với giờ GMT theo giây. |
device.is_limited_ad_tracking | BOOLEAN | Cài đặt Giới hạn theo dõi quảng cáo của thiết bị. |
Luồng và nền tảng | ||
stream_id | STRING | ID bằng số của luồng. |
platform | STRING | Nền tảng nơi ứng dụng được xây dựng. |
Người dùng | ||
user_first_touch_timestamp | INTEGER | Thời gian (bằng micrô giây) khi người dùng mở ứng dụng lần đầu tiên. |
user_id | STRING | ID người dùng được đặt thông qua API setUserId. |
user_pseudo_id | STRING | ID gán biệt danh (ví dụ: ID bản sao ứng dụng) cho người dùng. |
user_properties | RECORD | Bản ghi trùng lặp các thuộc tính người dùng được đặt thông qua API setUserProperty. |
user_properties.key | STRING | Tên của thuộc tính người dùng |
user_properties.value | RECORD | Bản ghi giá trị thuộc tính người dùng. |
user_properties.value.string_value | STRING | Giá trị chuỗi của thuộc tính người dùng. |
user_properties.value.int_value | INTEGER | Giá trị số nguyên của thuộc tính người dùng. |
user_properties.value.double_value | FLOAT | Giá trị gấp đôi của thuộc tính người dùng. |
user_properties.value.float_value | FLOAT | Trường này hiện chưa được sử dụng. |
user_properties.value.set_timestamp_micros | INTEGER | Thời gian (bằng micrô giây) khi đặt thuộc tính người dùng lần gần đây nhất. |
user_ltv | RECORD | Bản ghi thông tin Giá trị lâu dài về người dùng. Với các bảng trong ngày, trường này không điền dữ liệu. |
user_ltv.revenue | FLOAT | Giá trị lâu dài (doanh thu) của người dùng. Với các bảng trong ngày, trường này không điền dữ liệu. |
user_ltv.currency | STRING | Giá trị lâu dài (tiền tệ) của người dùng. Với các bảng trong ngày, trường này không điền dữ liệu. |
Chiến dịch | Lưu ý: phân bổ traffic_source được dựa trên nhấp chuột cuối cùng của nhiều kênh. | |
traffic_source | RECORD | Tên của nguồn lưu lượng truy cập được dùng để chuyển đổi người dùng. Với các bảng trong ngày, trường này không điền dữ liệu. |
traffic_source.name | STRING | Tên của chiến dịch tiếp thị đã chuyển đổi người dùng. Với các bảng trong ngày, trường này không điền dữ liệu. |
traffic_source.medium | STRING | Tên của phương tiện (tìm kiếm có trả tiền, tìm kiếm không phải trả tiền, email, v.v.) đã chuyển đổi người dùng. Với các bảng trong ngày, trường này không điền dữ liệu. |
traffic_source.source | STRING | Tên của mạng đã chuyển đổi người dùng. Với các bảng trong ngày, trường này không điền dữ liệu. |
Địa lý | ||
geo | RECORD | Bản ghi thông tin địa lý của người dùng. |
geo.continent | STRING | Lục địa mà từ đó các sự kiện được báo cáo theo địa chỉ IP. |
geo.sub_continent | STRING | Tiểu lục địa mà từ đó các sự kiện được báo cáo theo địa chỉ IP. |
geo.country | STRING | Quốc gia mà từ đó các sự kiện được báo cáo theo địa chỉ IP. |
geo.region | STRING | Vùng mà từ đó các sự kiện được báo cáo theo địa chỉ IP. |
geo.metro | STRING | Thành phố lớn mà từ đó các sự kiện được báo cáo theo địa chỉ IP. |
geo.city | STRING | Thành phố mà từ đó các sự kiện được báo cáo theo địa chỉ IP. |
Sự kiện | ||
event_date | STRING | Ngày đã ghi nhật ký cho sự kiện này (định dạng YYYYMMDD theo múi giờ đã đăng ký của ứng dụng). |
event_timestamp | INTEGER | Thời gian (tính bằng micrô giây, UTC) mà tại đó sự kiện được ghi lại trên ứng dụng. |
event_previous_timestamp | INTEGER | Thời gian (tính bằng micrô giây, UTC) mà tại đó sự kiện được ghi nhật ký trước đó trên ứng dụng. |
event_name | STRING | Tên của sự kiện. |
event_params | RECORD | Bản ghi trùng lặp các thông số liên quan đến sự kiện này. |
event_params.key | STRING | Khóa của thông số sự kiện. |
event_params.value | RECORD | Bản ghi giá trị của thông số sự kiện. |
event_params.value.string_value | STRING | Giá trị chuỗi của thông số sự kiện. |
event_params.value.int_value | INTEGER | Giá trị số nguyên của thông số sự kiện. |
event_params.value.double_value | FLOAT | Giá trị gấp đôi của thông số sự kiện. |
event_params.value.float_value | FLOAT | Giá trị có kiểu dữ liệu nổi của thông số sự kiện. Trường này hiện chưa được sử dụng. |
event_value_in_usd | FLOAT | Giá trị quy đổi tiền tệ (bằng USD) của thông số "giá trị" của sự kiện. |
event_bundle_sequence_id | INTEGER | ID thứ tự của nhóm mà các sự kiện này được tải lên. |
event_server_timestamp_offset | INTEGER | Dấu thời gian bù giữa thời gian thu thập và thời gian tải lên tính theo micrô giây. |
Web | ||
web_info | RECORD | Bản ghi thông tin cho dữ liệu web. |
web_info.hostname | STRING | Tên máy chủ được liên kết với sự kiện đã đăng nhập. |
web_info.browser | STRING | Trình duyệt mà người dùng sử dụng để xem nội dung. |
web_info.browser_version | STRING | Phiên bản trình duyệt mà người dùng sử dụng để xem nội dung. |
Sử dụng tập lệnh này để di chuyển các tập dữ liệu BigQuery hiện có từ giản đồ xuất cũ sang giản đồ mới
- Đăng nhập vào trang Bảng điều khiển Cloud Platform >: Tài nguyên người quản lý.
- Mở dự án có dữ liệu bạn muốn di chuyển và nhấp vào Kích hoạt Google Cloud Shell ở đầu trang.
- Khi màn hình mở ra, hãy sao chép tập lệnh bên dưới vào tệp có tên
migration_script.sql
:- Thêm lệnh
cat > migration_script.sql
- Sao chép và dán tập lệnh bên dưới vào màn hình.
- Nhấn Ctrl+D để lưu và thoát.
Tập lệnh (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
- Thêm lệnh
- Mở một màn hình mới và sao chép tập lệnh bash bên dưới vào tệp có tên
migration.sh
:- Thêm lệnh
cat > migration.sh
- Sao chép và dán tập lệnh bên dưới vào màn hình.
- Nhấn Ctrl+D để lưu và thoát.
Sửa đổi tập lệnh sau để bao gồm ID thuộc tính Analytics, ID dự án BigQuery, ID ứng dụng Firebase, tên tập dữ liệu BigQuery, cùng với ngày bắt đầu và ngày kết thúc của dữ liệu bạn muốn.Tập lệnh (migration.sh):
# ID thuộc tính Analytics cho Dự án. Hãy tìm thông tin này trong Cài đặt Analytics trong Firebase PROPERTY_ID=ID thuộc tính Analytics của bạn # Dự án Bigquery Export BQ_PROJECT_ID="ID dự án BigQuery của bạn" (ví dụ: "dự án-firebase-công khai") # ID ứng dụng Firebase cho ứng dụng. FIREBASE_APP_ID = "ID ứng dụng Firebase của bạn" (ví dụ: "1: 300830567303: ios: 09b1ab1d3ca29bda") # Tập dữ liệu cần nhập. BQ_DATASET="tên của tập dữ liệu BigQuery mà bạn muốn nhập" (ví dụ: "com_firebase_demo_IOS") # Nền tảng PLATFORM = "nền tảng của ứng dụng. ANDROID hoặc IOS " # Phạm vi ngày mà bạn muốn thực hiện sự di chuyển, bao gồm [START_DATE, END_DATE]. START_DATE = 20180324 END_DATE = 20180327 # Không sửa đổi tập lệnh bên dưới, trừ khi bạn biết mình đang làm gì :) startdate=$(date -d "$ START_DATE" +%Y%m%d) || exit -1 enddate=$(date-d "$ END_DATE" +%Y%m%d) || exit -1 # Lặp lại qua các ngày. DATE = "$startdate" while [ "$ DATE" -le "$ enddate"]; do # Bảng BQ được xây dựng từ các thông số trên. 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 # HẾT TẬP LỆNH
- Thêm lệnh
- Mở một giao diện mới và thêm lệnh
bash migration.sh
.
Giản đồ xuất cũ
user_dim
Tên trường | Loại dữ liệu | Mô tả |
---|---|---|
user_dim | RECORD | Bản ghi các thứ nguyên người dùng. |
user_dim.user_id | STRING | ID người dùng được đặt thông qua API setUserId. |
user_dim.first_open_timestamp_micros | INTEGER | Thời gian (bằng micrô giây) khi người dùng mở ứng dụng lần đầu tiên. |
user_dim.user_properties | RECORD | Bản ghi trùng lặp các thuộc tính người dùng được đặt thông qua API setUserProperty. |
user_dim.user_properties.key | STRING | Tên của thuộc tính người dùng |
user_dim.user_properties.value | RECORD | Bản ghi thông tin về thuộc tính người dùng. |
user_dim.user_properties.value.value | RECORD | Bản ghi giá trị thuộc tính người dùng. |
user_dim.user_properties.value.value.string_value | STRING | Giá trị chuỗi của thuộc tính người dùng. |
user_dim.user_properties.value.value.int_value | INTEGER | Giá trị số nguyên của thuộc tính người dùng. |
user_dim.user_properties.value.value.double_value | FLOAT | Giá trị gấp đôi của thuộc tính người dùng. |
user_dim.user_properties.value.set_timestamp_usec | INTEGER | Thời gian (bằng micrô giây) khi đặt thuộc tính người dùng lần gần đây nhất. |
user_dim.user_properties.value.index | INTEGER | Chỉ mục (0-24) của thuộc tính người dùng. |
user_dim.device_info | RECORD | Bản ghi thông tin thiết bị. |
user_dim.device_info.device_category | STRING | Danh mục thiết bị (điện thoại di động, máy tính bảng, máy tính để bàn). |
user_dim.device_info.mobile_brand_name | STRING | Thương hiệu thiết bị. |
user_dim.device_info.mobile_model_name | STRING | Tên mẫu thiết bị. |
user_dim.device_info.mobile_marketing_name | STRING | Tên tiếp thị của thiết bị. |
user_dim.device_info.device_model | STRING | Mẫu thiết bị. |
user_dim.device_info.platform_version | STRING | Phiên bản hệ điều hành. |
user_dim.device_info.device_id | STRING | IDFV (chỉ có khi không có IDFA). |
user_dim.device_info.resettable_device_id | STRING | ID quảng cáo/IDFA. |
user_dim.device_info.user_default_language | STRING | Ngôn ngữ hệ điều hành. |
user_dim.device_info.device_time_zone_offset_seconds | INTEGER | Chênh lệch so với giờ GMT theo giây. |
user_dim.device_info.limited_ad_tracking | BOOLEAN | Cài đặt Giới hạn theo dõi quảng cáo của thiết bị. |
user_dim.geo_info | RECORD | Bản ghi thông tin địa lý của người dùng. |
user_dim.geo_info.continent | STRING | Lục địa mà từ đó các sự kiện được báo cáo theo địa chỉ IP. |
user_dim.geo_info.country | STRING | Quốc gia mà từ đó các sự kiện được báo cáo theo địa chỉ IP. |
user_dim.geo_info.region | STRING | Vùng mà từ đó các sự kiện được báo cáo theo địa chỉ IP. |
user_dim.geo_info.city | STRING | Thành phố mà từ đó các sự kiện được báo cáo theo địa chỉ IP. |
user_dim.app_info | RECORD | Bản ghi thông tin về ứng dụng. |
user_dim.app_info.app_version | STRING | versionName của ứng dụng (Android) hoặc phiên bản nhóm ngắn. |
user_dim.app_info.app_instance_id | STRING | ID duy nhất cho phiên bản này của ứng dụng. |
user_dim.app_info.app_store | STRING | Cửa hàng đã cài đặt ứng dụng này. |
user_dim.app_info.app_platform | STRING | Nền tảng mà ứng dụng này đang chạy. |
user_dim.traffic_source | RECORD | Tên của nguồn lưu lượng truy cập dùng để có được người dùng. Với các bảng trong ngày, trường này không điền dữ liệu. |
user_dim.traffic_source.user_acquired_campaign | STRING | Ten của chiến dịch tiếp thị có được người dùng. Với các bảng trong ngày, trường này không điền dữ liệu. |
user_dim.traffic_source.user_acquired_medium | STRING | Tên của phương tiện (tìm kiếm có trả tiền, tìm kiếm không phải trả tiền, email, v.v.) có được người dùng. Với các bảng trong ngày, trường này không điền dữ liệu. |
user_dim.traffic_source.user_acquired_source | STRING | Tên của mạng có được người dùng. Với các bảng trong ngày, trường này không điền dữ liệu. |
user_dim.bundle_info | RECORD | Bản ghi thông tin liên quan đến nhóm mà các sự kiện này đã được tải lên. |
user_dim.bundle_info.bundle_sequence_id | INTEGER | ID thứ tự của nhóm mà các sự kiện này đã được tải lên. |
user_dim.ltv_info | RECORD | Bản ghi thông tin về Giá trị lâu dài của người dùng này. Với các bảng trong ngày, trường này không điền dữ liệu. |
user_dim.ltv_info.revenue | FLOAT | Giá trị lâu dài (doanh thu) của người dùng này. Với các bảng trong ngày, trường này không điền dữ liệu. |
user_dim.ltv_info.currency | STRING | Giá trị lâu dài (đơn vị tiền tệ) của người dùng này. Với các bảng trong ngày, trường này không điền dữ liệu. |
event_dim
Tên trường | Loại dữ liệu | Mô tả |
---|---|---|
event_dim | RECORD | Bản ghi trùng lặp các thông tin liên quan đến các sự kiện trong nhóm này. |
event_dim.date | STRING | Ngày đã ghi nhật ký cho sự kiện này (định dạng YYYYMMDD theo múi giờ đã đăng ký của ứng dụng.) |
event_dim.name | STRING | Tên sự kiện này. |
event_dim.params | RECORD | Bản ghi trùng lặp các thông số liên quan đến sự kiện này. |
event_dim.params.key | STRING | Khóa của thông số sự kiện. |
event_dim.params.value | RECORD | Bản ghi giá trị của thông số sự kiện. |
event_dim.params.value.string_value | STRING | Giá trị chuỗi của thông số sự kiện. |
event_dim.params.value.int_value | INTEGER | Giá trị số nguyên của thông số sự kiện. |
event_dim.params.value.double_value | FLOAT | Giá trị gấp đôi của thông số sự kiện. |
event_dim.timestamp_micros | INTEGER | Thời gian (bằng micrô giây, giờ UTC) khi sự kiện này được ghi nhật ký trên ứng dụng. |
event_dim.previous_timestamp_micros | INTEGER | Thời gian (bằng micrô giây, giờ UTC) khi sự kiện này được ghi nhật ký trước đó trên ứng dụng. |
* Nguồn: Google Analytics