我环顾四周,没有看到任何关于这方面的最新帖子。大多数年龄大得多(3-6岁)
对于上下文,我是开发人员和SEO公司共享转换片段的一堆形式,都是ajax。所以我必须在点击时触发转换,并将转换标签传递给函数,而不是在不同的页面上有不同的代码片段。
现在我像这样调用我的函数:
triggerConversion([MYCONVERSIONID], [UNIQUECONVERSIONLABEL]);
那么我有一个函数:
function triggerConversion(conversionID, conversionLabel){
console.log(conversionLabel);
goog_snippet_vars = function() {
var w = window;
w.google_conversion_id = conversionID;
w.google_conversion_label = conversionLabel;
w.google_remarketing_only = false;
}
// DO NOT CHANGE THE CODE BELOW.
goog_report_conversion = function(url) {
goog_snippet_vars();
window.google_conversion_format = "3";
var opt = new Object();
opt.onload_callback = function() {
if (typeof(url) != 'undefined') {
window.location = url;
}
}
var conv_handler = window['google_trackConversion'];
if (typeof(conv_handler) == 'function') {
conv_handler(opt);
}
}
}
这没有按计划工作。to参数工作正常,但没有触发转换。
似乎有两个问题:
使用谷歌标签助理(谷歌提供的chrome扩展),似乎这个功能是在加载时触发的(它不应该是)。标签助手在页面加载时显示一个错误,即id格式不正确并且标签缺失。两者都是函数参数,所以它在加载时是畸形的。
这应该只通过调用函数触发。这应该只在编程上发生,在本例中是ajax调用成功后。
不知道如何继续。但在一天结束时,我只想在ajax成功返回时提交此转换,而不是加载。我还需要成功地将id和标签传递给函数。
提前感谢。
看起来好像你正在尝试使用异步版本的Google Adwords转换脚本。首先,确保您正在加载正确的脚本(理想情况下是在文档的head
中):
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion_async.js" charset="utf-8"></script>
第二,您不需要在window对象上设置转换变量。当使用async脚本时,您可以直接使用适当的参数调用google_trackConversion
。所以你的函数可以像这样:
function triggerConversion(conversionID, conversionLabel){
console.log(conversionLabel);
var conv_handler = window['google_trackConversion'];
if (typeof(conv_handler) == 'function') {
conv_handler({
google_conversion_id: conversionID,
google_conversion_label: conversionLabel,
google_remarketing_only: false
});
}
}