Dunno2018
@Dunno2018

Как настроить цели Яндекс метрики на успешную отправку формы?

Здравствуйте!
Отправка формы:
$(".btn").on('click', function (e) {
        e.preventDefault();
        var formThis = $(this).parents('.form');

        if (formThis.is('.user_name')) {
            if (formThis.find('.user_name').val().length <= 3) {
                formThis.find('.user_name').addClass('_notValid');
                setTimeout(function () {
                    formThis.find('.user_name').removeClass('_notValid');
                }, 1500);
                return false
            }
        }

        if (formThis.find('.phone_mask').val().length !== 16) {
            formThis.find('.phone_mask').addClass('_notValid');
            setTimeout(function () {
                formThis.find('.phone_mask').removeClass('_notValid');
            }, 1500);
            return false
        }

        sendAjaxForm(formThis);
    });


    function sendAjaxForm(form) {

        var msg = form.serialize();
        $.ajax({
            type: 'POST',
            url: '/mail.php',
            data: msg,
            success: function (data) {
              $('body').addClass('_fixed');
              $('.overlay').fadeIn(200);
            },
            error: function (xhr, str) {
                alert('Неизвестная ошибка, обратитесь по телефону! Ошибка:', xhr);
            }
        });

    }

Цели:
$( '#calculator-form' ).on('submit_success', function(){   
	ym(54388744, 'reachGoal', 'form-top');
});
	
$( '#form-bottom' ).on('submit_success', function(){   
	ym(54388744, 'reachGoal', 'form-bottom');
});

Цели не срабатывают. Как это исправить?
  • Вопрос задан
  • 662 просмотра
Решения вопроса 1
Eridani
@Eridani
Мимо проходил
success: function (data) {
	if(typeof(metrika_target) !== 'undefined' && metrika_target.length) {		
		yaCounterНОМЕР.reachGoal(metrika_target);				
         }
}

Сама переменная metrika_target берется из data атрибутов формы, с которой отправляете
<form method="post" action="" data-metrika-target="callback"


Иными словами, в теле функции success аякса нужно вызывать отработку цели
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы