Настройка пикселя ВКонтакте на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка пикселя ВКонтакте на 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1181
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    813
  • 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 Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка пикселя ВКонтакте на 1С-Битрикс

Пиксель ВКонтакте технически проще 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-..."). Не хардкодьте в шаблоне — при переносе на другой домен придётся искать по всем файлам.

События для динамического ретаргетинга

ВКонтакте поддерживает динамический ретаргетинг для интернет-магазинов. Для его работы нужен фид товаров и события с привязкой к 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-объект с данными. Вешайте событие на успешный 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, настраиваете шаблон фида под спецификацию ВКонтакте.

Проверка событий

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

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