如何在函数内使用传递给函数的转化标签触发Google Adwords转化。

5

我查看了一下,没有看到最近的关于这个问题的帖子。 大多数都比较旧(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 参数正常工作,但转换并未被触发。

存在两个问题:

  1. 使用 Google 提供的 Chrome 扩展程序 Google 标签助手(Google Tag Assistant),似乎该函数在加载时被触发了(实际上不应该)。标签助手在页面加载时显示出错误,即 ID 不合法且标签缺失。这两者只是函数参数,当然在加载时是无效的。

  2. 这个函数只能通过调用来触发。在这种情况下,它只能通过编程方式来触发,例如成功的 ajax 调用。

我不确定该如何继续。但归根结底,我只想在 ajax 成功返回后提交此转换,而不是在加载时提交。我还需要成功地传递 ID 和标签给函数。

非常感谢。

1个回答

0

看起来你正在尝试使用 Google Adwords 转化脚本的异步版本。首先,请确保你正在加载正确的脚本(最好在文档的 head 中):

<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion_async.js" charset="utf-8"></script>

其次,您不需要在窗口对象上设置转换变量。当使用异步脚本时,您可以直接使用适当的参数调用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
        });
    }
}

我会尝试一下。如果有效,我会给你50元。 - TJ Sherrill

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