首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Google Analytics针对ajax表单提交的目标,而不是得分

Google Analytics针对ajax表单提交的目标,而不是得分
EN

Stack Overflow用户
提问于 2019-03-13 01:47:37
回答 1查看 279关注 0票数 1

我已经尝试过这个答案,但它不能正常工作:https://stackoverflow.com/a/33207127/9124081

对于GA的较新版本,此答案可能需要更新。当页面通过ajax提交时,我执行了以下操作来设置目标。

代码语言:javascript
复制
$.ajax({
    type: "POST",
    url: "/some/page/that/does/not/have/ga/on/it.php",
    data: { formData:formData },
    success: function() {
        // Some success message to user.
        // Create a virtual page view that you can track in GA.
        ga('send', {
            'hitType' : 'pageview',
            'page' : '/contact-us-success' // Virtual page (aka, does not actually exist) that you can now track in GA Goals as a destination page.
        });
    }
});

然后在GA -> Admin -> Goals ->新目标中

(1)目标设置-自定义(2)目标描述->选择'Destination‘。(3)目标详情-> Destination等于/contact-us-success

希望这对其他人有帮助。

这是我当前的代码:

代码语言:javascript
复制
$(document).ready(function() {
        // Antes de enviar
        $('#formdata').submit(function() {
            $('#botonenviar').hide();
            $('#loader').show();
            // Enviamos el formulario usando AJAX
            $.ajax({
                type: 'POST',
                url: $(this).attr('action'),
                data: $(this).serialize(),

                // Mostramos un mensaje segun respuesta de PHP
                success: function(rsp) {



                    if(rsp=='error')
                        $('#fracaso').show(),
                        $('#loader').hide()
                        ;
                    else
                        $('#exito').show(),
                        $('#loader').hide(),
                        ga('send', {
            'hitType' : 'pageview',
            'page' : '/contact-us-success' // Virtual page (aka, does not actually exist) that you can now track in GA Goals as a destination page.
        });


                }



            })        
            return false;
        }); 
    })

没有控制台错误,我甚至禁用了广告拦截器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-13 04:27:12

由于您提到的是ga对象:

代码语言:javascript
复制
ga('send','event', <Category>, <Action>, <Label>);

编辑:您使用标记管理器,因此您必须使用dataLayer对象。

这是跟踪联系人表单的正确语法,然后您可以在Analytics中创建目标

代码语言:javascript
复制
$(document).ready(function() {
    // Antes de enviar
    $('#formdata').submit(function() {
        $('#botonenviar').hide();
        $('#loader').show();
        // Enviamos el formulario usando AJAX
        $.ajax({
            type: 'POST',
            url: $(this).attr('action'),
            data: $(this).serialize(),
        // Mostramos un mensaje segun respuesta de PHP
        success: function(rsp) {
            if(rsp=='error')
                $('#fracaso').show(),
                $('#loader').hide();
            else
                //ga('send','event','form','submitted');
                dataLayer = dataLayer || []; // Safe init
                dataLayer.push({'event' : 'form_submitted'});
                $('#exito').show(),
                $('#loader').hide(),
    }
})        

进入标记管理器,使用以下内容创建一个新标记:

标记配置-通用分析-事件。

事件类别和事件操作您可以放置您喜欢的内容,只要它与您在目标信息中输入的内容相同即可。记住还要将Google Analytics属性ID设置为Google Analytics变量。

触发器配置-自定义事件,所有自定义事件,并将form_submitted放入文本框中。

然后,如果需要,您可以创建一个Event Goal。您可以从Real time > Events测试它们,并通过Behaviour > Events对它们进行分析。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55127738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档