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

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

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

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

или

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

Если в коде самого счетчика Метрики указано yaCounterХХХХХХХХ, значит у Вас предыдущая версия кода Метрики и нужно использовать:

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

или

<script>
  $(document).ready(function(){
   $(document).on("click", "#celector", function() {
    yaCounterХХХХХХХХ.reachGoal('НАЗВАНИЕ_СОБЫТИЯ');
   });
  });
</script>
 
id формы обратной связи

Указываем submit, если нужно вызвать событие при отправке формы. Например, формы обратной связи (т.е. где заполняются поля). В этом случае в качестве "#celector" указываем имя/id этой формы. Id у этой формы - wFeedbackForm (показано на рисунке).

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

На месте ХХХХХХХХ в коде цели нужно указать индивидуальный номер счетчика метрики.
Названия самих целей - произвольные, их вы должны придумать самостоятельно.

Вот пример итогового кода для добавления цели на форму обратной связи:

<script>
   $(document).ready(function(){
     $(document).on("submit", "#wFeedbackForm", function() {
       ym(ХХХХХХХХ,'reachGoal','Feedback');
     });
   });
</script>


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

Формы

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

<script>
 $(document).ready(function(){
   $(document).on("submit", "#wFeedbackForm", function() {
    ym(ХХХХХХХХ,'reachGoal','Feedback');
   });
 });
</script>

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

<script>
 $(document).ready(function(){
   $(document).on("submit", "#callOrderForm", function() {
    ym(ХХХХХХХХ,'reachGoal','callOrder');
   });
 });
</script>

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

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

<script>
  $(document).ready(function(){
    $('.addToBasketLink').on("click", function() {
     ym(ХХХХХХХХ, 'reachGoal', 'addToBasket');
    });
  });
</script>

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

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

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

<script>
$(document).ready(function(){
  $(document).on("click", ".cartSendOrderButton", function() {
   ym(ХХХХХХХХ, 'reachGoal', 'SendOrder');
  });
});

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

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

<script>
$(window).load(function() {
        var ordercomplete = window.location.search;
        var page = window.location.pathname;
        if (page == '/cart' && ordercomplete == '?ordercomplete') {
           ym(ХХХХХХХХ, 'reachGoal', 'OrderComplete');
        };
});
</script>

Vin-запрос

Отправка Vin-запроса

<script>
 $(document).ready(function(){
   $(".vinqu-step-navigate-btn-flex [href='#info']").on("click", function() {
     ym(ХХХХХХХХ,'reachGoal','Vin');
   });
 });
</script>

Регистрация

Чтобы установить цель на регистрацию розничных и оптовых клиентов, на стороне платформы указывать ничего не требуется. Вам нужно на стороне Метрики задать цель на достижение определенного url. Т.е. если клиент попал на определенный url, то цель достигнута.