【问题标题】:Multiple Google Adwords conversion labels on same page同一页面上有多个 Google Adwords 转换标签
【发布时间】:2012-01-12 16:37:11
【问题描述】:

我可以在一个网页上拥有多个谷歌广告词转换标签吗?看起来javascript变量只会相互覆盖。

如果我删除 javascript 变量并只保留 noscript 链接会怎样?

转化 1

var google_conversion_id = 123;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "666666";
var google_conversion_label = "abc";
var google_conversion_value = 0;

转换 2:

var google_conversion_id = 456;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "000000";
var google_conversion_label = "def";
var google_conversion_value = 0;

后跟脚本标签:

<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"></script>

和示例 noscript 标签:

<div style="display:inline;"><img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/..."/>

</div>

【问题讨论】:

标签: google-analytics google-ads-api


【解决方案1】:

对我们有用的只是将整个代码块(包括&lt;script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"&gt;&lt;/script&gt; 标签本身)包含两次。因为脚本标签包含立即执行的代码,包含它两次将导致它执行两次 - 每次使用紧接在它之前声明的变量。

【讨论】:

    【解决方案2】:

    Javascript 函数。

    var goog_report = function(id, label, value){
        if(typeof(value)==='undefined') value = 0;
        var base_url = 'www.googleadservices.com/pagead/conversion/';
        var img = new Image(1,1);
        img.src = base_url + id +'/?label='+label+'&value='+ value +'&script=0';
    };
    

    设置您的 Google 变量。

    var goog_id = 1234;
    var goog_label = 'xyz';
    var goog_value = 10.99;
    

    示例 1:在 HTML 中调用。

    <script>
    goog_report(goog_id, goog_label, goog_value);
    </script>
    

    示例 2:在事件处理程序中调用。

    <script>
    var handleSomeEvent = function(evt) {
        goog_report(good_id, goog_label, goog_value);
    };
    </script>
    

    示例 3:jQuery Ajax 成功调用后调用。

    <script>
    $.ajax({
        type: "POST",
        url: "/charge/",
        data: $('form').serialize(),
        success: function(data) {
            goog_report_purchase(goog_id, goog_label, data.charge_amount);
        }
    });
    </script>
    

    示例 4:锚元素上的硬编码 OnClick 事件

    <a href="javascript:;" onclick="goog_report(1234, 'xyz', 10.99)">Boom! Conversion.</a>
    

    【讨论】:

    • 你可以在var base_url中省略http:协议,所以它不会取消https页面的SSL。
    【解决方案3】:

    请注意,自 2017 年 10 月起,您可以(并且应该)使用 Google 的新 gtag.js,这是一个新的网络标记库,可替代旧的 AdWords 网站转化跟踪和再营销标记。

    gtag.js 允许您向多个 AdWords 帐户发送跟踪数据,方法是为您将使用的每个帐户添加对“config”命令的调用,并指定每个帐户的转化 ID:

    <!-- Global Site Tag (gtag.js) - Google AdWords: GOOGLE_CONVERSION_ID_1 -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=AW-GOOGLE_CONVERSION_ID_1"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments)};
      gtag('js', new Date());
    
      gtag('config', 'AW-GOOGLE_CONVERSION_ID_1');
      gtag('config', 'AW-GOOGLE_CONVERSION_ID_2');
    </script>
    

    这是现代解决方案应该遵循的模式。

    【讨论】:

      【解决方案4】:

      你需要在每组变量下面插入标签

      // first slot of variables
      

      // 第二个变量槽 // 你不再需要'var'语句了

      或者你只插入 noscript 标记的内容,但没有(基本上和 javascript 标记一样好)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-10
        • 1970-01-01
        • 2012-01-29
        • 1970-01-01
        • 2011-08-03
        相关资源
        最近更新 更多