Đồng bộ session trong Google Analystics

Việc phân tích trang web bằng các số liệu thống kê của Google Analystics(GA) đã trở nên quen thuộc với những người phát triển và quản trị website. Việc cài đặt và thống kê từ GA chắc hẳn các bạn cũng không còn xa lạ. Trong bài viết này tôi sẽ trình bày về "đồng bộ session trong Google Analytics".

Session trong GA là gì?

Session trong GA định nghĩa một nhóm các tương tác của một user trong một khoảng thời gian tới website. Session GA sẽ mặc định kết thúc session 30 phút kể từ lần tương tác cuối cùng tới website đó, hoặc vào giữa đêm (00:00). Nói cách khác, session là một cách thống nhất để report "Visits" và "Active users". Hình ảnh minh họa về session trong GA:

Session

Minh họa hết hạn session: Expiration session

Tại sao phải đồng bộ session trong GA

Khi phân tích từ kết quả thống kê GA của một trang web, khi user đăng nhập cùng một account nhưng đăng nhập trên nhiều trình duyệt hoặc trên nhiều thiết bị khác nhau, theo mặc định thì sẽ được hiểu là các session khác nhau. Vì GA chỉ quan tâm đến session mà không quan tâm đến user/ account đăng nhập gì đến tài khoản của bạn, do đó GA không thể biết được có cùng account dùng trên nhiều thiết bị. Khi đó, sẽ không có mối liên kết nào từ các con số thống kê từ cùng một user nhưng trên nhiều thiết bị/trình duyệt. Khi đó, phương án đưa ra là ta phải đồng bộ session theo account.

Làm thế nào để đồng bộ session

  • Theo mặc định, GA chỉ định mỗi device, hoặc browser một clientId duy nhất, và xem mỗi Client ID duy nhất đó là một user duy nhất trong bản báo cáo GA của bạn. Do đó, trên cùng một thiết bị có các browsers khác nhau, hay có cả app native chẳng hạn, nếu ta đồng nhất được clientId của GA trên một thiết bị thì sẽ đồng nhất được session trên cùng một thiết bị.
  • User-ID lại cho phép đánh giá toàn diện người dùng truy cập website trên nhiều thiết bị, chẳng hạn như quá trình tương tác của một người dùng đăng nhập trên nhiều thiết bị. Qua đó, ta có thể thấy rằng, để đồng bộ được session GA thì tùy mục đích của người quản lý website mà ta có thể dùng theo User-ID hoặc Client-ID (của GA) để đồng bộ Session trong cách quản lý đo lường và phân tích số liệu.

Sử dụng Client-ID

Trong code, khi định nghĩa GA của chúng ta sẽ phải định nghĩa Client-ID:

ga('create', 'UA-XXXXX-Y', {
  'storage': 'none',
  'clientId': '76c24efd-ec42-492a-92df-c62cfd4540a3'  // bạn có thể tự định nghĩa clientId 
});

Chúng ta có thể get được Client-ID theo một số cách như từ Cookies hoặc LocalStorage, bạn có thể tham khảo thêm ở Cookies and User Identification

Sử dụng userId

Xin nhắc lại đây là User-ID theo định nghĩa của GA, chứ không phải id của User trong database của bạn (điều khá dĩ nhiên, khái niệm khá dễ gây nhầm lẫn vì trong Database của các website thường có bảng User). Tuy nhiên phải lưu ý rằng, nếu bạn dùng User-ID để định nghĩa session của GA thì không nên định nghĩa thêm Client-ID, bởi vì khi đó GA sẽ hiểu theo Client-ID và bạn khó theo dõi theo User-ID hơn. Như đã nói ở phần trên, dùng với User-ID bạn có thể tracking user tương tác với hệ thống trên nhiều thiết bị/trình duyệt khác nhau, với điều kiện là có cùng User-ID. Để set được User-ID bạn có thể dùng một mã hash tracking code cho trường userId trong đoạn khai báo GA của mình:

ga('create', 'UA-XXXXX-Y', 'auto');
ga('set', 'userId', USER_ID);

Hoặc có thể định nghĩa trong khi tạo mới luôn:

ga('create', 'UA-XXXXX-Y', 'auto', { 'userId': USER_ID });

Một chút so sánh Client-ID và User-ID:

Column 1 Client-ID User-ID
ID đại diện là gì Thiết bị anonymous hoặc trình duyệt Một người dùng, như một tài khoản người dùng đã đăng nhập có thể truy cập trên nhiều thiết bị hoặc trình duyệt
Làm thế nào để set ID Được sinh một cách random và được gửi tự động tới tất cả các lần truy cập bởi thư viện Analytics Bạn phải định nghĩa userId và gửi cùng với Analystics hit
ID được dùng để tính toán người dùng duy nhất như thế nào Trong chế độ xem không có User-ID, Client-ID được sử dụng để tính toán unique users Trong chế độ xem User-ID, User-ID được dùng để tính toán unique users

Túm lại:

Bài viết nêu ra một cách sơ lược về hai cách có thể đồng nhất được session(theo thiết bị hoặc theo user đăng nhập) để có thể tính toán được GA có hệ thống nhiều sự liên kết hơn, khi cùng một người dùng sử dụng trên nhiều môi trường khác nhau. Thankyou!