同一页面上有多个谷歌Adwords转化标签

19

在单个网页上我能添加多个Google AdWords转化标签吗?看起来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>

4个回答

23

对我们有效的方法是将整个代码块(包括<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"></script>标签本身)复制粘贴两次。由于该脚本标签包含立即执行的代码,重复插入会导致其执行两次 - 每次都使用在它之前声明的变量。


4
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';
};

设置您的谷歌变量。

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>

2
你可以省略 http: 协议中的 var base_url,这样它就不会取消 https 页面的 SSL。 - Nik Sumeiko

2
请注意,自2017年10月起,您可以(并且应该)使用Google的新gtag.js。这是一个新的网络标记库,取代了旧版AdWords网站转换跟踪和重新营销标记。
通过为每个要使用的帐户添加“config”命令的调用并指定每个帐户的转换ID,gtag.js允许您将跟踪数据发送到多个AdWords帐户:
<!-- 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>

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

0
您需要在每组变量下方插入 </div> 标签。
// first slot of variables

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接