Піксель ВК на Бітрікс: запуск без втрат при кешуванні

Піксель ВК на Бітрікс: старт без втрат при кешуванні Типова ситуація: ви вставили код пікселя в шаблон, а він не спрацьовує на кешованих сторінках. Або події не передаються після додавання товару в кошик. Ми вирішуємо це завдання під ключ — від встановлення коду до налаштування фіда для динамічно
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Піксель ВК на Бітрікс: запуск без втрат при кешуванні
Простий
~1 день

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

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

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1466
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    764
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    811
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1167

Піксель ВК на Бітрікс: старт без втрат при кешуванні

Типова ситуація: ви вставили код пікселя в шаблон, а він не спрацьовує на кешованих сторінках. Або події не передаються після додавання товару в кошик. Ми вирішуємо це завдання під ключ — від встановлення коду до налаштування фіда для динамічного ретаргетингу. Оцінимо ваш проєкт за один день і запропонуємо оптимальне рішення.

Піксель ВКонтакте технічно простіший за Facebook, але специфіка Бітрікса створює ті ж проблеми з розміщенням коду та передачею подій. Сам піксель — це JavaScript-лічильник з ID виду VK-RTRG-XXXXXXX-XXXXX, який потрібно не просто вставити на сайт, а правильно інтегрувати з подіями каталогу та оформлення замовлень.

Як встановити код пікселя, щоб він працював при будь-якому кеші?

Код пікселя ВК підключається через <head>. У Бітріксі найстійкіший спосіб — через файл /bitrix/php_interface/init.php з обробником події OnEpilog. Це гарантує виведення коду до закриття </head> незалежно від кешування компонентів:

AddEventHandler("main", "OnEpilog", function() { $vkPixelId = COption::GetOptionString("main", "vk_pixel_id", ""); if (!$vkPixelId) return; ?> <script type="text/javascript"> !function(){var t=document.createElement("script");...}(); VK.Retargeting.Init("<?= htmlspecialchars($vkPixelId) ?>"); VK.Retargeting.Hit(); </script> <?php }); 

ID пікселя зберігайте в b_option через COption::SetOptionString("main", "vk_pixel_id", "VK-RTRG-..."). Не хардкодьте в шаблоні — при перенесенні на інший домен доведеться шукати по всіх файлах. За 5+ років ми налаштували пікселі на 30+ проєктах — цей метод жодного разу не підвів.

Які події потрібні для динамічного ретаргетингу?

ВКонтакте підтримує динамічний ретаргетинг для інтернет-магазинів. Для його роботи потрібен фід товарів та події з прив'язкою до ID товарів з цього фіда.

Ключові події: ViewProduct, AddToCart, InitiateCheckout, Purchase. Кожна подія приймає об'єкт з параметрами:

VK.Retargeting.ProductEvent(pixelId, 'view_product', { products: [{ id: '123', price: 1490 }], currency: 'RUB' }); 
Подія Тригер Параметри
ViewProduct Перегляд картки товару product id, price
AddToCart Додавання в кошик product id, price, quantity
InitiateCheckout Початок оформлення list of products, total
Purchase Успішне замовлення list of products, total, order id

view_product вішається в template.php компонента bitrix:catalog.element. Дані товару берете з $arResult — ID з $arResult["ID"], ціну з $arResult["PRICES"]["BASE"]["PRICE"]. Враховуйте, що при включеному кешуванні компонента PHP-частина не перераховується, але JS-код все одно виконується браузером, тому подія спрацює коректно.

add_to_cart — проблема та ж, що з Facebook: додавання в кошик асинхронне. У стандартному bitrix:catalog.element.buy.ajax після успішної відповіді є колбек BX.addCustomEvent('onBasketChange', ...). Перехоплюєте його і викликаєте VK-подію. Альтернативно — в bitrix:sale.basket.basket при відкритті кошика перевіряєте зміну кількості.

purchase — в компоненті bitrix:sale.order.ajax після завершення замовлення доступний JS-об'єкт з даними. Вішайте подію на успішний callback оформлення. Суму замовлення отримуєте з BX.Sale.OrderAjax або з серверної змінної, яку компонент прокидює в шаблон через $APPLICATION->SetAdditionalCSS.

Налаштування фіда для динамічного ретаргетингу

Без фіда динамічний ретаргетинг не працює. ВКонтакте приймає фід у форматі YML (Яндекс.Маркет) або Google Shopping. У Бітріксі модуль catalog вміє генерувати YML-фід через компонент bitrix:catalog.export.yandex.market або через адміністративний розділ «Експорт товарів» (/bitrix/admin/cat_export.php).

Фід генерується за розкладом через агенти — таблиця b_agent. Для VK потрібен окремий експортний профіль, оскільки вимоги до структури можуть відрізнятися від Яндекс.Маркету. Створюєте його через CCatalogExport, налаштовуєте шаблон фіда під специфікацію ВКонтакте. У 80% випадків достатньо мінімального набору полів: ID, назва, ціна, посилання, зображення. Інші поля (опис, артикул) опціональні.

Що входить в роботу з налаштування пікселя?

При замовленні послуги під ключ ми надаємо:

  • встановлення коду пікселя в обхід кешу через OnEpilog;
  • налаштування 4 обов'язкових подій (ViewProduct, AddToCart, InitiateCheckout, Purchase);
  • створення та налаштування YML-фіда з автоматичною генерацією;
  • перевірку передачі подій через DevTools та кабінет ВК;
  • документацію з описом використаних методів та доступів;
  • навчання вашого маркетолога роботі з пікселем;
  • гарантію коректної роботи протягом 30 днів.

Зв'яжіться з нами — оцінимо ваш проєкт за 1 день. Замовте налаштування та отримайте готовий інструмент для ретаргетингу.

Перевірка подій та типові помилки

У ВКонтакте немає аналога Facebook Pixel Helper. Перевіряйте через «Аудиторії» → «Пікселі» в рекламному кабінеті — там видно активність за останні 24 години та статус коду. Для налагодження подій використовуйте console.log в JS перед викликом VK.Retargeting.ProductEvent та перевіряйте мережеві запити в DevTools — шукайте запити до vk.com/rtrg.

Часта помилка: піксель ініціалізується, але Hit() не викликається на SPA-сторінках або після AJAX-навігації. Якщо сайт використовує bitrix:main.page.switcher, потрібно перевикликати VK.Retargeting.Hit() при зміні сторінки. Ще одна — некоректний ID пікселя: перевірте, що він починається з VK-RTRG- та містить рівно 5 груп символів через дефіс. Ми гарантуємо, що після нашого налаштування ці проблеми виключені.