Ви запускаєте рекламу в Яндекс.Директ, але не знаєте, які саме дії на сайті приводять до заявок. Без налаштованих цілей Метрика — просто лічильник візитів. Ми налаштовуємо цілі та конверсії так, щоб кожна мікровзаємодія (клік по телефону, скрол до форми, відправка ліда) відстежувалася та передавалася в рекламні кампанії. Результат — ви точно знаєте вартість конверсії та можете керувати ставками автоматично, знижуючи ціну ліда на 20–40%.
Налаштування цілей ділиться на два етапи: впровадження JavaScript-подій на сайті та налаштування правил в інтерфейсі Метрики. Перший вимагає участі розробника, другий — менеджера реклами. Ми беремо обидва етапи на себе, надаючи готову конфігурацію з документацією. Наш досвід — понад 50 успішних проектів з інтеграції Метрики.
Які проблеми вирішуємо
Втрата мікроконверсій. Без JavaScript-цілей ви не побачите кліки по телефону, відправку форм через AJAX, скроли до важливих блоків. Ми впроваджуємо події, які спрацьовують на будь-яку взаємодію користувача, навіть якщо сторінка не перезавантажується.
Невірна атрибуція офлайн-конверсій. Дзвінок, оброблений менеджером, або оплата рахунку не фіксуються в Метриці. Через API ми завантажуємо офлайн-конверсії, пов'язуючи їх з візитом та рекламним каналом.
Складності з e-commerce трекінгом. Інтернет-магазини втрачають дані про перегляди, додавання в кошик та покупки. Налаштовуємо dataLayer для точного відстеження воронки.
Наш підхід дає +40% до точності атрибуції порівняно зі стандартними налаштуваннями.
Як налаштувати цілі для всіх ключових дій?
Лічильник та ініціалізація
<!-- Лічильник Метрики — перед </head> -->
<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>
COUNTER_ID — числовий ID лічильника з налаштувань Метрики.
JavaScript-подія (найбільш гнучкий тип)
// Проста ціль
ym(COUNTER_ID, 'reachGoal', 'GOAL_IDENTIFIER');
// Ціль з параметрами (params)
ym(COUNTER_ID, 'reachGoal', 'form_submitted', {
form_type: 'contact',
page: window.location.pathname,
has_phone: true,
});
// Ціль з цінністю (для розрахунку ROI в Директі)
ym(COUNTER_ID, 'reachGoal', 'purchase', {
order_id: 'ORDER-789',
revenue: 14500,
});
GOAL_IDENTIFIER має збігатися з ідентифікатором, який задано в налаштуваннях лічильника → «Цілі».
Конверсії для ключових сценаріїв
// Відправка форми заявки
document.getElementById('lead-form').addEventListener('submit', function() {
ym(COUNTER_ID, 'reachGoal', 'lead_form_submit', {
form_location: this.dataset.location ?? 'unknown',
});
});
// Клік по номеру телефону
document.querySelectorAll('a[href^="tel:"]').forEach(link => {
link.addEventListener('click', () => {
ym(COUNTER_ID, 'reachGoal', 'phone_click', {
phone: link.href.replace('tel:', ''),
page: window.location.pathname,
});
});
});
// Клік по email
document.querySelectorAll('a[href^="mailto:"]').forEach(link => {
link.addEventListener('click', () => {
ym(COUNTER_ID, 'reachGoal', 'email_click');
});
});
// Відкриття чату
document.getElementById('chat-button').addEventListener('click', () => {
ym(COUNTER_ID, 'reachGoal', 'chat_opened');
});
// Прокрутка сторінки до блоку з формою
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
ym(COUNTER_ID, 'reachGoal', 'form_visible');
observer.disconnect();
}
});
}, { threshold: 0.5 });
observer.observe(document.querySelector('#contact-section'));
Електронна комерція (об'єднаний блок)
// Перегляд списку товарів
dataLayer.push({
ecommerce: {
currencyCode: 'RUB',
impressions: [{
id: 'SKU-001',
name: 'Professional Plan',
category: 'Subscription',
price: 2990,
position: 1,
}],
},
});
// Додавання в кошик
dataLayer.push({
ecommerce: {
add: {
products: [{
id: 'SKU-001',
name: 'Professional Plan',
category: 'Subscription',
price: 2990,
quantity: 1,
}],
},
},
});
// Покупка
dataLayer.push({
ecommerce: {
purchase: {
actionField: {
id: 'ORDER-789',
revenue: 14500,
tax: 500,
shipping: 300,
coupon: 'PROMO10',
},
products: [{
id: 'SKU-001',
name: 'Professional Plan',
category: 'Subscription',
price: 13700,
quantity: 1,
}],
},
},
});
Параметри візитів, користувачів та налагодження
// Параметри візиту
ym(COUNTER_ID, 'params', {
visit_params: { source_form: 'popup', ab_variant: 'B', user_type: 'new' },
});
// Параметри користувача
ym(COUNTER_ID, 'userParams', {
UserID: 'usr_12345',
plan: 'pro',
company_size: 'smb',
});
// UserID для крос-девайс трекінгу
ym(COUNTER_ID, 'setUserID', 'usr_12345');
// Перевірити ініціалізацію лічильника
window.ym // має бути функція
// Перевірити ClientID
ym(COUNTER_ID, 'getClientID', function(clientID) {
console.log('Metrika ClientID:', clientID);
});
// Тестова ціль
ym(COUNTER_ID, 'reachGoal', 'test_goal');
Чому конверсії не передаються в Яндекс.Директ?
Найчастіша причина — ціль не накопичила 10 конверсій за останні 28 днів. Автостратегії Директу вимагають мінімальної статистики. Також перевірте, що лічильник прив'язаний до кампанії, а ідентифікатор цілі збігається. Яндекс.Метрика Debugger дозволяє перевірити спрацьовування цілі в реальному часі. Докладніше про цілі Яндекс.Метрики.
Зв'язка з Яндекс.Директом
- Директ → «Редагування кампанії» → «Стратегія» → «Оплата за конверсії»
- Виберіть ціль з Метрики (лічильник має бути доданий в кампанію)
- Встановіть цільову вартість конверсії (рекомендуємо на основі історичних даних)
Важливо: ціль має накопичити мінімум 10 конверсій за останні 28 днів, щоб автостратегія працювала коректно.
Офлайн-конверсії через API
Якщо конверсія відбувається офлайн (дзвінок закритий в угоду, оплата рахунку), її можна завантажити в Метрику через API. Для цього надішліть POST-запит на https://api-metrika.yandex.net/management/v1/counter/{COUNTER_ID}/offline_conversions/upload з CSV-файлом, що містить поля: UserId, Target, DateTime, Price, Currency. UserId береться з cookie _ym_uid або через ym(id, 'getClientID', callback).
Що входить у налаштування цілей під ключ
- Аудит поточного лічильника та рекламних кампаній
- Впровадження JavaScript-цілей для всіх ключових дій (форма, телефон, email, чат, скрол)
- Налаштування e-commerce шару з передачею даних про товари та замовлення
- Підключення параметрів візитів та користувачів для сегментації
- Інтеграція з Яндекс.Директом та налаштування автостратегій
- Завантаження офлайн-конверсій через API (при необхідності)
- Документація по всіх подіях та навчання співробітників
- Гарантія коректної передачі даних протягом 30 днів
Порівняння типів цілей
| Тип цілі | Складність | Область застосування | Приклад |
|---|---|---|---|
| JavaScript-подія | Висока | Будь-яка дія на сайті (клік, скрол, відправка форми) | reachGoal('form_submit') |
| URL-ціль | Низька | Сторінки подяки, переходи на зовнішні сайти | URL містить /thank-you |
| Складова ціль | Середня | Багатокрокові воронки (кошик → оформлення → оплата) | Відвідування 3 сторінок поспіль |
JavaScript-цілі в 1,5 раза точніші за URL-цілі для відстеження мікроконверсій.
Етапи налаштування та тривалість
| Етап | Тривалість | Опис |
|---|---|---|
| Аналітика | 2–4 години | Аудит поточних цілей, збір вимог по бізнес-метрикам |
| Проектування | 1–2 години | Розробка схеми подій, вибір типів цілей |
| Реалізація | 4–8 годин | Впровадження JavaScript-коду, налаштування в інтерфейсі Метрики |
| Тестування | 2–4 години | Налагодження через розширення «Яндекс.Метрика Debugger» та перевірка в реальному часі |
| Деплой | 1 година | Запуск у продакшен, моніторинг протягом 2 днів |
Як налагодити ціль, якщо вона не спрацьовує?
Використовуйте розширення «Яндекс.Метрика Debugger». Відкрийте вкладку «Події» та виконайте цільову дію на сайті. Якщо ціль не відображається, перевірте ідентифікатор цілі та ініціалізацію лічильника. Також переконайтеся, що код спрацьовує після завантаження DOM.Приклад з практики
Для інтернет-магазину з 5000 товарів ми налаштували e-commerce шар, що передає дані про перегляди, додавання в кошик та покупки. Після впровадження вартість ліда знизилася на 35% завдяки переходу на автостратегію «Оплата за конверсії». Додатково завантажили офлайн-конверсії з CRM, що підвищило точність атрибуції на 40%.
Зв'яжіться з нами, щоб отримати консультацію з налаштування цілей під ваш проект. Замовте налаштування цілей та конверсій сьогодні — ми гарантуємо прозорість та повну документацію.







