如何使用传递给函数的转换标签触发 Google Adwords 函数内部转换
How to trigger Google Adwords Conversion inside function with the conversion label passed to the function
我环顾四周,没有看到任何关于此的最新帖子。大多数人年纪大得多(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 参数正常工作,但未触发转换。
好像有两个问题:
使用 Google Tag Assistant(一个 Google 提供的 chrome 扩展),似乎这个函数是在加载时触发的(它不应该是). Tag Assistant 在页面加载时显示错误,即 ID 格式错误且标签缺失。两者都只是函数参数,所以它在加载时当然是畸形的。
这应该只能通过调用函数来触发。这应该只以编程方式发生,在本例中是在成功调用 ajax 后。
不确定如何进行。但归根结底,我只想在 ajax returns 成功未加载时提交此转换。我还需要成功将id和label传递给函数。
非常感谢。
您似乎在尝试使用 Google Adwords 转换脚本的异步版本。首先,确保您正在加载正确的脚本(最好在文档的 head
中):
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion_async.js" charset="utf-8"></script>
其次,您不需要在 window 对象上设置转换变量。使用异步脚本时,您可以直接使用适当的参数调用 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
});
}
}
我环顾四周,没有看到任何关于此的最新帖子。大多数人年纪大得多(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 参数正常工作,但未触发转换。
好像有两个问题:
使用 Google Tag Assistant(一个 Google 提供的 chrome 扩展),似乎这个函数是在加载时触发的(它不应该是). Tag Assistant 在页面加载时显示错误,即 ID 格式错误且标签缺失。两者都只是函数参数,所以它在加载时当然是畸形的。
这应该只能通过调用函数来触发。这应该只以编程方式发生,在本例中是在成功调用 ajax 后。
不确定如何进行。但归根结底,我只想在 ajax returns 成功未加载时提交此转换。我还需要成功将id和label传递给函数。
非常感谢。
您似乎在尝试使用 Google Adwords 转换脚本的异步版本。首先,确保您正在加载正确的脚本(最好在文档的 head
中):
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion_async.js" charset="utf-8"></script>
其次,您不需要在 window 对象上设置转换变量。使用异步脚本时,您可以直接使用适当的参数调用 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
});
}
}