【发布时间】:2020-11-07 14:38:54
【问题描述】:
所以基本上我试图在有人直接访问图像或 pdf 时触发谷歌分析中的页面视图,而不是当图像在页面上时。例如https://example.com/i/image.jpg。无论如何我可以做到这一点吗?感谢您的阅读,任何帮助将不胜感激!
【问题讨论】:
标签: javascript php image pdf google-analytics
所以基本上我试图在有人直接访问图像或 pdf 时触发谷歌分析中的页面视图,而不是当图像在页面上时。例如https://example.com/i/image.jpg。无论如何我可以做到这一点吗?感谢您的阅读,任何帮助将不胜感激!
【问题讨论】:
标签: javascript php image pdf google-analytics
基于服务器端要求的更新
如果您想跟踪对无法运行 javascript 的资产(例如图像和文档)的直接点击,没有简单的方法可以做到这一点,而且 GA javascript 库也不可能。当我说直接点击时,我的意思是用户在您的正常 Web 工作流程之外访问资产的位置,例如来自电子邮件、文档、直接下载等的链接。
它可以完成,但可能需要很多我无法在这里回答的设置(主要是由于对您的技术堆栈一无所知),但我会提高水平,以便您可以查找更具体的答案如果你需要,给你一个指导。
更简单的方法是根本不使用 GA,而只是使用服务器日志来查找正在提供哪些资产以及从何处请求它们。
如果您需要通过服务器端请求在 GA 中显示流量,您将需要 Google Analytics "Measurement protocol",这只是 GA 用于将数据发送到其服务器的 api。您还需要在请求和资产之间建立一个流程,这并不简单,尤其是当您尝试向在网络上使用的现有资产添加跟踪时。
问题是处理程序需要被拦截,所以你正在做这样的事情:-
另一种看待它的方式是将其视为一个 api 请求,它在将图像作为响应传递之前完成部分工作。这种图像跟踪方法是第 3 方 cookie 的工作原理,以及跟踪电子邮件“打开”的工作原理。
很抱歉,这是针对您的问题的操作指南,但问题太宽泛,难以准确回答。
==================
使用多种方法,您可以在有人点击元素时触发事件。如何执行此操作取决于您使用的框架、您如何实现标记以及您在页面上使用的是 GTM 还是直接 GA,这还取决于 GA 版本(异步、通用、gtag)。
使用 Universal Analytics 的最简单方法如下所示
<a href="/image.jpg" target="_blank"
onclick="ga('send', 'event','Click','Image','Image opened: ' + this.href)"
>View the image</a>
注意事项
这个问题需要稍微细化一下,因为根据设置有很多不同的方法可以完成。你想要的是一个通用的代码,这是一个包罗万象的代码,这里是使用 jQuery 的东西,它使用事件委托。
$(document).on("click","a[href*='.pdf'],a[href*='.jpg']",function() {
ga('send', 'event','Click','Document','Opened: ' + this.href);
});
这也会让开发者哭泣,因为目前的趋势是远离 jQuery(而且它有点效率)。
但希望你能明白要点
【讨论】: