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ư items
và event_params
) có thể lặp lại. Các cột trong bảng được mô tả bên dưới.
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. |
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 ( |
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 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 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. |
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 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. |
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. |
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 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 | ||||
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.
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.
- Đă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 mà 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 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
:- Gõ 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 shell.
- Nhấn phím Ctrl+D để lưu và thoát.
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
- Gõ lệnh
- 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
:- Gõ 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 shell.
- 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
- Gõ lệnh
- Mở một màn hình shell mới và thêm lệnh
bash migration.sh
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. |