Открыть главное меню

Установка целей для Яндекс.Метрики


Общие положения

Первоначально ознакомьтесь с документацией на странице https://yandex.ru/support/metrika/general/goal-js-event.html#js-event Далее берем пример нижеуказанного кода, правим его и добавляем либо в инфоблок headScripts или в тот же инфоблок, где подключается метрика, например в sitefootinfo4, footer_copyright.

<script>
$(document).ready(function(){
 $(document).on("submit", "#celector", function() {
 yaCounterХХХХХХХХ.reachGoal('НАЗВАНИЕ_СОБЫТИЯ');
 });
});
</script>

или <script> $(document).ready(function(){

$(document).on("click", "#celector", function() {
yaCounterХХХХХХХХ.reachGoal('НАЗВАНИЕ_СОБЫТИЯ');
});

}); </script>

Указываем submit, если нужно вызвать событие при отправке формы. Например, формы регистрации (т.е. где заполняются поля). В таком случае в качестве "#celector" указываем имя/id этой формы. Вот пример кода формы <form method="post" action="/?page=reg&switch_to_opt" NAME="form1" id="formRegWholesale">, поэтому будет "#formRegWholesale".


Если указать click, тогда цель будет срабатывать при каждом клике на кнопку. В таком случае в качестве "#celector" указываем ".класс" или "#id" ссылки. Либо, если того и того нет, то name (в квадратных скобках [name='button']) В коде вызывается метод объекта yaCounterХХХХХХХХ, где ХХХХХХХХ - индивидуальный номер счетчика клиента. Название объекта везде на сайте должно совпадать. Создание объекта метрики выглядит примерно так:

w.yaCounterХХХХХХХХ = new Ya.Metrika({id:ХХХХХХХХ, webvisor:true, clickmap:true, trackLinks:true, accurateTrackBounce:true,params:window.yaParams||{ }});

Этот код можно поискать по странице и узнать название объекта. Названия целей для кнопок произвольные, их вы должны придумать самостоятельно. Вот пример итогового кода для добавления

<script>

    $(document).ready(function(){
         $(document).on("submit", "#formRegWholesale", function() {
         yaCounterХХХХХХХХХ.reachGoal('REGISTER_OPT');
         });
    });

</script>

Если необходимо навесить цель на отправку вин-запроса (на странице vinquery кнопка "Отправить запрос"), то код будет немного другой, т.к. у кнопки нет id/имени формы и она отправлется ajax'ом. Код будет вида:

<script>

$(document).ready(function(){
 $('.wVinquAdd input.submit-query').on("click", function() {
 yaCounterХХХХХХХХХ.reachGoal('НАЗВАНИЕ_СОБЫТИЯ');
 });
});
</script>

Примеры кодов

Формы

Форма регистрации розница

$(document).on("submit", "#formRegRetail", function() {

  yaCounterХХХХХХХХ.reachGoal('RegRetail');
 });

Форма регистрации ОПТ

 $(document).on("submit", "#formRegWholesale", function() {
  yaCounterХХХХХХХХ.reachGoal(RegWholesale);
 });

Форма обратной связи

$(document).on("submit", "#wFeedbackForm", function() {

 yaCounterХХХХХХХХ.reachGoal('Feedback');
});

Форма заказа обратного звонка

$(document).on("submit", "#callOrderForm", function() {

yaCounterХХХХХХХХ.reachGoal(callOrder);
});

Корзина и оформление заказа

Нажать на кнопку “положить в корзину”

 $(document).on('click', '.addToBasketLink', function(event) {
  yaCounterХХХХХХХХ.reachGoal(addToBasket);
 });

Нажатие на кнопку “посмотреть цены” в каталоге

$(document).one('click', '.priceButton a', function(event) {
   createDeferredSubmitter(
     event,
     function (link) {
       yaCounterXXXXXXXX.reachGoal('posmotret_ceny');
     },
     function (link) {
       link.click();
     },
     this
   );
 });

Нажать на кнопку “Оформить заказ”

 $(document).on('click', '.orderCheckNoReturn, .cartSendOrderButton', function(event) {
  yaCounterXXXXXXXX.reachGoal(SendOrder);
 });

Отправка заказа (переход на страницу /cart?ordercomplete)

Данный код необходимо размещать в инфоблоке cartSendOrderBottom

$(window).load(function() {

       var ordercomplete = window.location.search;
       var page = window.location.pathname;
       if (page == '/cart' && ordercomplete == '?ordercomplete') {
           yaCounterXXXXXXXX.reachGoal(ordercomplete);
       };
   });