Налаштування ретаргетингу кинутих кошиків 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С-Бітрікс

Ретаргетинг покинутих кошиків — це показ реклами конкретного товару тому користувачу, який додав його в кошик, але не оплатив. У Яндекс.Директ — через Яндекс.Аудиторії або Goals, у Google Ads — через Audience Manager. На Бітрікс потрібно правильно передати події та ідентифікатори в рекламні системи.

Клієнтські події для рекламних пікселів

Яндекс.Метрика ecommerce — основа для ретаргетингу в Яндекс.Директ:

// При додаванні в кошик
BX.addCustomEvent('onBasketItemAdded', function(data) {
    window.dataLayer = window.dataLayer || [];
    dataLayer.push({
        'ecommerce': {
            'currencyCode': 'RUB',
            'add': {
                'products': [{
                    'id':       String(data.productId),
                    'name':     data.productName,
                    'price':    data.price,
                    'quantity': data.quantity,
                    'category': data.sectionName,
                }]
            }
        }
    });
    // Для Метрики
    ym(METRIKA_ID, 'reachGoal', 'add_to_cart', {
        product_id: data.productId,
        price:      data.price,
    });
});

Facebook Pixel / Meta Pixel (для міжнародного трафіку):

BX.addCustomEvent('onBasketItemAdded', function(data) {
    fbq('track', 'AddToCart', {
        content_ids:  [String(data.productId)],
        content_type: 'product',
        value:        data.price * data.quantity,
        currency:     'RUB',
    });
});

Google Ads Remarketing Tag:

BX.addCustomEvent('onBasketItemAdded', function(data) {
    gtag('event', 'add_to_cart', {
        items: [{
            id:       String(data.productId),
            google_business_vertical: 'retail',
        }],
    });
});

Отримання даних з Бітрікс для подій

У шаблоні компонента catalog.element дані товару доступні через $arResult. Передайте їх у JS-змінні в result_modifier.php або в template.php:

// У result_modifier.php компонента catalog.element
global $APPLICATION;
$APPLICATION->AddHeadScript('');

// Або безпосередньо в template.php
$productData = [
    'id'          => $arResult['ID'],
    'name'        => $arResult['NAME'],
    'price'       => $arResult['CATALOG_PRICE_1'] ?? 0,
    'category'    => $arResult['SECTION']['NAME'] ?? '',
    'sku'         => $arResult['PROPERTIES']['ARTICLE']['VALUE'] ?? '',
];
<!-- У template.php -->
<script>
window.currentProduct = <?= json_encode($productData, JSON_UNESCAPED_UNICODE) ?>;
</script>

Потім у JavaScript кнопки «В кошик» використовуєте window.currentProduct для подій.

Динамічний ретаргетинг: фід товарів

Для показу саме того товару, що лежить у кошику (а не просто ремаркетингу на всіх відвідувачів), рекламні системи вимагають товарний фід.

Яндекс.Бізнес / Директ — фід у форматі YML:

// /local/api/yml-feed.php
require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php';
\Bitrix\Main\Loader::includeModule('iblock');
\Bitrix\Main\Loader::includeModule('catalog');

header('Content-Type: application/xml; charset=utf-8');
$date = date('Y-m-d H:i');
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo "<yml_catalog date=\"{$date}\">\n<shop>\n";
echo "<name>Назва магазину</name>\n";
echo "<company>ТОВ Компанія</company>\n";
echo "<url>" . SITE_SERVER_NAME . "</url>\n";
echo "<currencies><currency id=\"RUR\" rate=\"1\"/></currencies>\n";
echo "<offers>\n";

$res = \CIBlockElement::GetList(
    ['SORT' => 'ASC'],
    ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'ACTIVE' => 'Y'],
    false,
    ['nPageSize' => 5000],
    ['ID', 'NAME', 'DETAIL_PAGE_URL', 'PREVIEW_PICTURE', 'CATALOG_PRICE_1']
);

while ($el = $res->GetNextElement()) {
    $f    = $el->GetFields();
    $p    = $el->GetProperties(['ARTICLE', 'BRAND']);
    $img  = $f['PREVIEW_PICTURE'] ? \CFile::GetPath($f['PREVIEW_PICTURE']) : '';
    $url  = SITE_SERVER_NAME . $f['DETAIL_PAGE_URL'];
    $price = $f['CATALOG_PRICE_1'] ?? 0;
    if (!$price) continue;

    echo "<offer id=\"{$f['ID']}\" available=\"true\">\n";
    echo "  <url>" . htmlspecialchars($url) . "</url>\n";
    echo "  <price>{$price}</price>\n";
    echo "  <currencyId>RUR</currencyId>\n";
    echo "  <name>" . htmlspecialchars($f['NAME']) . "</name>\n";
    if ($img) echo "  <picture>" . htmlspecialchars(SITE_SERVER_NAME . $img) . "</picture>\n";
    echo "</offer>\n";
}

echo "</offers>\n</shop>\n</yml_catalog>";

Фід кешуйте — не генеруйте при кожному запиті. Кеш на 4–8 годин через CPHPCache або через агент, що зберігає файл.

Google Merchant Center — фід у форматі Google Product:

Структура аналогічна, але формат — Google Spreadsheet CSV або XML з простором імен Google. Ключові поля: id, title, description, link, image_link, price, availability, google_product_category.

Сегментація аудиторій у Яндекс.Метриці

У Метриці створіть сегменти для ретаргетингу:

  • «Додали в кошик, не купили» — досягли цілі add_to_cart, не досягли order_complete за останні 30 днів
  • «Переглядали категорію X» — відвідували URL /catalog/electronics/, не купили

Ці сегменти експортуються в Яндекс.Аудиторії та використовуються в Директ для налаштування показів.

Налаштування кампаній у Яндекс.Директ

У Директ оберіть тип «Динамічні оголошення» або «Смарт-банери». Підключіть фід YML, налаштуйте аудиторію — сегмент «додали в кошик». Ставка для цієї аудиторії зазвичай у 1.5–2 рази вища, ніж для холодного трафіку — користувач вже знайомий з товаром.

Терміни: налаштування пікселів та подій — 1 день. Розробка фіду YML — 1–2 дні. Налаштування аудиторій та кампаній у рекламних системах — 1–2 дні.