[GA4] 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 tài sản Google Analytics 4 cũng như dữ liệu Google Analytics cho Firebase được xuất sang BigQuery.

Tập dữ liệu

Đối với mỗi tài sản Google Analytics 4 và mỗi dự án Firebase liên kết với BigQuery, hệ thống sẽ thêm một tập dữ liệu "analytics_<property_id>" vào dự án BigQuery của bạn. Mã tài sản là mã tài sản Analytics mà bạn có thể tìm thấy trong phần cài đặt tài sản cho tài sản Google Analytics 4 và trong phần Cài đặt của dịch vụ phân tích ứng dụng trên Firebase. Mỗi tài sản Google Analytics 4 và mỗi ứng dụng đã bật tính năng xuất BigQuery sẽ xuất dữ liệu của mình sang tập dữ liệu đó.

Bảng

Trong mỗi tập dữ liệu, bảng có tên là events_YYYYMMDD sẽ được tạo mỗi ngày nếu bạn bật chế độ Xuất hằng ngày.

Nếu bật chế độ Xuất trực tuyến, thì một bảng có tên là events_intraday_YYYYMMDD sẽ được tạo. Bảng này được điền liên tục khi các sự kiện được ghi lại trong suốt cả ngày. Bảng này sẽ bị xoá vào cuối mỗi ngày sau khi bảng events_YYYYMMDD được hoàn tất.

Chỉ một số thiết bị có sự kiện được kích hoạt gửi dữ liệu đến Analytics vào cùng ngày mà sự kiện được kích hoạt. Để tính đến độ trễ này, Analytics sẽ cập nhật bảng hằng ngày (events_YYYYMMDD) để thêm sự kiện trong những ngày đó (tối đa 3 ngày sau ngày sự kiện được kích hoạt). Các sự kiện sẽ có dấu thời gian chính xác cho dù dữ liệu được gửi đến trễ. Những sự kiện được gửi đến sau thời hạn 3 ngày sẽ không được ghi lại.

 

Nếu bạn đang sử dụng hộp cát BigQuery, thì hệ thống sẽ không nhập sự kiện trong ngày và áp dụng giới hạn bổ sung.

Nâng cấp từ hộp cát nếu bạn muốn nhập trong ngày.

Cột

Mỗi cột trong bảng events_YYYYMMDD biểu thị một thông số theo sự kiện cụ thể. Xin lưu ý rằng một số thông số được lồng trong RECORDS và một số RECORDS (như itemsevent_params) có thể lặp lại. Các cột trong bảng được mô tả bên dưới.

event
Các trường event chứa thông tin nhận dạng riêng một sự kiện.
Tên trường Loại dữ liệu Mô tả
event_date STRING Ngày mà sự kiện này được ghi lại (định dạng YYYYMMDD theo múi giờ đã đăng ký của ứng dụng).
event_timestamp INTEGER Thời gian (tính theo micrô giây, giờ UTC) khi sự kiện này được ghi lại trên ứng dụng.
event_previous_timestamp INTEGER Thời gian (tính bằng micrô giây, giờ UTC) khi sự kiện này trước đây đã được ghi lại trên ứng dụng.
event_name STRING Tên của sự kiện.
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 Mã trình tự của gói mà những sự kiện này được tải lên.
event_server_timestamp_offset INTEGER Chênh lệch dấu thời gian giữa thời gian thu thập và thời gian tải lên (tính theo micrô giây).

event_params RECORD

event_params RECORD có thể lưu trữ các thông số sự kiện ở cấp chiến dịch và theo bối cảnh, cũng như mọi thông số sự kiện do người dùng xác định. event_params RECORD lặp lại cho mỗi khoá được liên kết với một sự kiện.

Mỗi nhóm thông số được lưu trữ trong event_params RECORD là duy nhất cho mỗi lần triển khai. Để xem danh sách đầy đủ các thông số sự kiện mà bạn triển khai, hãy truy vấn danh sách thông số sự kiện

Tên trường Loại dữ liệu Mô tả
event_params.key STRING Tên của thông số sự kiện.
event_params.value RECORD Bản ghi có chứa giá trị của thông số sự kiện.
event_params.value.string_value STRING Nếu thông số sự kiện được biểu thị bằng một chuỗi (chẳng hạn như URL hoặc tên chiến dịch), thì thông số đó sẽ được điền vào trường này.
event_params.value.int_value INTEGER Nếu thông số sự kiện được biểu thị bằng một số nguyên, thì thông số đó sẽ được điền vào trường này.
event_params.value.double_value FLOAT Nếu thông số sự kiện được biểu thị bằng một giá trị kép, thì thông số đó sẽ được điền vào trường này.
event_params.value.float_value FLOAT Nếu thông số sự kiện được biểu thị bằng một giá trị dấu phẩy động, thì thông số đó sẽ được điền vào trường này. Trường này hiện không được sử dụng.

item_params RECORD

item_params RECORD có thể lưu trữ các thông số mặt hàng và mọi thông số mặt hàng do người dùng xác định. Mỗi nhóm thông số được lưu trữ trong event_params RECORD sẽ chỉ dành riêng cho một lần triển khai.

Tên trường Loại dữ liệu Mô tả
item_params.key STRING Tên của thông số mặt hàng.
item_params.value RECORD Bản ghi chứa giá trị của thông số mặt hàng.
item_params.value.string_value STRING Nếu thông số mặt hàng được biểu thị bằng chuỗi, thì nó sẽ được điền vào trường này.
item_params.value.int_value INTEGER Nếu thông số mặt hàng được biểu thị bằng số nguyên, thì nó sẽ được điền vào trường này.
item_params.value.double_value FLOAT Nếu thông số mặt hàng được biểu thị bằng giá trị kép, thì nó sẽ được điền vào trường này.
item_params.value.float_value FLOAT Nếu thông số mặt hàng được biểu thị bằng giá trị dấu phẩy động, thì nó sẽ được điền vào trường này.
user
Các trường user sẽ chứa thông tin nhận dạng riêng một người dùng liên quan đến sự kiện đó.
Tên trường Loại dữ liệu Mô tả
is_active_user BOOLEAN

Liệu người dùng này hoạt động (True) hay không hoạt động (False) tại bất kỳ thời điểm nào trong ngày theo lịch

Chỉ được đưa vào bảng hằng ngày (events_YYYYMMDD).

user_id STRING Mã nhận dạng duy nhất được gán cho một người dùng.
user_pseudo_id STRING Mã dạng biệt danh (ví dụ: Mã bản sao ứng dụng) cho người dùng.
user_first_touch_timestamp INTEGER Thời lượng (tính theo micrô giây) mà người dùng mở ứng dụng hoặc truy cập vào trang web lần đầu tiên.

các trường privacy_info

Các trường privacy_info sẽ chứa thông tin dựa trên trạng thái đồng ý của người dùng khi chế độ đồng ý đang bật.
Tên trường Loại dữ liệu Mô tả
privacy_info.ads_storage STRING

Tính năng nhắm mục tiêu quảng cáo có được bật cho người dùng hay không.

Các giá trị có thể sử dụng: Có, Không, Chưa đặt

privacy_info.analytics_storage STRING

Bộ nhớ Analytics có được bật cho người dùng hay không.

Các giá trị có thể sử dụng: Có, Không, Chưa đặt

privacy_info.uses_transient_token STRING

Liệu một người dùng web đã từ chối hoạt động lưu trữ trên Analytics và nhà phát triển đã bật tính năng đo lường mà không cần cookie dựa trên mã thông báo tạm thời trong dữ liệu máy chủ hay chưa.

Các giá trị có thể sử dụng: Có, Không, Chưa đặt

user_properties RECORD

user_properties RECORD sẽ chứa mọi thuộc tính người dùng mà bạn đã đặt. Thuộc tính này lặp lại cho từng khoá liên quan đến một người dùng.
Tên trường Loại dữ liệu Mô tả
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ị kiểu chuỗi của thuộc tính người dùng.
user_properties.value.int_value INTEGER Giá trị kiểu 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 Hiện tại, trường này chưa được sử dụng.
user_properties.value.set_timestamp_micros INTEGER Thời gian (tính theo micrô giây) khi thuộc tính người dùng được đặt vào lần gần đây nhất.

user_ltv RECORD

user_ltv RECORD chứa thông tin về Giá trị vòng đời của người dùng. RECORD này không được điền sẵn trong các bảng trong ngày.
Tên trường Loại dữ liệu Mô tả
user_ltv.revenue FLOAT Giá trị vòng đời (doanh thu) của người dùng. Trường này không được điền sẵn trong các bảng trong ngày.
user_ltv.currency STRING Giá trị vòng đời (đơn vị tiền tệ) của người dùng. Trường này không được điền sẵn trong các bảng trong ngày.
device
device RECORD chứa thông tin về thiết bị mà sự kiện bắt nguồn.
Tên trường Loại dữ liệu Mô tả
device.category STRING Loại thiết bị (điện thoại di động, máy tính bảng, máy tính).
device.mobile_brand_name STRING Tên thương hiệu của 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.operating_system 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 Mã nhận dạng cho quảng cáo/IDFA.
device.language STRING Ngôn ngữ hệ điều hành.
device.time_zone_offset_seconds INTEGER Thời gian chênh lệch so với giờ GMT tính bằng giây.
device.is_limited_ad_tracking BOOLEAN

Chế độ cài đặt Giới hạn theo dõi quảng cáo của thiết bị.

Trên iOS 14 trở lên, trả về false nếu IDFA khác 0.

device.web_info.browser STRING Trình duyệt mà người dùng sử dụng để xem nội dung.
device.web_info.browser_version STRING Phiên bản của trình duyệt mà người dùng sử dụng để xem nội dung.
device.web_info.hostname STRING Tên máy chủ liên kết với sự kiện được ghi lại.

geo

geo RECORD chứa thông tin về vị trí địa lý nơi sự kiện bắt đầu.
Tên trường Loại dữ liệu Mô tả
geo.continent STRING Lục địa mà từ đó các sự kiện được báo cáo, dựa trên địa chỉ IP.
geo.sub_continent STRING Tiểu lục địa mà từ đó các sự kiện được báo cáo, dựa trên địa chỉ IP.
geo.country STRING Quốc gia mà từ đó các sự kiện được báo cáo, dựa trên địa chỉ IP.
geo.region STRING Khu vực mà từ đó các sự kiện được báo cáo, dựa trên địa chỉ IP.
geo.metro STRING Thành phố lớn mà từ đó các sự kiện được báo cáo, dựa trên địa chỉ IP.
geo.city STRING Thành phố mà sự kiện được báo cáo, dựa trên địa chỉ IP.
app_info
app_info RECORD chứa thông tin về ứng dụng mà sự kiện bắt đầu.
Tên trường Loại dữ liệu Mô tả
app_info.id STRING Tên gói hoặc mã nhận dạng gói của ứng dụng.
app_info.firebase_app_id STRING Mã ứ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 gói dạng ngắn.
collected_traffic_source

BẢN GHI collected_traffic_source chứa dữ liệu nguồn lưu lượng truy cập đã được thu thập cùng với sự kiện.

Tên trường Loại dữ liệu Mô tả
manual_campaign_id STRING Mã chiến dịch được đặt thủ công (utm_id) đã được thu thập cùng với sự kiện.
manual_campaign_name STRING Tên chiến dịch được đặt thủ công (utm_campaign) đã được thu thập cùng với sự kiện.
manual_source STRING Nguồn chiến dịch được đặt thủ công (utm_source) đã được thu thập cùng với sự kiện. Bao gồm cả thông số được phân tích cú pháp từ thông số giới thiệu chứ không chỉ giá trị UTM. 
manual_medium STRING Phương tiện chiến dịch được đặt thủ công (utm_medium) đã được thu thập cùng với sự kiện. Bao gồm cả thông số được phân tích cú pháp từ thông số giới thiệu chứ không chỉ giá trị UTM.
manual_term STRING Từ khoá của chiến dịch được đặt thủ công (utm_term) đã được thu thập cùng với sự kiện.
manual_content STRING Siêu dữ liệu khác của chiến dịch được đặt thủ công (utm_content) đã được thu thập cùng với sự kiện.
gclid STRING Mã lượt nhấp của Google đã được thu thập cùng với sự kiện.
dclid STRING Mã nhận dạng Google Marketing Platform (GMP) đã được thu thập cùng với sự kiện.
srsltid  STRING Mã nhận dạng Google Merchant Center đã được thu thập cùng với sự kiện.
traffic_source

traffic_source RECORD chứa thông tin về nguồn lưu lượng truy cập đầu tiên thu nạp được người dùng. Bản ghi này không được điền sẵn trong bảng trong ngày.

Lưu ý: Các giá trị traffic_source không thay đổi nếu người dùng tương tác với các chiến dịch tiếp theo sau khi cài đặt.

Tên trường Loại dữ liệu Mô tả
traffic_source.name STRING Tên của chiến dịch tiếp thị đầu tiên thu nạp được người dùng. Trường này không được điền sẵn trong các bảng trong ngày.
traffic_source.medium STRING Tên của phương tiện (kết quả tìm kiếm có trả phí, kết quả tìm kiếm tự nhiên, email, v.v.) đầu tiên thu nạp được người dùng. Trường này không được điền sẵn trong các bảng trong ngày.
traffic_source.source STRING Tên của mạng đầu tiên thu nạp được người dùng. Trường này không được điền sẵn trong các bảng trong ngày.
stream và platform
Các trường stream và platform chứa thông tin về luồng và nền tảng ứng dụng.
Tên trường Loại dữ liệu Mô tả
stream_id STRING Mã dạng số của luồng dữ liệu mà sự kiện bắt nguồn.
platform STRING Nền tảng luồng dữ liệu (Web, iOS hoặc Android) mà sự kiện bắt nguồn.
ecommerce
RECORD thương mại điện tử này chứa thông tin về mọi sự kiện thương mại điện tử đã được thiết lập trên một trang web hoặc ứng dụng.
Tên trường Loại dữ liệu Mô tả
ecommerce.total_item_quantity INTEGER Tổng số mặt hàng trong sự kiện này và là tổng của trường items.quantity.
ecommerce.purchase_revenue_in_usd FLOAT Doanh thu của sự kiện này, được thể hiện bằng đơn vị tiêu chuẩn là đô la. Chỉ được điền cho sự kiện mua.
ecommerce.purchase_revenue FLOAT Doanh thu của sự kiện này, được thể hiện bằng đơn vị tiêu chuẩn là nội tệ. Chỉ được điền cho sự kiện mua.
ecommerce.refund_value_in_usd FLOAT Số tiền hoàn lại trong sự kiện này, được thể hiện bằng đơn vị tiêu chuẩn là đô la. Chỉ được điền cho sự kiện hoàn tiền.
ecommerce.refund_value FLOAT Số tiền hoàn lại trong sự kiện này, được thể hiện bằng đơn vị tiêu chuẩn là nội tệ. Chỉ được điền cho sự kiện hoàn tiền.
ecommerce.shipping_value_in_usd FLOAT Phí vận chuyển trong sự kiện này, được thể hiện bằng đơn vị tiêu chuẩn là đô la.
ecommerce.shipping_value FLOAT Phí vận chuyển trong sự kiện này, được thể hiện bằng đơn vị là nội tệ.
ecommerce.tax_value_in_usd FLOAT Tiền thuế trong sự kiện này, được thể hiện bằng đơn vị tiêu chuẩn là đô la.
ecommerce.tax_value FLOAT Tiền thuế trong sự kiện này, được thể hiện bằng đơn vị tiêu chuẩn là nội tệ.
ecommerce.transaction_id STRING Mã giao dịch của giao dịch thương mại điện tử.
ecommerce.unique_items INTEGER Số lượng mặt hàng riêng biệt trong sự kiện này (dựa trên item_id, item_name và item_brand).
items
items RECORD chứa thông tin về các mặt hàng được đưa vào một sự kiện. Thông số này lặp lại cho từng mặt hàng.
Tên trường Loại dữ liệu Mô tả
items.item_id STRING Mã của mặt hàng.
items.item_name STRING Tên mặt hàng.
items.item_brand STRING Thương hiệu của mặt hàng.
items.item_variant STRING Các loại của mặt hàng.
items.item_category STRING Danh mục của mặt hàng.
items.item_category2 STRING Danh mục phụ của mặt hàng.
items.item_category3 STRING Danh mục phụ của mặt hàng.
items.item_category4 STRING Danh mục phụ của mặt hàng.
items.item_category5 STRING Danh mục phụ của mặt hàng.
items.price_in_usd FLOAT Giá của mặt hàng, theo đơn vị tiêu chuẩn là đô la.
items.price FLOAT Giá của mặt hàng theo đơn vị là nội tệ.
items.quantity INTEGER Số lượng của một mặt hàng. Số lượng được đặt thành 1 nếu không được chỉ định.
items.item_revenue_in_usd FLOAT Doanh thu của mặt hàng này (tính theo công thức: price_in_usd * số lượng). Thông tin này chỉ được điền cho sự kiện mua, theo đơn vị tiêu chuẩn là đô la.
items.item_revenue FLOAT Doanh thu của mặt hàng này (tính theo công thức giá * số lượng). Thông tin này chỉ được điền cho sự kiện mua hàng, theo đơn vị tiêu chuẩn là nội tệ.
items.item_refund_in_usd FLOAT Giá trị hoàn lại của mặt hàng này, tính theo công thức: price_in_usd * số lượng. Thông tin này chỉ được điền cho sự kiện hoàn tiền, theo đơn vị tiêu chuẩn là đô la.
items.item_refund FLOAT Giá trị hoàn lại của mặt hàng này (tính theo công thức: giá * số lượng). Thông tin này chỉ được điền cho sự kiện hoàn lại tiền, theo đơn vị tiêu chuẩn là nội tệ.
items.coupon STRING Mã giảm giá đã áp dụng cho mặt hàng này.
items.affiliation STRING Một đơn vị liên kết sản phẩm để xác định công ty cung cấp hoặc vị trí cửa hàng thực tế.
items.location_id STRING Vị trí liên kết với mặt hàng.
items.item_list_id STRING Mã của danh sách chứa mặt hàng được hiển thị cho người dùng.
items.item_list_name STRING Tên của danh sách chứa mặt hàng được hiển thị cho người dùng.
Items.item_list_index STRING Vị trí của mặt hàng trong danh sách.
items.promotion_id STRING Mã chương trình khuyến mại của sản phẩm.
items.promotion_name STRING Tên của chương trình khuyến mại sản phẩm.
items.creative_name STRING Tên của mẫu quảng cáo dùng trong một vị trí quảng cáo.
items.creative_slot STRING Tên của một vùng mẫu quảng cáo.

item_params RECORD

item_params RECORD lưu trữ các thông số mặt hàng tuỳ chỉnh mà bạn đã xác định. Xin lưu ý rằng các thông số mặt hàng được xác định trước như item_id, item_name, v.v. không được đưa vào đây, mà được xuất dưới dạng các trường rõ ràng.

Mỗi nhóm thông số được lưu trữ trong item_params RECORD sẽ chỉ dành riêng cho một lần triển khai. Để tìm hiểu thêm về các cách triển khai tính năng thương mại điện tử và mảng mặt hàng Google Analytics 4, hãy xem bài viết Đo lường hoạt động thương mại điện tử.

Tên trường Loại dữ liệu Mô tả
items.item_params.key STRING Tên của thông số mặt hàng.
items.item_params.value RECORD Bản ghi chứa giá trị của thông số mặt hàng.
items.item_params.value.string_value STRING Nếu thông số mặt hàng được biểu thị bằng chuỗi, thì nó sẽ được điền vào trường này.
items.item_params.value.int_value INTEGER Nếu thông số mặt hàng được biểu thị bằng số nguyên, thì nó sẽ được điền vào trường này.
items.item_params.value.double_value FLOAT Nếu thông số mặt hàng được biểu thị bằng giá trị kép, thì nó sẽ được điền vào trường này.
items.item_params.value.float_value FLOAT Nếu thông số mặt hàng được biểu thị bằng giá trị dấu phẩy động, thì nó sẽ được điền vào trường này.

Hàng

Dữ liệu cho một sự kiện có thể được trình bày trong một hoặc nhiều hàng, tuỳ thuộc vào việc sự kiện đó có chứa RECORDS lặp lại hay không. Ví dụ: một sự kiện page_view có nhiều event_params sẽ trông như bảng sau. Hàng đầu tiên chứa tên sự kiện, ngày, dấu thời gian và các mục dữ liệu không lặp lại khác. event_params RECORD lặp lại cho mỗi thông số được liên kết với sự kiện này. Các RECORD lặp lại này được điền sẵn vào các hàng tiếp theo ngay dưới hàng sự kiện đầu tiên.

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 Trang chủ
      medium đường liên kết giới thiệu
      source google
      page_referrer https://www.google.com
      <parameters...> <values...>

 

Dữ liệu sự kiện này hiển thị như sau trong giao diện người dùng GA4.

Những điều cần lưu ý khi cập nhật SDK lên phiên bản dành cho Android 17.2.5 trở lên và/hoặc iOS 16.20.0 trở lên

Nếu đã sử dụng một trong hai phiên bản SDK cũ và dự định nâng cấp lên Android 17.2.5 trở lên và/hoặc iOS 16.20.0 trở lên, thì bạn nên lưu ý những điều sau:

  • Để sử dụng giản đồ BigQuery Export hiện tại, bạn phải nâng cấp SDK lên Android 17.2.5 trở lên và/hoặc iOS 16.20.0 trở lên.  Khi sử dụng các phiên bản SDK trước đó, dữ liệu được xuất sẽ phản ánh giản đồ cũ
  • Kể từ thời điểm nâng cấp trở đi, bạn chỉ có thể truy cập vào dữ liệu mặt hàng trong các mảng mặt hàng lặp lại; dữ liệu mặt hàng sẽ không còn xuất hiện trong các thông số sự kiện chuẩn vì nó đã có trước những phiên bản SDK này.
  • Chúng tôi thực hiện thay đổi này để hỗ trợ bạn phân tích nhiều sản phẩm.
  • Do đó, bạn có thể sẽ phải điều chỉnh các tệp tham chiếu đến dữ liệu mặt hàng/sản phẩm.
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 đồ xuất mới
  1. Đăng nhập vào trang Bảng điều khiển Cloud Platform >: Tài nguyên người quản lý.
  2. Mở dự án có dữ liệu mà bạn muốn di chuyển và nhấp vào Kích hoạt Google Cloud Shell ở đầu trang.
  3. Khi màn hình shell 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:
    1. Gõ lệnh cat > migration_script.sql
    2. Sao chép và dán tập lệnh bên dưới vào màn hình shell.
    3. Nhấn phím 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
      
  4. Mở một màn hình shell mới và sao chép tập lệnh bash bên dưới vào tệp có tên migration.sh:
    1. Gõ lệnh cat > migration.sh
    2. Sao chép và dán tập lệnh bên dưới vào màn hình shell.
    3. Nhấn phím Ctrl+D để lưu và thoát.
    Sửa đổi tập lệnh sau để bao gồm ID tài sản 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 mà bạn muốn.
    Tập lệnh (migration.sh):
    # Analytics Property ID for the Project. Find this in Analytics Settings in Firebase.
    PROPERTY_ID=your Analytics property ID
    
    # Bigquery Export Project.
    BQ_PROJECT_ID="your BigQuery Project ID" (e.g., "firebase-public-project")
    
    # Firebase App ID for the app.
    FIREBASE_APP_ID="your Firebase App ID" (e.g., "1:300830567303:ios:09b1ab1d3ca29bda")
    
    # Dataset to import from.
    BQ_DATASET="name of BigQuery dataset you want to import from" (e.g., "com_firebase_demo_IOS")
    
    # Platform
    PLATFORM="platform of the app. ANDROID or IOS"
    
    # Date range for which you want to run migration, [START_DATE,END_DATE] inclusive.
    START_DATE=20180324
    END_DATE=20180327
    
    # Do not modify the script below, unless you know what you are doing :)
    startdate=$(date -d"$START_DATE"  +%Y%m%d) || exit -1
    enddate=$(date -d"$END_DATE"  +%Y%m%d) || exit -1
    
    # Iterate through the dates.
    DATE="$startdate"
    while [ "$DATE" -le "$enddate" ]; do
    
            # BQ table constructed from above params.
            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
    
    
  5. Mở một màn hình shell 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 User ID đã đặt thông qua API setUserId.
user_dim.first_open_timestamp_micros INTEGER Thời gian (tính 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 lặp lại về các thuộc tính người dùng đã đặ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ị kiểu chuỗi của thuộc tính người dùng.
user_dim.user_properties.value.value.int_value INTEGER Giá trị kiểu 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 (tính theo micrô giây) khi thuộc tính người dùng được đặt vào 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 Loại 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 Tên thương hiệu của 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 Thời gian chênh lệch so với giờ GMT tính bằng giây.
user_dim.device_info.limited_ad_tracking BOOLEAN Chế độ 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, dựa trên địa chỉ IP.
user_dim.geo_info.country STRING Quốc gia mà từ đó các sự kiện được báo cáo, dựa trên địa chỉ IP.
user_dim.geo_info.region STRING Khu vực mà từ đó các sự kiện được báo cáo, dựa trên địa chỉ IP.
user_dim.geo_info.city STRING Thành phố mà sự kiện được báo cáo, dựa trên đị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 gói dạng 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 để chuyển đổi người dùng. Ở 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 Tên của chiến dịch tiếp thị đã chuyển đổi người dùng. Ở 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 (kết quả tìm kiếm có trả phí, kết quả tìm kiếm tự nhiên, email, v.v.) đã thu nạp được người dùng. Trường này không được điền sẵn trong các bảng trong ngày.
user_dim.traffic_source.user_acquired_source STRING Tên của mạng có được người dùng. Ở 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 Mã trình tự của gói mà những sự kiện này được tải lên.
user_dim.ltv_info RECORD Bản ghi thông tin về Giá trị vòng đời của người dùng này. Ở 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ị vòng đời (doanh thu) của người dùng này. Ở 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ị vòng đời (đơn vị tiền tệ) của người dùng này. Ở 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 lặp lại về 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ị kiểu chuỗi của thông số sự kiện.
event_dim.params.value.int_value INTEGER Giá trị kiểu 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.

Thông tin này có hữu ích không?

Chúng tôi có thể cải thiện trang này bằng cách nào?
Tìm kiếm
Xóa nội dung tìm kiếm
Đóng tìm kiếm
Các ứng dụng của Google
Trình đơn chính