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

Posted

技术标签:

【中文标题】如何使用传递给函数的转换标签在函数内部触发 Google Adwords 转换【英文标题】:How to trigger Google Adwords Conversion inside function with the conversion label passed to the function 【发布时间】:2016-08-09 18:25:34 【问题描述】:

我环顾四周,没有看到任何关于此的最新帖子。大多数人年龄更大(3-6 岁)

就上下文而言,我是开发人员和一家 SEO 公司共享转换 sn-ps 用于一堆全是 ajax 的表单。所以我必须在点击时触发转换并将转换标签传递给函数,而不是在不同的页面上使用不同的 sn-ps。

现在我这样调用我的函数:

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 成功返回而不是加载时提交此转换。我还需要将 id 和 label 成功传递给函数。

非常感谢。

【问题讨论】:

【参考方案1】:

您似乎正在尝试使用 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 个。

以上是关于如何使用传递给函数的转换标签在函数内部触发 Google Adwords 转换的主要内容,如果未能解决你的问题,请参考以下文章

将php数组传递给jquery函数

动画值超过 0.8 后如何触发函数并将当前状态传递给该函数(不是旧状态)

如何从jsp标签内部访问函数中的变量

如何将内部回调的结果传递给其父函数? [复制]

如何在数据工厂管道中将路由传递给 Azure 函数(C#)http 触发器?

如何编写将部分传入消息传递给服务总线队列的 Azure HTTP 触发器函数?