假设您有办法在变量中捕获视频时间,您可以使用 beforeunload 事件的事件侦听器将该信息发送到 Google Analytics。我在我的一个网页上这样做是为了了解用户打开页面的时间。
这是我正在使用的代码:
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
// Disable tracking if the opt-out cookie exists
if (document.cookie.indexOf("ga-disable-GA_MEASUREMENT_ID=true") > -1) {
window["ga-disable-GA_MEASUREMENT_ID"] = true;
}
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag("js", new Date());
gtag("config", "GA_MEASUREMENT_ID", { "anonymize_ip": true, "cookie_flags": "SameSite=None;Secure" });
</script>
<script>
window.addEventListener("beforeunload", function (e) {
gtag('event', 'Time_Spent', {
'event_category': 'Time_on_page',
'event_label': e.timeStamp.toString,
'value': 1,
'transport_type': 'beacon'
});
delete e.returnValue;
});
</script>
第一部分在头部,第二部分在身体末端。
我将 event.timeStamp 值放在 event_label 中;您也可以将您的视频时间(按您喜欢的格式)放入该字段。
我不确定是否需要可选值字段,但我有。
transport_type 信标告诉 Google 在用户代理有机会时异步传输数据,而不会延迟卸载或下一次导航。
要查看人们打开我的页面的时间,我会转到:
Google Analytics -> 行为 -> 事件 -> 概览
我单击事件类别(在我的例子中为 Time_on_page),然后单击事件标签以获取所有值的列表。