使用事件跟踪使用分析的下载按钮点击
Tracking a download button click with Analytics using events
我正在跟踪下载按钮点击一个网站上有我的一个项目与此代码:
function trackDownload(link) {
try {
_gaq.push(['_trackEvent', 'Downloads', 'Click', 'Setup executable']);
setTimeout('document.location = "' + link.href + '"', 100);
} catch (err) {}
return false;
}
按钮是:
<a href="files/setup.exe" onclick="return trackDownload(this);">Download</a>
因此,当用户单击它时,将事件推送到Analytics,然后将用户重定向到该文件。
这也适用于外部链接跟踪,没有区别。
现在我的问题。我可以确保在用户重定向之前"处理"分析事件吗?如果没有,重定向会导致事件丢失吗?当前事件正在被跟踪,但我不能确定所有都是。
我读到我也可以尝试一些不同的东西,将重定向功能推入分析队列:
_gaq.push(function() { document.location = link.href; });
但不清楚这是否有效,或者它是否只是等同于前一个。实际上,这里的据说"调用_gaq。推动[….
您可以将函数推送到分析队列中,这是正确的。由于函数或跟踪事件的执行/求值顺序与您将它们放入数组的顺序一致,因此您应该能够这样做:
function trackDownload(link) {
_gaq.push(['_trackEvent', 'Downloads', 'Click', 'Setup executable']);
_gaq.push(function() { document.location = link.href });
return false;
}
请注意,try/catch不是必需的,因为push()
没有记录抛出任何东西(我建议删除它,因为空catch块可以掩盖其他问题)。
但不清楚这是否有效,或者它是否只是等同于前一个。
在您的第一个示例(push, setTimeout)中,如果您执行重定向时Analytics尚未完成加载,则事件将丢失(因为当时_gaq
只是一个数组)。在有push(function...
的版本中,事件将在重定向之前被记录,无论用户点击下载按钮时Analytics是否已经完成加载。出于这个原因,我建议使用push(function...
。
需要注意的是,push(function...
版本将在重定向发生之前等待分析完成加载(这听起来像是你想要的),但你可能想要添加一种方法来处理分析不加载的情况
相关文章:
- 链接/按钮从子文件夹下载文件--浏览器只是浏览
- 从Web服务器下载图像按钮单击使用JavaScript
- Wordpress在播放器旁边播放一个自定义的下载按钮,而不是下载
- 点击jQuery按钮下载文件
- 如何将我自己的按钮连接到下载库
- 使用音频.js单击按钮下载音频
- 单击按钮并将其下载为图像格式时,如何使用引导模式弹出窗口显示D3图表
- 如何使链接/按钮可下载
- Chocolat.JS-将标题转换为下载按钮-将span类内容移动到href中
- 使用jQuery单击按钮下载图像
- 根据移动/桌面操作系统在网站上显示不同的按钮/下载链接
- javascript按钮下载文件
- 按钮下载PDF文件
- 使用委托点击按钮下载文件JQuery
- 通过按钮下载图片
- CRM通过按钮下载txt文件
- 如何使用angularjs通过点击按钮下载图像到本地
- 试图从UploadPanel中的按钮下载文件.JS函数InitializeRequest不会被触发
- 如何在asp.net中点击按钮下载html文件
- 如何通过一个下载按钮下载所有链接