Đo lường ứng dụng trang đơn

Hướng dẫn này mô tả cách sử dụng analytics.js để đo lường hoạt động của trang trên những trang web có nội dung được tải động mà không cần tải toàn bộ trang truyền thống.

Tổng quan

Ứng dụng một trang (SPA) là một ứng dụng web hoặc trang web tải tất cả các tài nguyên cần thiết để điều hướng trên toàn bộ trang web trong lần tải trang đầu tiên. Khi người dùng nhấp vào các đường liên kết và tương tác với trang, nội dung tiếp theo sẽ được tải một cách linh động. Ứng dụng thường sẽ cập nhật URL trong thanh địa chỉ để mô phỏng cách điều hướng trang truyền thống, nhưng một yêu cầu toàn trang khác sẽ không bao giờ được thực hiện.

Thẻ Google Analytics mặc định hoạt động tốt với các trang web truyền thống vì đoạn mã sẽ chạy mỗi khi người dùng tải trang mới. Tuy nhiên, đối với một ứng dụng trang đơn lẻ nơi trang web tải nội dung trang mới theo cách động thay vì tải toàn bộ trang, đoạn mã analytics.js chỉ chạy một lần. Điều này có nghĩa là các lượt xem trang tiếp theo (ảo) phải được thu thập theo cách thủ công khi nội dung mới được tải.

Theo dõi số lượt xem trang ảo

Khi ứng dụng của bạn tải nội dung động và cập nhật URL trong thanh địa chỉ, dữ liệu được lưu trữ trên trình theo dõi của bạn cũng phải được cập nhật.

Để cập nhật thiết bị theo dõi, hãy sử dụng lệnh set và cung cấp giá trị page mới:

ga('set', 'page', '/new-page.html');

Sau khi bạn đã đặt giá trị trang mới, tất cả các lượt truy cập tiếp theo được gửi sẽ sử dụng giá trị mới đó. Để ghi lại lượt xem trang, hãy gửi lượt xem trang ngay sau khi cập nhật trình theo dõi.

ga('set', 'page', '/new-page.html');
ga('send', 'pageview');

Mặc dù về mặt kỹ thuật, lệnh send cho số lượt truy cập trang chấp nhận trường page không bắt buộc làm thông số thứ ba, nhưng bạn không nên truyền trường page theo cách đó khi đo lường các ứng dụng trang đơn. Nguyên nhân là do các trường được truyền qua lệnh send chưa được đặt trên trình theo dõi mà chỉ áp dụng cho lượt truy cập hiện tại. Việc không cập nhật trình theo dõi sẽ gây ra vấn đề nếu ứng dụng của bạn gửi bất kỳ lượt truy cập nào không phải lượt xem trang (ví dụ: sự kiện hoặc lượt tương tác trên mạng xã hội), vì các lượt truy cập đó sẽ được liên kết với bất kỳ giá trị page nào mà trình theo dõi có khi được tạo.

Xử lý nhiều URL cho cùng một tài nguyên

Một số SPA chỉ cập nhật phần băm của URL khi tải nội dung động. Cách này có thể dẫn đến các trường hợp trong đó có nhiều đường dẫn trang khác nhau trỏ đến cùng một tài nguyên. Trong những trường hợp như vậy, tốt nhất bạn nên chọn một URL chính tắc và chỉ gửi giá trị page đó đến Google Analytics.

Ví dụ: hãy xem xét một trang web có trang "Giới thiệu về chúng tôi" có thể được truy cập qua bất kỳ URL nào sau đây:

  • /about.html
  • /#about.html
  • /home.html#about.html

Để tránh báo cáo trùng lặp, tốt nhất bạn nên thu thập tất cả các lượt xem trang này dưới dạng /about.html.

Điểm quan trọng cần lưu ý

Không cập nhật liên kết giới thiệu tài liệu

Khi bạn tạo một đối tượng trình theo dõi bằng lệnh create, giá trị của document.referrer sẽ được lưu trữ trong trường referrer của trình theo dõi. Trong trường hợp một ứng dụng trang đơn không sử dụng tính năng tải toàn bộ trang, trường referrer sẽ luôn giữ nguyên.

Mặc dù vậy, bạn không cần phải cập nhật trường liên kết giới thiệu theo cách thủ công trước khi gửi số lượt xem trang. Google Analytics có thể tự động xác định đường dẫn điều hướng chính xác.

Không cập nhật vị trí của tài liệu

Tương tự như cách trình theo dõi sử dụng document.referrer cho trường referrer, trình theo dõi sẽ sử dụng document.location cho trường location. Trường này có thể chứa dữ liệu chiến dịch hoặc siêu dữ liệu khác ở dạng tham số truy vấn được thêm vào cuối URL.

Việc cập nhật bất kỳ trường chiến dịch hoặc siêu dữ liệu nào khác mà Google Analytics đang kiểm tra có thể khiến phiên hiện tại kết thúc và phiên mới sẽ bắt đầu. Để tránh vấn đề này, đừng cập nhật trường location khi đo lường số lượt xem trang ảo trong một ứng dụng trang đơn. Thay vào đó, hãy sử dụng trường page.

Không tạo trình theo dõi mới

Không tạo trình theo dõi mới trong một ứng dụng trang nhằm bắt chước những gì đoạn mã theo dõi JavaScript thực hiện cho các trang web truyền thống. Nếu làm như vậy, bạn có nguy cơ gửi đường liên kết giới thiệu không chính xác cũng như dữ liệu chiến dịch không chính xác như mô tả ở trên.