BigQuery + GA4: Cách để lấy sự kiện đầu tiên hoặc gần đây nhất cho một người dùng.

Khi làm việc với dữ liệu Google Analytics 4 trong BigQuery, việc phân tích hoạt động đầu tiên hoặc gần đây nhất của một người dùng là rất phổ biến. Ví dụ:

  • Thời gian đã trôi qua kể từ lần đăng nhập cuối cùng của mỗi người dùng là bao lâu?
  • Đối với mỗi người dùng, khoảng thời gian đã trôi qua giữa phiên đầu tiên và gần đây nhất của họ là bao lâu?

Mục đích của bài viết ngắn này là chia sẻ cách làm điều này bằng cách sử dụng câu lệnh OVER clause.

Ví dụ

Hãy để tôi bắt đầu bằng việc chia sẻ một ví dụ đầy đủ, sau đó tôi sẽ giải thích cú pháp:

# For each user_id, pull data from the most recent login event

SELECT
    user_id,
    most_recent_login
FROM (
    SELECT
        user_id,
        event_date AS most_recent_login,
        ROW_NUMBER() OVER(
            PARTITION BY user_id 
            ORDER BY event_timestamp DESC
        ) AS row_num
    FROM `<project id>.<dataset>.events_<date>`
    WHERE event_name="login")
WHERE row_num=1

Mục tiêu của truy vấn này là tìm ngày đăng nhập gần đây nhất cho mỗi người dùng. Để làm được điều này, truy vấn thực hiện các bước sau:

  1. Trích xuất tất cả các sự kiện có tên sự kiện là “login” (WHERE event_name = “login”).
  2. Nhóm chúng theo user_id (PARTITION BY user_id).
  3. Sử dụng event_timestamp để sắp xếp các sự kiện theo thứ tự diễn ra (ORDER BY event_timestamp DESC) và gán cho chúng một số hàng (row number)
  4. Loại bỏ tất cả các hàng ngoại trừ hàng có số hàng bằng 1

Cú pháp của mệnh đề OVER

Mệnh đề OVER rất hữu ích để phân tích dữ liệu cấp sự kiện được tạo ra bởi Google Analytics 4, bởi vì nó giúp bạn áp dụng một hàm chỉ vào các hàng mà bạn chỉ định, và theo thứ tự mà bạn chỉ định.

Dưới đây là cú pháp của nó:

<function> OVER (   [PARTITION BY]
                    [ORDER BY]  )

PARTITION BY = Đây là cột mà bạn muốn sử dụng để tạo các phân nhóm con của dữ liệu để phân tích (tương tự như việc sử dụng GROUP BY).

Trong ví dụ của tôi, tôi đã phân chia theo user_id (định danh Google Analytics 4 cho người dùng đã đăng nhập), nhưng nếu bạn phân tích dữ liệu cho người dùng chưa đăng nhập, bạn nên thay thế điều này bằng user_pseudo_id.

ORDER BY = Đúng như tên gọi, điều này cho phép bạn điều khiển thứ tự các hàng sẽ được đánh giá bởi hàm của bạn.

Trong trường hợp của tôi, tôi đã đặt thứ tự sử dụng event_timestamp DESC để thời gian gần đây nhất được đặt lên đầu, nhưng bạn có thể thay thế “DESC” bằng “ASC” để liệt kê các hàng của bạn theo thứ tự tăng dần.

LƯU Ý
Mệnh đề OVER cũng cho phép bạn chỉ định một phần con của các hàng trong phân vùng mà bạn muốn áp dụng hàm vào. Tôi không đề cập đến điều này ở đây vì tôi không sử dụng nó trong ví dụ này, nhưng bạn có thể đọc thêm về nó TẠI ĐÂY.

Nguồn: https://www.ken-williams.com/guide/reporting-analysis/bigquery-ga4-how-to-get-the-first-or-most-recent-event-for-a-user

spot_img

More from this stream

Recomended

Cập Nhật Google Analytics Quý 2/2024

Bài viết này cung cấp thông tin về các bản phát hành mới nhất trong Google Analytics trong quý 2 năm 2024.

[GA4] – Hiểu rõ về nguồn dữ liệu

Một nguồn dữ liệu là một nơi chứa dữ liệu bạn tải lên Analytics, bao gồm cơ sở dữ liệu, dịch vụ, hoặc tệp CSV bạn tải lên và một ánh xạ của các trường dữ liệu Analytics với các trường trong cơ sở dữ liệu, dịch vụ hoặc CSV bên ngoài của bạn.

Segment là gì?

Segment là một traditional Customer Data Platform (CDP) chuyên về việc thu thập sự kiện và kích hoạt dữ liệu.

Composable CDP là gì?

Composable CDP là một lớp kích hoạt cho phép bạn tạo ra đối tượng khán giả, điều phối hành trình, và gửi dữ liệu hiện tại của bạn đến các công cụ tiếp thị hàng đầu của bạn.

Traditional CDP và Composable CDP

Việc áp dụng rộng rãi của hệ thống lưu trữ dữ liệu đám mây đã cách mạng hóa không gian Customer Data Platform (CDP), dẫn đến sự xuất hiện của một kiến trúc CDP mạnh mẽ hơn, nguyên gốc từ hệ thống lưu trữ dữ liệu đám mây được biết đến là Composable CDP.

Customer Data Platform (CDP) là gì?

Một Customer Data Platform, hay CDP, là một giải pháp hoặc kiến trúc cho phép bạn thu thập, lưu trữ, mô hình hóa và kích hoạt dữ liệu khách hàng của bạn.