Dòng cuối cùng của đoạn mã đo lường JavaScript thêm một send
lệnh vào ga()
hàng đợi lệnh để gửi một lượt xem trang đến Google Analytics:
Đối tượng đang thực hiện gửi là trình theo dõi đã được lên lịch để tạo trong dòng mã trước đó và dữ liệu được gửi là dữ liệu được lưu trữ trên trình theo dõi đó.
Hướng dẫn này mô tả các cách khác nhau để gửi dữ liệu đến Google Analytics và giải thích cách kiểm soát dữ liệu nào được gửi.
Số lần truy cập, loại lần truy cập và Giao thức đo lường
Khi một trình theo dõi gửi dữ liệu đến Google Analytics, nó được gọi là gửi một lần truy cập và mỗi lần truy cập phải có một loại lần truy cập. Thẻ Google Analytics gửi một loại lần truy cập pageview
; loại hit khác bao gồm screenview
, event
, transaction
, item
, social
, exception
, và timing
. Hướng dẫn này phác thảo các khái niệm và phương pháp chung cho tất cả các loại lần truy cập. Bạn có thể tìm thấy hướng dẫn riêng cho từng loại lần truy cập trong phần Đo lường các tương tác phổ biến của người dùng trong điều hướng bên trái.
Lần truy cập là một yêu cầu HTTP, bao gồm các cặp trường và giá trị được mã hóa dưới dạng chuỗi truy vấn và được gửi tới Giao thức đo lường .
Nếu bạn mở công cụ dành cho nhà phát triển của trình duyệt khi bạn tải một trang sử dụng analytics.js, bạn có thể thấy các lần truy cập được gửi trong tab mạng. Tìm kiếm các yêu cầu được gửi đến google-analytics.com/collect
.
Dữ liệu nào được gửi
Khi gửi lần truy cập đến Giao thức đo lường, trình theo dõi gửi tất cả các trường hiện đang được lưu trữ và là các tham số Giao thức đo lường hợp lệ . Ví dụ, các lĩnh vực như title
và location
được gửi nhưng cookieDomain
và hitCallback
không.
Trong một số trường hợp, bạn muốn gửi các trường đến Google Analytics cho lần truy cập hiện tại nhưng không cho bất kỳ lần truy cập tiếp theo nào. Ví dụ về điều này là một lần truy cập sự kiện trong đó các trường eventAction
và eventLabel
chỉ có liên quan đến lần truy cập hiện tại.
Để chỉ gửi các trường có lần truy cập hiện tại, bạn có thể chuyển chúng dưới dạng đối số cho send
phương thức. Để gửi dữ liệu trường với tất cả các lần truy cập tiếp theo, bạn nên cập nhật trình theo dõi bằng set
phương pháp này.
Phương thức gửi
send
Phương thức của trình theo dõi có thể được gọi trực tiếp trên chính đối tượng của trình theo dõi hoặc bằng cách thêm send
lệnh vào ga()
hàng đợi lệnh. Vì hầu hết thời gian bạn không có tham chiếu đến đối tượng trình theo dõi, nên sử dụng ga()
hàng đợi lệnh là cách được khuyến nghị để gửi dữ liệu trình theo dõi tới Google Analytics.
Sử dụng ga()hàng đợi lệnh
Chữ ký để thêm send
lệnh vào ga()
hàng đợi lệnh như sau:
Như đã đề cập ở trên, các giá trị quy định thông qua trong hitType
, ...fields
và fieldsObject
các tham số được gửi cho chỉ các hit hiện nay. Chúng không được lưu trữ trên đối tượng trình theo dõi, cũng như không được gửi với các lần truy cập tiếp theo.
Nếu bất kỳ trường nào được truyền với send
lệnh đã được đặt trên đối tượng trình theo dõi, các giá trị được truyền trong lệnh sẽ được sử dụng thay vì các giá trị được lưu trữ trên trình theo dõi.
Các send
lệnh gọi đến lệnh phải chỉ định một hitType và, tùy thuộc vào loại được chỉ định, các tham số khác cũng có thể được yêu cầu. Xem các hướng dẫn riêng để đo lường các tương tác phổ biến của người dùng trong điều hướng bên trái để biết thêm chi tiết.
Cách đơn giản nhất để sử dụng send
lệnh, hoạt động cho tất cả các loại lần truy cập, là chuyển tất cả các trường bằng cách sử dụng fieldsObject
tham số. Ví dụ:
Để thuận tiện, một số loại lần truy cập nhất định cho phép các trường thường dùng được chuyển trực tiếp làm đối số cho send
lệnh. Ví dụ: send
lệnh trên cho loại lần truy cập "sự kiện" có thể được viết lại thành:
Để có danh sách đầy đủ những trường nào có thể được chuyển làm đối số cho các loại lần truy cập khác nhau, hãy xem phần "tham số" của tham chiếu phương thức gửi .
Sử dụng trình theo dõi đã đặt tên
Nếu bạn đang sử dụng trình theo dõi được đặt tên thay vì trình theo dõi mặc định, bạn có thể chuyển tên của nó vào chuỗi lệnh.
Lệnh sau send
sẽ được gọi trên trình theo dõi có tên "myTracker":
Trên chính đối tượng theo dõi
Nếu bạn có tham chiếu đến đối tượng trình theo dõi, bạn có thể gọi send
trực tiếp phương thức của trình theo dõi đó :
Biết khi nào lần truy cập đã được gửi
Trong một số trường hợp, bạn cần biết khi nào một lần truy cập được thực hiện xong sẽ được gửi đến Google Analytics, vì vậy bạn có thể thực hiện hành động ngay sau đó. Điều này thường xảy ra khi bạn cần ghi lại một tương tác cụ thể sẽ đưa người dùng ra khỏi trang hiện tại. Nhiều trình duyệt ngừng thực thi JavaScript ngay khi trang bắt đầu tải, có nghĩa là các lệnh analytics.js của bạn để gửi lần truy cập có thể không bao giờ chạy.
Ví dụ về điều này là khi bạn muốn gửi một sự kiện đến Google Analytics để ghi lại rằng người dùng đã nhấp vào nút gửi của biểu mẫu. Trong hầu hết các trường hợp, nhấp vào nút gửi sẽ ngay lập tức bắt đầu tải trang tiếp theo và bất kỳ ga('send', ...)
lệnh nào sẽ không chạy.
Giải pháp cho điều này là chặn sự kiện để dừng tải trang. Sau đó, bạn có thể gửi lần truy cập của mình đến Google Analytics như bình thường và sau khi gửi xong lần truy cập, bạn có thể gửi lại biểu mẫu theo chương trình.
hitCallback
Để được thông báo khi gửi xong một lần truy cập, bạn đặt hitCallback
trường. hitCallback
là một hàm được gọi ngay sau khi lần truy cập được gửi thành công.
Ví dụ sau cho thấy cách hủy hành động gửi mặc định của biểu mẫu, gửi lần truy cập đến Google Analytics, sau đó gửi lại biểu mẫu bằng cách sử dụng hitCallback
chức năng:
Xử lý thời gian chờ
Ví dụ trên hoạt động tốt, nhưng nó có một vấn đề nghiêm trọng. Nếu (vì bất kỳ lý do gì) thư viện analytics.js không tải được, hitCallback
hàm sẽ không bao giờ chạy. Và nếu hitCallback
chức năng không bao giờ chạy, người dùng sẽ không bao giờ có thể gửi biểu mẫu.
Bất cứ khi nào bạn đặt chức năng trang web quan trọng bên trong hitCallback
hàm, bạn nên luôn sử dụng hàm thời gian chờ để xử lý các trường hợp thư viện analytics.js không tải được.
Ví dụ tiếp theo cập nhật mã trên để sử dụng thời gian chờ. Nếu một giây trôi qua sau khi người dùng nhấp vào nút gửi và nút hitCallback
vẫn chưa chạy, biểu mẫu vẫn được gửi lại.
Nếu bạn đang sử dụng mẫu trên ở nhiều nơi trên toàn bộ trang web của mình, việc tạo một hàm tiện ích để xử lý thời gian chờ có thể dễ dàng hơn.
Hàm tiện ích sau đây chấp nhận một hàm làm đầu vào và trả về một hàm mới. Nếu hàm trả về được gọi trước khoảng thời gian chờ (thời gian chờ mặc định là một giây), nó sẽ xóa thời gian chờ và gọi hàm đầu vào. Nếu hàm trả về không được gọi trước khoảng thời gian chờ, thì hàm đầu vào được gọi bất kể.
Giờ đây, bạn có thể dễ dàng kết hợp tất cả các hitCallback
chức năng với thời gian chờ để đảm bảo trang web của bạn hoạt động như mong đợi ngay cả trong trường hợp không gửi được lần truy cập hoặc thư viện analytics.js không bao giờ tải.
Chỉ định các cơ chế vận chuyển khác nhau
Theo mặc định, analytics.js chọn phương thức HTTP và cơ chế truyền tải để gửi lần truy cập một cách tối ưu. Ba tùy chọn là 'image'
(sử dụng một Image
đối tượng), 'xhr'
(sử dụng một XMLHttpRequest
đối tượng) hoặc 'beacon'
sử dụng navigator.sendBeacon
phương thức mới .
Hai phương pháp trước đây chia sẻ sự cố được mô tả trong phần trước (nơi các lần truy cập thường không được gửi nếu trang đang được tải xuống). Các navigator.sendBeacon
phương pháp, ngược lại, là một tính năng HTML mới được tạo ra để giải quyết vấn đề này.
Nếu trình duyệt của người dùng của bạn hỗ trợ navigator.sendBeacon
, bạn có thể chỉ định 'beacon'
làm transport
cơ chế và không phải lo lắng về việc đặt lệnh gọi lại lần truy cập.
Đoạn mã sau đặt cơ chế truyền tải 'beacon'
trong các trình duyệt hỗ trợ nó.
Bước tiếp theo
Việc đo lường một số loại tương tác của người dùng đôi khi có thể yêu cầu triển khai phức tạp. Tuy nhiên, trong nhiều trường hợp, các triển khai này đã được phát triển và có sẵn dưới dạng plugin analytics.js. Hướng dẫn tiếp theo giải thích cách sử dụng plugin analytics.js với ga()
hàng đợi lệnh.
Subscribe by Email
Follow Updates Articles from This Blog via Email
No Comments