Налаштування пікселя ВКонтакте на 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування пікселя ВКонтакте на 1С-Бітрікс
Проста
~1 робочий день
Часті питання

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

Етапи розробки

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

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування пікселя ВКонтакте на 1С-Bitrix

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

Базова установка без втрат при кешуванні

Код пікселя ВК підключається через <head>. У Bitrix найбільш стійкий способ — через файл /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-..."). Не жорстко кодуйте в шаблоні — при переносі на інший домен доведеться шукати по всіх файлах.

Події для динамічного ретаргетингу

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

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

VK.Retargeting.ProductEvent(pixelId, 'view_product', {
    products: [{ id: '123', price: 1490 }],
    currency: 'RUB'
});

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-об'єкт з даними. Вішаєте подію на успішний колбек оформлення. Суму замовлення отримуйте з BX.Sale.OrderAjax або з серверної змінної, яку компонент прокидає в шаблон через $APPLICATION->SetAdditionalCSS.

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

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

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

Перевірка подій

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

Частої помилка: піксель інціалізується, але Hit() не викликається на SPA-сторінках або після AJAX-навігації. Якщо сайт використовує bitrix:main.page.switcher, потрібно перевикликувати VK.Retargeting.Hit() при зміні сторінки.