Цели яндекс метрика для ajax formit

Всем привет, может кто уже делал цели на успешную отправку формы для яндекс метрики. Или подскажите как сделать.

Есть такой скрипт на успешную отправку.
<script>
$(document).on('af_complete', function(event, response) {
    if (response.success) {
        $('#myModalbuy2').modal('hide');
    }
 });
</script>
Сергей
16 мая 2016, 12:20
modx.pro
12
12 902
+1

Комментарии: 30

mngatoff
16 мая 2016, 17:09
0
<form onsubmit="yaCounterXXXXXXXX.reachGoal('metka'); return">
    mngatoff
    16 мая 2016, 17:10
    0
    <script>
    $(document).on('af_complete', function(event, response) {
        if (response.success) {
            yaCounterXXXXXXXX.reachGoal('metka'); return
        }
     });
    </script>
      Сергей
      16 мая 2016, 17:32
      0
      Вот так?
      <script>
      $(document).on('af_complete', function(event, response) {
          if (response.success) {
              $('#myModalbuy2').modal('hide');
      	yaCounterXXXXXXXX.reachGoal('metka'); return
          }
       });
      </script>
        Виктор
        17 мая 2016, 14:10
        1
        +1
        $(document).on('af_complete', function(event, response) {
        	if (response.success) {
            		var form = response.form;
           		if (form.attr('id') == 'myModalbuy2') {
        			form.attr('id').modal('hide');
        			yaCounterXXXXXXXX.reachGoal('metka'); return
        		}
                }
        });
          Сергей
          17 мая 2016, 14:50
          0
          Буду пробовать, заранее спасибо!
          Сергей
          17 мая 2016, 16:14
          0
          Вообщем при таком варианте
          1. Форма не закрывается
          2. Лид учитывается, если даже форма не отправлена
          Сергей
          17 мая 2016, 16:15
          0
          Мне кажется где то ошибка.
            mngatoff
            17 мая 2016, 16:23
            0
            во-первых return можно убрать. А скорее всего и нужно. А во-вторых, не может лид учитываться, если в ответе нет success
              mngatoff
              17 мая 2016, 16:24
              0
              попробуй проверять вот так
              if (response.success === true)
                Сергей
                17 мая 2016, 16:30
                0
                Так?
                <script>
                $(document).on('af_complete', function(event, response) {
                    if (response.success === true) {
                        yaCounter20822521.reachGoal('myModalbuy_lid');
                    }
                 });
                </script>
                $('#myModalbuy2').modal('hide');
                — это куда?
            Виктор Лобанов
            18 мая 2016, 02:42
            0
            попробуйте дописать в &successMessage=``
            [[!AjaxForm?
                 &snippet=`FormIt`
                 &successMessage=`Сообщение успешно отправлено
                 <script>yaCounterXXXXXXXX.reachGoal('target');</script>`
            ]]
              Сергей
              18 мая 2016, 09:49
              0
              Проверил через ....?_ym_debug=1… и консоль, вроде все супер. Спасибо за такое простое решение, как на 100% буду уверен в работе данного способа, отпишусь. Заранее спасибо!
              Сергей
              23 мая 2016, 17:32
              1
              0
              Вообщем подвожу итог.
              Самый простой и удобный способ сделать цель на успешную отправку формы, это добавить
              &successMessage=`Сообщение успешно отправлено
                   <script>yaCounterXXXXXXX.reachGoal('myModalbuy_lid', goalParams, goalCallback);</script>`
              Так-же попробовал добавить параметры цены цели
              <script type="text/javascript">
                      var goalParams1 = {order_price: 999, currency: "RUB"};
                      function goalCallback1 () {
                          console.log('запрос в Метрику успешно отправлен');
                      }
              </script>
              Всем спасибо за помощь.
                Александр
                07 июня 2016, 17:46
                0
                Добрый вечер.
                Делаю так:
                &successMessage=`Сообщение успешно отправлено
                     <script>yaCounterXXXXXXXX.reachGoal('target');</script>`
                И пишет в консоли при ?_ym_debug=1
                Reach goal. Counter: 29748720. Goal id: ORDER. Params:  undefined
                Что может это значить и как исправить?
                  Сергей
                  07 июня 2016, 17:48
                  0
                  — вы вместо XXXXXX номер счетчика то вставили?
                  Александр
                  07 июня 2016, 17:53
                  0
                  &successMessage=`Сообщение успешно отправлено
                                          <script>yaCounter29748720.reachGoal('ORDER');</script>`
                    Сергей
                    07 июня 2016, 17:55
                    0
                    Дайте адрес сайта, где форма эта.
                    Сергей
                    07 июня 2016, 17:57
                    0
                    У вас точно так?
                    &successMessage=`Сообщение успешно отправлено
                    `
                      Александр
                      07 июня 2016, 18:01
                      0
                      [[!AjaxForm?
                                              &snippet=`FormIt`
                                              &form=`form`
                                              &hooks=`email`
                                              &emailSubject=`Сообщение с сайта «РУБИК-ДИЗАЙН»`
                                              &emailTo=`info@rubik-design.ru`
                                              &emailFrom=`info@rubik-design.ru`
                                              &successMessage=`Сообщение успешно отправлено
                                              <script>yaCounter29748720.reachGoal('ORDER');</script>`
                                              &emailTpl=`report-tpl`
                                              ]]
                        Сергей
                        07 июня 2016, 18:02
                        0
                        в метрике тоже у цели ORDER???????????? (идентификатор цели такой же?)
                          Александр
                          07 июня 2016, 18:07
                          0
                          да и изменил на другой но это сути не меняет так как они совпадают
                          может это поможет
                          Reach goal. Counter: 29748720. Goal id: Jivo_Proactive_invitation_shown. Params:  undefined
                          В консоль пишет
                            Сергей
                            07 июня 2016, 18:24
                            0
                            Вы к какой форме делаете то??? Это относится исключительно в форме онлайн консультанта JivoSite!
                            А если вы делаете на нижнюю форму, то у вас все работает!
                            Reach goal. Counter: 29748720. Goal id: CLICKCONTACT. Params: undefined — так и должно быть.
                            Если лиды не засчитались, то только потому, что он ваш ip не учитывает.
                              Александр
                              07 июня 2016, 18:28
                              0
                              Это все понятно, думал может как то поможет или в конфликт вступают но после почитал и понял что все ок
                              Можете отправить с формы письмо? Если мои не считает он.
                                Сергей
                                07 июня 2016, 23:40
                                0
                                я уже отправлял несколько тестовых, должен засчитать. Как вариант попробовать или через режим инкогнито или с другого браузера.
                                  Александр
                                  08 июня 2016, 10:33
                                  0
                                  Не подскажешь как сделать так чтобы при клике «Отправить» считывался лид, но на конкретной страничке, а форма заказа услуги стоит одна на всех страничках?
                                  Те вариант предыдущий не подходит.
                                    Сергей
                                    08 июня 2016, 13:35
                                    0
                                    Вот пример с моего сайта
                                    <script type="text/javascript">
                                            var goalParams1 = {order_price: 123, currency: "RUB"};
                                            function goalCallback1 () {
                                                console.log('запрос в Метрику успешно отправлен');
                                            }
                                    </script>
                    Futuris
                    14 июля 2019, 20:55
                    0
                    Раньше прописывал параметры цели в коде самой формы (там где
                    <form action="" method="post" ....
                    ) и в итоге получал срабатывание цели просто по нажатию кнопки. Т.е. без разницы успешно отправилась форма или нет — фиксировалась цель по факту клика на кнопкк «Отправить».

                    Решил, как советовали выше попробовать засунуть скрипт в модал. Т.е.
                    [[!AjaxForm?
                         &snippet=`FormIt`
                         &successMessage=`Сообщение успешно отправлено
                         <script>yaCounterXXXXXXXX.reachGoal('target');</script>`
                    ]]
                    Все отлично работает! Цель теперь фиксируется только по факту отправки формы. Но только одна беда — стала очень долго отправляться форма. Виснет секунд на 20!!! Наверное из-за исполняемого скрипта в модале. Может кто подсказать как это исправить?
                      Aborrol
                      14 июля 2019, 22:18
                      0
                      modstore.pro/packages/other/reachgoal
                      Или в js ловить событие отправки формы, примеры есть выше в комментарии
                        Futuris
                        15 июля 2019, 09:16
                        0
                        А как добавить на этй форму еще и цель Google Analytics?
                        Просто добавить код GA в скрипт? Так:
                        [[!AjaxForm?
                             &snippet=`FormIt`
                             &successMessage=`Сообщение успешно отправлено
                             <script>ga('send', 'event', 'form' 'submit'); yaCounterXXXXXXXX.reachGoal('target');</script>`
                        ]]
                      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                      30