javascript - 如何从analytics.js 调用中取出输出变量以进行重定向?

标签 javascript redirect google-analytics cross-domain server-side

在我的工作中,我们尝试使用谷歌分析来进行一些跨域跟踪。问题在于涉及服务器端重定向。我们的解决方案是将 Google 分析信息附加到初始 URL。

我们有一个带有结帐按钮的购物车页面。单击结帐按钮会触发 btnCheckout_OnClick,它会创建一个 URL,然后使用 RegisterClientScriptBlock 访问页面上的 javascript 函数。 RegisterClientScriptBlock 调用如下所示:

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "gaCrossDomain", "gaCrossDomain('" + checkoutUrl + "');", true);

同时,到目前为止的 Javascript 看起来像这样:

function gaCrossDomain(url) {
    ga(function(tracker) {
        var linker = new window.gaplugins.Linker(tracker);
        var output = linker.decorate(url);
    });

}

ga 函数调用是对analytics.js 的调用。其工作原理详细信息如下:https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain#decorate

但是还不够详细。为了弄清楚这个问题的底线:如何从 ga 函数调用中获取“输出”?修改后的网址后,我可以将其用于重定向。或者,有什么方法可以在 ga 调用内重定向吗?

最佳答案

在包装函数中声明output,然后返回它:

function gaCrossDomain(url) {
    var output;
    ga(function(tracker) {
        var linker = new window.gaplugins.Linker(tracker);
        output = linker.decorate(url);
    });
    return output;
}

示例:

var src = gaCrossDomain('http://www.somesite.com');
console.log(src); 
// output: http://www.somesite.com?_ga=1.181772207.989393484.1440257672"

注意:返回的值仅在 2 分钟内有效,因此这不是您可以尽早执行并保存以供以后使用的操作。

关于javascript - 如何从analytics.js 调用中取出输出变量以进行重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32148217/

相关文章:

c# - HttpWebRequest.AllowAutoRedirect=false 会导致超时?

Angular主路由配置无效(空路径)

apache - 通过 Htaccess 从 Url 中删除文件夹的子文件夹?

google-analytics - 从Google Analytics(分析)中排除Xenu的Link Sleuth

javascript - 如何禁用 Google Analytics 综合浏览量跟踪但保留事件跟踪?

google-analytics - Google Analytics-跟踪下载的文件

javascript - 在 Node.js 中的变量中插入 ASCII

javascript - 在 {{}}(花括号)内使用函数调用是一种好习惯吗?

javascript - 调整窗口大小时刷新 Skrollr

javascript - 拖放后 Kendo UI Treeview Sprite 消失