0

我在我的网站上使用 GA 代码,如下所示

    <script type="text/javascript" language="javascript">
                    var _gaq = _gaq || [];
                    _gaq.push(['_setAccount', 'UA-xxxxxx-1']);
                    _gaq.push(['_setDomainName', '.myweb.co.uk']);
if (source != '') {
                        _gaq.push(function() {
                            extga._setCampValues(source, medium, name);
                        });
                    }
                    // Set the custom variable ranking
                    var url = String(document.referrer);
                    // confirm they came from G
                    if (url.indexOf("google.co") != -1 || url.indexOf("google.be") != -1 || url.indexOf("google.ie") != -1 || url.indexOf("google.fr") != -1) {

                        var urlVars = {};
                        var parts = url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
                            urlVars[key] = value;
                        });
                        // Push to GA Custom Variables
                        _gaq.push(['_setCustomVar', '1', 'Keywords Rankings', urlVars["cd"], 1]);
                    }
                    //Track the record in GA
                    _gaq.push(['_trackPageview']);

                    (function() {
                        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                        ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js';
                        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                    })();
                </script>

现在我想用谷歌标签管理器替换 GA 代码。我的问题是,我们如何在使用谷歌标签管理器的同时在谷歌分析上推送 cstom 变量,目前我正在使用 _gaq.push 方法推送广告系列的自定义数据。

问候, 哈比卜

4

3 回答 3

2

另一种选择是使用自定义 Javascript 宏来处理自定义变量。您可以将整个设置的自定义变量排名放在其中:

function(){
var url = {{referrer}}; //there is a GTM macro for the HTTP referrer

// confirm they came from G
if (url.indexOf("google.co") != -1 || url.indexOf("google.be") != -1 || url.indexOf("google.ie") != -1 || url.indexOf("google.fr") != -1) {

    var urlVars = {};

    var parts = url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
        urlVars[key] = value;
    });

// Return the Custom Variable value
return urlVars["cd"];
}   

}

*注意,我没有测试这段代码,但它应该非常接近。

然后您可以使用该宏,您可能会将其命名为 {{customVar1Val}} 并将其插入 Google Analytics(分析)标签:

在此处输入图像描述

于 2013-12-12T17:49:21.703 回答
2

移至 Google 跟踪代码管理器后,将您的替换_gaq.push()dataLayer.push(). 在内部,当触发标签的触发规则时,dataLayer.push() 会调用 _gaq.push()。

创建一个 Google Analyticstag并使用您的帐户、域名等进行配置。默认情况下,它使用 fire 在所有页面上运行rule

您可以使用 GUI 来管理 GA 配置,或者只使用自定义 html 片段并粘贴到您的代码中。

您将要使用它macros来构建您的自定义变量。使用自定义 javascript 宏,您可以重用现有代码。然后将宏包含在您的 GA 标记中。

于 2013-12-12T12:11:02.070 回答
1

您的问题可以在跟踪代码管理器开发者指南中得到解答。甚至还有一个名为Migrating Tags to Google Tag Manager的部分,您可以在其中阅读

... 本节介绍最佳实践迁移工作流程。该过程有5个主要步骤:

  1. 映射您的站点(可选)
  2. 项目清单
  3. 实施标准的 Google 跟踪代码管理器代码段
  4. 添加事件和变量
  5. 在 Google 跟踪代码管理器的管理界面中添加具有相关触发规则的代码
  6. 最终迁移交换
于 2014-02-06T08:06:32.870 回答