ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

如何让Google Analytics跟踪Javascript window.location.href重定向?

2019-08-25 19:33:30  阅读:148  来源: 互联网

标签:javascript google-analytics


在我的HTML页面上,我有一些驱动下拉菜单的Javascript代码.用户选择要下载的文件,然后按下按钮进行下载.

这是Javascript代码的一部分:

        var dd = document.getElementById("OSselectDropdown");
        var OSchoice = dd.options[dd.selectedIndex].value;
        if (OSchoice == "win")
        {
           window.location.href = "http://mysite.com/downloads/installer.exe";
        }
        if (OSchoice == "mac")
        {
           window.location.href = "http://mysite.com/downloads/installer.pkg";
        }

我希望能够跟踪文件下载的次数.我找到了this code,它使用了jQuery,它可以在Google Analytics中启用下载计数.

但是,代码似乎只对< a>执行操作.标签.我做了一些测试,它似乎没有在我的情况下工作,我想因为我使用Javascript和window.location.href连接到可下载文件.

有没有办法可以利用这个Javascript代码让Google Analytics跟踪我在下拉列表中获得的下载次数?

或者是否有其他或更好的方法来跟踪我的Javascript下拉列表中的下载?

更新:

根据提供的答案,以及查看Google’s documentation,我已将我的代码更改为:

        var dd = document.getElementById("OSselectDropdown");
        var OSchoice = dd.options[dd.selectedIndex].value;
        if (OSchoice == "win")
        {
            _gaq.push(['_trackEvent','Installer','Download', 'Windows']);
            window.location.href = "https://" + top.location.host + "/+download/Windows_Installer.exe";
        }
        if (OSchoice == "mac")
        {
            _gaq.push(['_trackEvent','Installer','Download','Mac']);
            window.location.href = "https://" + top.location.host + "/+download/Mac_Installer.pkg";
        }
        if (OSchoice == "linux")
        {
            _gaq.push(['_trackEvent','Installer','Download','Linux']);
            window.location.href = "https://" + top.location.host + "/+download/Linux_Installer.tar.gz";
        }

但是,我的Google Analytics界面没有任何变化.新调整的代码是否正确,如果是,我应该在哪里看到Google Analytics中跟踪的下载?

解决方法:

你需要做的就是打电话

_gaq.push(['_trackEvent','Install','exe','http://mysite.com/downloads/installer.exe']);
or
_gaq.push(['_trackEvent','Install','pkg','http://mysite.com/downloads/installer.pkg']);

在重定向用户之前的代码中

更新:

为了确保事件实际被跟踪,你必须推迟重定向并包装回.push()方法的回调,check similar question

这个怎么样?

...
switch (OSchoice) {

    case 'win':
        _url = 'http://' + top.location.host + '/+download/Windows_Installer.exe';
        _ext = 'exe';
        break;

    case 'mac':
        _url = 'http://' + top.location.host + '/+download/Mac_Installer.pkg';
        _ext = 'pkg';
        break;

    case 'linux':
        _url = 'http://' + top.location.host + '/+download/Linux_Installer.tar.gz';
        _ext = 'tar.gz';
        break;
}

if (_url) {
    _gaq.push(['_set', 'hitCallback', function(){window.location.href = _url;}]);
    _gaq.push(['_trackEvent', 'Install', _ext, _url]);
}

标签:javascript,google-analytics
来源: https://codeday.me/bug/20190825/1722044.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有