Цель Google Analytics для представления формы ajax без забитых голов - PullRequest
0 голосов
/ 12 марта 2019

Я попробовал этот ответ, но он не работает должным образом: https://stackoverflow.com/a/33207127/9124081

Этот ответ, возможно, необходимо обновить для более поздних версий GA. Я сделал следующее, чтобы установить цели при отправке страницы через ajax.

$.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 -> New Goal

(1) Настройка цели - Пользовательская (2) Описание цели -> выберите «Пункт назначения». (3) Детали цели -> Направление равно / contact-us-success

Надеюсь, это поможет кому-то еще.

А это мой текущий код:

$(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;
        }); 
    })

Нет ошибок консоли, я даже отключил блокировку рекламы.

1 Ответ

0 голосов
/ 12 марта 2019

Поскольку вы упоминаете объект ga:

ga('send','event', <Category>, <Action>, <Label>);

РЕДАКТИРОВАТЬ: вы используете менеджер тегов, поэтому вы должны использовать объект dataLayer.

Это правильный синтаксис дляОтследите контактную форму, затем создайте Цель в Analytics

$(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 в переменную Google Analytics.

Настройка триггера - пользовательское событие, все пользовательские события, и вы помещаете form_submitted в текстовое поле.

И затем, еслинеобходимо создать цель события .Вы проверяете их с Real time > Events и анализируете с помощью Behaviour > Events.

...