Формат eCommerce-данных

В общем случае eCommerce-объект характеризуется следующими полями:

ПолеТипОписание

ecommerce

object

Обязательное поле. Контейнер полей-параметров eCommerce-объекта.

currencyCode

string

Трехбуквенный код валюты по ISO 4217. Если передается иная валюта, будут отправлены нулевые значения вместо валюты и суммы. Указывается в коде в качестве параметра поля ecommerce.

<actionType>

string

Идентификатор действия, произведённого с набором товаров. Указывается в коде в качестве параметра поля ecommerce. Возможные значения: click – клик по товару (ссылке на товар); detail – просмотр полного описания (карточки) товара; add – добавление товара в корзину; remove – удаление товара из корзины; checkout – переход к оформлению покупки; checkout_option – выбор пользователя на определенном этапе оформления покупки; purchase – покупка товара; refund – возврат одного или нескольких товаров.

actionField

object <actionField>​

Дополнительные данные, описывающие действие, произведённое с товаром или набором товаров. Данные передаются в виде объекта <actionField>. Поле обрабатывается, только для данных о покупках (<actionType>=purchase). Указывается в коде в качестве параметра поля <actionType>.

products

Список описаний товаров, с которыми было произведено указанное действие. Данные обязательны для событий <actionType>. Описание каждого из товаров представляет собой объект вида <productFieldObject>. Указывается в коде в качестве параметра поля <actionType>.

impressions

Список описаний товаров, относящихся к действию impressions (показ товара или набора товаров). Указывается в коде в качестве параметра поля ecommerce. Данные передаются в виде объекта <productFieldObject>. Надо передавать в следующих случаях: просмотр каталога, загрузка главной страницы, просмотр разделов (и подразделов) сайта с товарами. ВНИМАНИЕ! Следует передавать только те товары, которые действительно были показаны на странице, а не в принципе подгрузились. Например, если в блоке «Новинки» показывается по 3 товара за раз, а дальше карусель, нужно передавать 3 товара в первый момент, а не, например, 8, которые были предзагружены.

<promoActionType>

string

Идентификатор промо-действия, произведённого с набором товаров. Возможные значения: promoView, promoClick.

promotions

Массив данных, описывающих связанное с рекламной акцией действие <promoActionType>. Данные передаются в виде объекта <promoFieldObject>. Указывается в коде в качестве параметра поля <promoActionType>/

Вложенность параметров eCommerce-объекта в общем случае следующая:

window.dataLayer.push({
    ecommerce: {
        currencyCode: '<код валюты по ISO 4217>',
        <actionType> : {
            actionField : <actionField>,
            products : [<productFieldObject>, <productFieldObject>, …]
        },
        impressions : [<productFieldObject>, <productFieldObject>, …],
        <promoActionType> : {
            promotions : [<promoFieldObject>, <promoFieldObject>, …]
        }
    }
});

Какие именно группы полей отправлять зависит от конкретной ситуации/события.

Так, например, при отображении страницы с каталогом товаров и рекламным объявлением следует передавать impressions c перечнем показанных товаров и promoView в качестве <promoActionType> с данными по рекламе:

window.dataLayer.push({
    ecommerce: {
        currencyCode: '<код валюты по ISO 4217>',
        impressions : [<productFieldObject>, <productFieldObject>, …],
        promoView : {
            promotions : [<параметры конкретной рекламы в формате promoFieldObject>]
        }
    }
});

При клике по конкретному товару из списка результатов поиска –click в качестве <actionType> c данными по товару и, например, названием блока «Результаты поиска»:

window.dataLayer.push({
    ecommerce: {
        currencyCode: '<код валюты по ISO 4217>',
        click : {
            actionField : {
                list = 'Результаты поиска'
            },
            products : [<параметры конкретного товара в формате productFieldObject>]
        }
    }
});

Рекомендации по тому, какие группы полей для каких ситуаций и событий передавать, приводятся в разделе «Рекомендации по передаче eCommerce-данных».

Структура объекта <productFieldObject> с описанием товара:

ПолеТипОписание

id

string

Обязательное поле. Идентификатор товара. Пример: «SKU».

name

string

Название товара. Пример: «Футболка». Поле опциональное, но рекомендуется его передавать.

list

string

Название блока, куда входит/ отображается товар. Пример: «Результаты поиска», «Вы недавно смотрели», «Вам также могут понравиться».

brand

string

Бренд, торговая марка, ассоциированная с товаром. Пример: «Печки-лавочки».

category

string

Категория, к которой относится товар. Поддерживается иерархия категорий до 5 уровней вложенности. Разделителем уровней является символ «/». Пример: «Одежда/Мужская одежда/Футболки».

coupon

string

Промокод, ассоциированный с товаром. Пример: «PARTNER_SITE_15».

position

number

Положение товара в списке. Пример: «2».

price

number

Итоговая стоимость единицы товара с учетом всех скидок.

quantity

integer

Количество единиц товара.

variant

string

Разновидность товара. Пример: «Красный цвет».

Структура объекта <promoFieldObject> с данными о рекламной акции:

ПолеТипОписание

id

string

Обязательное поле. Идентификатор рекламной акции. Пример: «PROMO12».

name

string

Название рекламной акции. Пример: «Сезонная распродажа». Поле опциональное, но рекомендуется его передавать.

creative

string

Cвязанное с рекламной акцией объявление. Пример: «sale_banner1».

position

string

Позиция объявления. Пример: «slot_2».

Структура объекта с данными о действии <actionField>:

ПолеТипОписание

id

string

Обязательное поле. Идентификатор покупки. Пример: «TRX#54321».

coupon

string

Промокод, ассоциированный со всей покупкой целиком.

revenue

number

Полученный доход. Если не указан, вычисляется автоматически как сумма цен всех товаров, ассоциированных с покупкой.

affiliation

string

Магазин или филиал, в котором произошла транзакция.

tax

number

Сумма всех налогов для данной покупки.

shipping

number

Стоимость доставки данной покупки.

list

string

Название блока, куда входят/отображаются товары из данной покупки. Примеры: «Новинки», «Результаты поиска».

step

number

Число, представляющее этап последовательности покупки. Передается для действий типа checkout и checkout_option.

option

string

Дополнительное поле, передаваемое для действий типа checkout и checkout_option. Предоставляет информацию о выборе пользователя на определенном этапе оформления покупки (например, о выбранном способе оплаты).

Last updated