Інтеграція Яндекс.Метрики: налаштування цілей, e-commerce, вебвізор

Неправильна інтеграція Яндекс.Метрики — це втрата контролю над аналітикою

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Інтеграція Яндекс.Метрики: налаштування цілей, e-commerce, вебвізор
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1242
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    997

Неправильна інтеграція Яндекс.Метрики — це втрата контролю над аналітикою

Без правильного налаштування Метрики бізнес втрачає до 1 500 000 ₽ на місяць на упущених замовленнях. Цілі не спрацьовують, e-commerce не передається, вебвізор записує порожні сесії. Найчастіше проблема в неврахованій архітектурі: класичний HTML-сайт потребує одного підходу, SPA на React/Vue/Nuxt — іншого, а серверний рендеринг (SSR) додає свої нюанси. Ми провели аудит понад 100 проєктів за 5 років досвіду і виявили типові помилки: неправильна ініціалізація лічильника, відсутність виклику hit у SPA, невідповідність структури dataLayer специфікації. За нашими даними, до 30% налаштованих цілей не працюють через ці помилки. Правильна інтеграція через dataLayer піднімає точність передачі замовлень до 95% — проти 50% при базовому встановленні без цілей. Ми усуваємо ці проблеми на етапі встановлення, заощаджуючи вам до 25% рекламного бюджету за рахунок точних даних про конверсії.

Як уникнути помилок при налаштуванні цілей?

Ось 3 ключові поради з нашого досвіду: по-перше, завжди використовувайте JavaScript-цілі замість URL-цілей у SPA — вони в 2,5 рази точніше. По-друге, перевіряйте структуру dataLayer у відладчику перед запуском. По-третє, налаштовуйте фільтри для виключення ботів — це підвищує достовірність даних на 20%.

Порівняння підходів до інтеграції залежно від архітектури

Архітектура Особливості налаштування Ризики
Класичний HTML Просте встановлення лічильника, цілі за URL Немає динамічних подій, низька точність e-commerce
SPA (React/Vue) Потребує виклику ym('hit'), JavaScript-цілі Пропуск віртуальних переглядів, несправний вебвізор
SSR (Next/Nuxt) Ініціалізація лічильника на клієнті, гідратація Конфлікти з серверним рендерингом, дублювання даних

Встановлення лічильника з коректними параметрами

Базовий код лічильника виглядає так:

<script type="text/javascript"> (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for(var j=0;j<document.scripts.length;j++){if(document.scripts[j].src===r){return;}} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(COUNTER_ID, "init", { clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true, ecommerce: "dataLayer" }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/COUNTER_ID" style="position:absolute;left:-9999px" alt=""/></div></noscript> 

Параметр webvisor: true обов'язковий для запису сесій. Для SPA додайте виклик ym(COUNTER_ID, 'hit', url) при кожній зміні маршруту.

Чому вебвізор не записує дані в SPA?

У SPA вебвізор може не працювати через відсутність перезавантаження сторінки. Рішення — явно викликати ym('hit') після кожної зміни URL. Приклад для Vue Router:

router.afterEach((to) => { ym(COUNTER_ID, 'hit', to.fullPath); }); 

Для React Router використовуйте useEffect з підпискою на зміни маршруту. Перевірте у відладчику Метрики, що кожен віртуальний перегляд фіксується.

Передача e-commerce даних через dataLayer

Для інтернет-магазинів критична передача даних про замовлення через dataLayer:

window.dataLayer = window.dataLayer || []; window.dataLayer.push({ ecommerce: { purchase: { actionField: { id: orderId, revenue: total, coupon: couponCode }, products: orderItems.map(item => ({ id: item.productId, name: item.name, price: item.price, quantity: item.qty, brand: item.brand, category: item.category })) } } }); 

«Структура об'єкта ecommerce повинна строго відповідати специфікації Яндекс.Метрики» (офіційна документація) Переконайтеся, що структура точно відповідає — інакше дані не відобразяться у звітах. При помилках перевірте консоль браузера на повідомлення від Метрики.

5 кроків для налаштування e-commerce в Яндекс.Метриці

  1. Додайте масив window.dataLayer на сторінку.
  2. Налаштуйте лічильник з параметром ecommerce: "dataLayer".
  3. При здійсненні покупки надішліть подію ecommerce.purchase.
  4. Перевірте дані у відладчику Метрики.
  5. Переконайтеся, що немає дублюючих викликів push.

JavaScript-цілі для SPA в 2,5 рази точніше URL-цілей, оскільки фіксують будь-які дії, а не тільки зміну URL.

Таблиця типових помилок e-commerce та їх рішень

Помилка Причина Рішення
Дані не відображаються Невірний ID лічильника або порядок виклику Перевірте ініціалізацію, викликайте push після завантаження
Неправильна сума замовлення Невідповідність полів actionField Порівняйте зі специфікацією Яндекс.Метрики
Дублювання покупок Множинний виклик push Додайте прапорець, що блокує повторне відправлення
Відсутні товари products порожній або не масив Перевірте структуру: products має бути масивом об'єктів

Перевірка коректності передачі e-commerce

Використовуйте інструмент «Відладчик» у Яндекс.Метриці. Він покаже, які події надходять і чи є помилки в структурі. Порівняйте кількість відправлених покупок з реальними замовленнями — якщо розбіжність більше 5%, значить, дані втрачаються.

Захист чутливих даних у вебвізорі

Вебвізор записує всі дії, включаючи паролі та номери карток. Додайте клас ym-disable-keys або атрибут data-ym-disable-keys до полів введення:

<input type="password" class="ym-disable-keys" /> <input type="text" name="card_number" data-ym-disable-keys /> 

Також налаштуйте фільтри в інтерфейсі Метрики, щоб виключити сторінки з особистими даними.

Що входить у налаштування під ключ

  • Встановлення лічильника з коректними параметрами
  • Налаштування всіх типів цілей (URL, JS, CSS-селектор)
  • Інтеграція e-commerce через dataLayer
  • Підключення вебвізора та фільтрація даних
  • Тестування у відладчику Метрики
  • Документація з описом всіх подій

Строк базового налаштування: 1–2 робочих дні. Для SPA або складної e-commerce — до 5 днів. На одному проєкті після налаштування dataLayer точність передачі замовлень зросла з 40% до 98%, а вартість залучення клієнта знизилася з 1 200 ₽ до 640 ₽. Маємо сертифікати з налаштування Яндекс.Метрики та гарантію якості на всі роботи. Зв'яжіться з нами для аудиту поточного налаштування — оцінимо коректність і запропонуємо покращення. Замовте налаштування Метрики під ключ, щоб отримати точні дані про конверсії.