Налаштування пікселів рекламних мереж на 1С-Бітрікс — завдання, з яким стикається кожен власник інтернет-магазину. За статистикою, 70% магазинів на Бітрікс втрачають до 30% конверсії через некоректну передачу подій. Типова ситуація: клієнт вставляє код пікселя в шаблон, події не передаються, рекламні кампанії працюють наосліп. Насправді проблема не в коді — проблема в архітектурі. Потрібно налаштувати правильну послідовність: перегляд товару, додавання в кошик, оформлення замовлення, покупка. Робимо це за 2–5 днів під ключ. За 8 років роботи ми оптимізували понад 150 проєктів з налаштування пікселів на Бітрікс. У цій статті розберемо реальні технічні складнощі та готові рішення.
Проблеми, які вирішуємо
Дублювання подій — один клік генерує 3–5 однакових подій через неправильну обробку ajax-запитів у Бітрікс. Втрата даних про замовлення — на сторінці «Дякую» немає динамічної підстановки суми замовлення, пікселі отримують заглушки. Конфлікти розширень — модулі кешування (композитний сайт) заважають виконанню скриптів пікселів. Ці помилки призводять до того, що рекламні мережі отримують некоректні дані, а бюджет витрачається неефективно. У середньому ми скорочуємо кількість дублів подій на 90%, а CPA знижується на 25-30% після правильного налаштування.
Архітектура: GTM чи пряме встановлення
| Критерій | GTM | Пряме встановлення |
|---|---|---|
| Управління | Маркетолог | Розробник |
| Продуктивність | Додатковий запит | Мінімальна затримка |
| Блокування | Так (AdBlock) | Ні |
| Гнучкість | Висока | Середня |
Ми застосовуємо гібридну схему: через GTM запускаємо основні пікселі для ретаргетингу, критичні конверсії (покупку) передаємо напряму. GTM у 3 рази спрощує управління для маркетолога, але пряме встановлення на 40% швидше завантажується і стійкіше до блокувальників.
Як налаштувати піксель ВКонтакте на Бітрікс?
Код пікселя розміщується в header.php шаблону. Ідентифікатор зберігаємо в налаштуваннях модуля custom:
<?php $vkPixelId = \Bitrix\Main\Config\Option::get('custom', 'vk_pixel_id', ''); ?> <?php if ($vkPixelId): ?> <script> !function(){var t=document.createElement("script");t.type="text/javascript", t.async=!0,t.src='https://vk.com/js/api/openapi.js?169', t.onload=function(){VK.Retargeting.Init("<?= htmlspecialchars($vkPixelId) ?>"), VK.Retargeting.Hit()},document.head.appendChild(t)}(); </script> <noscript><img src="https://vk.com/rtrg?p=<?= htmlspecialchars($vkPixelId) ?>" style="position:fixed;left:-999px;" alt=""/></noscript> <?php endif; ?> Подія add_to_cart викликається в JavaScript-обробнику додавання товару в кошик. Достатньо додати виклик VK.Retargeting.Event('add_to_cart') після успішного ajax-запиту.
Як налаштувати піксель Facebook/Meta на Бітрікс?
Аналогічно, в header.php:
<?php $fbPixelId = \Bitrix\Main\Config\Option::get('custom', 'fb_pixel_id', ''); ?> <?php if ($fbPixelId): ?> <script> !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(t)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '<?= htmlspecialchars($fbPixelId) ?>'); fbq('track', 'PageView'); </script> <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=<?= htmlspecialchars($fbPixelId) ?>&ev=PageView&noscript=1"/></noscript> <?php endif; ?> Подія ViewContent на картці товару додаємо в result_modifier.php компонента catalog.element. Передаємо ID товару, ціну та валюту в JSON-форматі. У шаблоні викликаємо fbq('track', 'ViewContent', data).
Лічильник Яндекс.Метрики з цілями
Встановлення коду в header.php:
<?php $yandexMetrikaId = \Bitrix\Main\Config\Option::get('custom', 'ym_counter_id', ''); ?> <?php if ($yandexMetrikaId): ?> <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)}; var z = m[i],d=e.createElement(t),n=e.getElementsByTagName(t)[0],b=e.location; z.l=1*new Date();d.async=1;d.src=r+'?'+Math.random(); k=function(){n.parentNode.insertBefore(d,n)}; if(e.readyState=='loading'){e.addEventListener('onreadystatechange',k)}else{k()}} (window, document, 'script', 'https://mc.yandex.ru/metrika/tag.js', 'ym')); ym(<?= (int)$yandexMetrikaId ?>, 'init', { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, ecommerce:"dataLayer" }); </script> <?php endif; ?> Цілі встановлюються через інтерфейс Метрики, а події передаються через ym(..., 'reachGoal', ...). Ми налаштовуємо цілі для кожної ключової події: перегляд, кошик, оформлення, покупка.
Піксель TikTok: особливості
Код пікселя TikTok встановлюється аналогічно VK/FB. Головна відмінність — подія ViewContent вимагає передачі content_id та content_type у параметрах. Використовуємо метод ttq.track('ViewContent', { content_id: 'PRODUCT_ID', content_type: 'product' }). Інтеграція займає близько години.
Що робити з Consent Mode?
Згода користувача — обов'язкова умова для роботи пікселів. Реалізуємо через Google Consent Mode v2. За замовчуванням встановлюємо denied для ad_storage та analytics_storage. Після згоди оновлюємо статус:
gtag('consent', 'update', { 'ad_storage': 'granted', 'analytics_storage': 'granted' }); Вибір користувача зберігається в localStorage, щоб не запитувати згоду повторно. Це відповідає вимогам GDPR та 152-ФЗ.
Таблиця відповідності подій
| Подія | VK | FB/Meta | TikTok | Яндекс.Метрика |
|---|---|---|---|---|
| PageView | VK.Retargeting.Hit() | fbq('track','PageView') | ttq.track('PageView') | ym(...,'reachGoal','pageview') |
| ViewContent | VK.Retargeting.Event('view') | fbq('track','ViewContent') | ttq.track('ViewContent') | ym(...,'reachGoal','view') |
| AddToCart | VK.Retargeting.Event('add_to_cart') | fbq('track','AddToCart') | ttq.track('AddToCart') | ym(...,'reachGoal','addtocart') |
| Purchase | VK.Retargeting.Event('purchase') | fbq('track','Purchase') | ttq.track('Purchase') | ym(...,'reachGoal','purchase') |
Що входить у роботу
- Встановлення коду пікселів (VK, FB, TikTok, Yandex, GA)
- Налаштування передачі подій (перегляд, кошик, замовлення, покупка)
- Інтеграція з бонусними програмами та 1С (якщо потрібно)
- Тестування коректності подій у режимі налагодження
- Документація щодо подій та інструкція для маркетолога
- Навчання співробітників роботі з пікселями
Чек-лист типових помилок
- Піксель завантажується до завантаження jQuery — використовуйте defer або window.load.
- Подія покупки не знає суму замовлення — передавайте ID замовлення і завантажуйте дані через API.
- Композитний кеш ріже скрипти — вимикайте кешування для сторінок з подіями.
- Події дублюються через кілька викликів — перевіряйте, що подія викликається один раз.
Процес роботи
- Аналітика — вивчаємо поточні пікселі, налаштування сайту, список необхідних подій.
- Проєктування — вибираємо архітектуру (GTM/пряма), визначаємо місця вставки коду.
- Реалізація — встановлюємо код, налаштовуємо події.
- Тестування — перевіряємо через Pixel Helper, Facebook Events Manager, Яндекс.Метрику.
- Деплой — викатуємо на продакшен, проводимо A/B-тест конверсій.
Строки та вартість
Строки залежать від кількості пікселів та подій. Зазвичай від 2 до 5 робочих днів. Вартість розраховується індивідуально після аудиту поточної ситуації. Ми гарантуємо, що всі події будуть передаватися коректно та без дублів. Отримайте консультацію — оцінимо ваш проєкт і запропонуємо оптимальне рішення. Замовте налаштування пікселів на Бітрікс під ключ. Для точного розрахунку зв'яжіться з нами.







