Orlovskih (обсуждение | вклад) |
Orlovskih (обсуждение | вклад) |
||
| Строка 6: | Строка 6: | ||
Первоначально ознакомьтесь с документацией на странице https://yandex.ru/support/metrika/general/goal-js-event.html#js-event<br> | Первоначально ознакомьтесь с документацией на странице https://yandex.ru/support/metrika/general/goal-js-event.html#js-event<br> | ||
Далее берем пример нижеуказанного кода, правим его и добавляем либо в инфоблок headScripts или в тот же инфоблок, где подключается метрика, например в sitefootinfo4, footer_copyright.<p> | Далее берем пример нижеуказанного кода, правим его и добавляем либо в инфоблок headScripts или в тот же инфоблок, где подключается метрика, например в sitefootinfo4, footer_copyright.<p> | ||
| − | <source lang=javascript | + | <source lang=javascript> |
<script> | <script> | ||
$(document).ready(function(){ | $(document).ready(function(){ | ||
Версия 11:00, 18 сентября 2018
Установка целей для Яндекс.Метрики
Общие положения
Первоначально ознакомьтесь с документацией на странице 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>
или
1 <script>
2 $(document).ready(function(){
3 $(document).on("click", "#celector", function() {
4 yaCounterХХХХХХХХ.reachGoal('НАЗВАНИЕ_СОБЫТИЯ');
5 });
6 });
7 </script>
Указываем submit, если нужно вызвать событие при отправке формы. Например, формы регистрации (т.е. где заполняются поля). В таком случае в качестве "#celector" указываем имя/id этой формы.
Вот пример кода формы
1 <form method="post" action="/?page=reg&switch_to_opt" NAME="form1" id="formRegWholesale">
, поэтому будет "#formRegWholesale".
Увеличенный фрагмент исходного кода.
Если указать click, тогда цель будет срабатывать при каждом клике на кнопку. В таком случае в качестве "#celector" указываем ".класс" или "#id" ссылки. Либо, если того и того нет, то name (в квадратных скобках [name='button'])
В коде вызывается метод объекта yaCounterХХХХХХХХ, где ХХХХХХХХ - индивидуальный номер счетчика клиента. Название объекта везде на сайте должно совпадать. Создание объекта метрики выглядит примерно так:
1 w.yaCounterХХХХХХХХ = new Ya.Metrika({id:ХХХХХХХХ,
2 webvisor:true,
3 clickmap:true,
4 trackLinks:true,
5 accurateTrackBounce:true,params:window.yaParams||{ }});
Этот код можно поискать по странице и узнать название объекта. Названия целей для кнопок произвольные, их вы должны придумать самостоятельно. Вот пример итогового кода для добавления
1 <script>
2 $(document).ready(function(){
3 $(document).on("submit", "#formRegWholesale", function() {
4 yaCounterХХХХХХХХХ.reachGoal('REGISTER_OPT');
5 });
6 });
7 </script>
Если необходимо навесить цель на отправку вин-запроса (на странице vinquery кнопка "Отправить запрос"), то код будет немного другой, т.к. у кнопки нет id/имени формы и она отправлется ajax'ом. Код будет вида:
1 <script>
2 $(document).ready(function(){
3 $('.wVinquAdd input.submit-query').on("click", function() {
4 yaCounterХХХХХХХХХ.reachGoal('НАЗВАНИЕ_СОБЫТИЯ');
5 });
6 });
7 </script>
Примеры кодов
Формы
Форма регистрации розница
1 $(document).on("submit", "#formRegRetail", function() {
2 yaCounterХХХХХХХХ.reachGoal('RegRetail');
3 });
Форма регистрации ОПТ
1 $(document).on("submit", "#formRegWholesale", function() {
2 yaCounterХХХХХХХХ.reachGoal(RegWholesale);
3 });
Форма обратной связи
1 $(document).on("submit", "#wFeedbackForm", function() {
2 yaCounterХХХХХХХХ.reachGoal('Feedback');
3 });
Форма заказа обратного звонка
1 $(document).on("submit", "#callOrderForm", function() {
2 yaCounterХХХХХХХХ.reachGoal(callOrder);
3 });
Корзина и оформление заказа
Нажать на кнопку “положить в корзину”
1 $(document).on('click', '.addToBasketLink', function(event) {
2 yaCounterХХХХХХХХ.reachGoal(addToBasket);
3 });
Нажатие на кнопку “посмотреть цены” в каталоге
1 $(document).one('click', '.priceButton a', function(event) {
2 createDeferredSubmitter(
3 event,
4 function (link) {
5 yaCounterXXXXXXXX.reachGoal('posmotret_ceny');
6 },
7 function (link) {
8 link.click();
9 },
10 this
11 );
12 });
Нажать на кнопку “Оформить заказ”
1 $(document).on('click', '.orderCheckNoReturn, .cartSendOrderButton', function(event) {
2 yaCounterXXXXXXXX.reachGoal(SendOrder);
3 });
Отправка заказа (переход на страницу /cart?ordercomplete)
Данный код необходимо размещать в инфоблоке cartSendOrderBottom
1 $(window).load(function() {
2 var ordercomplete = window.location.search;
3 var page = window.location.pathname;
4 if (page == '/cart' && ordercomplete == '?ordercomplete') {
5 yaCounterXXXXXXXX.reachGoal(ordercomplete);
6 };
7 });