Перейти к основному содержимому

Электронная коммерция для Flutter

Краткое содержание

Доступные шаблоны событий
Для интеграции с аналитикой используются два шаблона:

  • ECommerceGA4Event — для событий в формате GA4
  • ECommerceUAEvent — для событий в формате Universal Analytics

Шаблон ECommerce GA4
В статье описаны шаги для настройки событий:

  1. Выбрать тип события с помощью ECommerceGA4Name
  2. Заполнить поля ECommerceGA4Event

В таблице указаны доступные события и обязательные поля для каждого типа.

Шаблон ECommerce UA
В тексте приведена пошаговая инструкция по настройке событий:

  1. Выбрать тип события с помощью ECommerceUAEventName
  2. Указать валюту и заполнить соответствующее действие

В таблице перечислены события и обязательные поля для каждого типа.

Отправка событий
Для отправки событий используется метод:

mtsAnalyticsPlugin.trackEvent(event);  

Пример кода демонстрирует, как передать событие в аналитику.

Если вы хотите получать информацию о том, как посетители взаимодействуют с вашими товарами или услугами, вам необходимо настроить отправку событий электронной коммерции. После завершения настройки информация о событиях начнёт поступать в Аналитику и отображаться в отчётах.

Доступные шаблоны событий

Чтобы сделать интеграцию с Аналитикой быстрее и проще, мы подготовили шаблоны, которые вы могли использовать, если передавали данные в GA4 или в Universal Analytics:

  • ECommerceGA4Event — подходит, если вы размечали события в формате GA4
  • ECommerceUAEvent — подходит, если вы размечали события в формате Universal Analytics

Шаблон ECommerce GA4

Разным действиям пользователей соответствуют разные типы событий:

  1. Выберите тип события с помощью ECommerceGA4Name
  2. Заполните необходимые поля ECommerceGA4Event
final ecommerceGA4EventItem = ECommerceGA4EventItem(
itemId: 'id123',
itemName: 'Watermelon',
itemListName: 'Fruits',
itemListId: '123145',
index: '1',
itemBrand: 'MyFarmerMarket',
itemCategory: 'Food',
itemCategory2: 'Fruits',
itemCategory3: 'Green',
itemCategory4: 'Round',
itemCategory5: '10kg',
itemVariant: 'Medium',
affiliation: 'online store',
discount: '15%',
coupon: 'SUMMER24',
price: '230',
currency: 'RUB',
quantity: '1',
creativeName: 'fruit adv',
creativeSlot: 'top',
promotionId: '098e',
promotionName: 'Summer Season',
customDimensions: {'customParameter1': '1'},
);

final ga4EventItemNullProp = ECommerceGA4EventItem(
itemId: 'id123',
itemName: 'Watermelon',
itemListName: null,
itemListId: null,
index: null,
itemBrand: null,
itemCategory: null,
itemCategory2: null,
itemCategory3: null,
itemCategory4: null,
itemCategory5: null,
itemVariant: null,
affiliation: null,
discount: null,
coupon: null,
price: null,
currency: null,
quantity: null,
creativeName: null,
creativeSlot: null,
promotionId: null,
promotionName: null,
customDimensions: {'customParameter1': null},
);

final event = ECommerceGA4Event(
eventName: eventName,
transactionId: '1234',
affiliation: 'online store',
value: '230',
currency: 'RUB',
tax: '10',
shipping: 'ground',
shippingTier: '1',
paymentType: 'credit card',
coupon: 'SUMMER24',
itemListName: 'Fruits',
itemListId: '123145',
items: [
ecommerceGA4EventItem,
ga4EventItemNullProp,
],
creativeName: 'fruit adv',
creativeSlot: 'top',
promotionId: '098e',
promotionName: 'Summer Season',
customDimensions: {'customParameter2': 2},
);
mtsAnalyticsPlugin.trackEvent(event);

Доступные опции ECommerceGA4Name:

ОпцияОписаниеОбязательные поля
add_payment_infoПользователь выбрал способ оплатыМассив ECommerceGA4Item
add_shipping_infoПользователь выбрал способ доставкиМассив ECommerceGA4Item
add_to_cartПользователь добавляет товар в корзину из карточки товара или любых других товарных блоковМассив ECommerceGA4Item
add_to_wishlistПользователь добавляет товар в избранноеМассив ECommerceGA4Item
begin_checkoutПользователь переходит на страницу оформления заказаМассив ECommerceGA4Item
purchaseПользователь совершил покупку. Такое событие должно срабатывать только один раз для оформленного заказа.Массив ECommerceGA4Item
refundПользователь возвращает покупкуПри полном возврате — transactionId. При частичном возврате — массив ECommerceGA4Item
remove_from_cartПользователь удаляет товар из корзиныМассив ECommerceGA4Item
select_itemПользователь кликает по товарам в каталоге, в выдаче поиска, в товарных блоках и других спискахМассив ECommerceGA4Item
select_promotionПользователь кликает на рекламные кампанииМассив ECommerceGA4Item
view_cartПользователь просматривает корзинуМассив ECommerceGA4Item
view_itemПользователь просматривает карточку товараМассив ECommerceGA4Item
view_item_listПользователь просматривает список товаровМассив ECommerceGA4Item
view_promotionПользователь просматривает рекламные кампании на страницеМассив ECommerceGA4Item

Шаблон ECommerce UA

Разным действиям пользователей соответствуют разные типы событий:

  1. Выберите тип события с помощью ECommerceUAEventName
  2. В ECommerceUAEventукажите код валюты currencyCode и добавьте подходящее действие пользователя. Например, currencyCode = "RUB", для eventName = ECommerceUAName.Add заполните ECommerceUA.add
final event = ECommerceUAEvent(
eventName: eventName,
customDimensions: {'customParameter5': 23.8},
ecommerceParameters:{'customecommerceParameters':'value1'},
ecommerce: ECommerceUAEventName.checkoutOption,
currencyCode: 'RUB',
);
mtsAnalyticsPlugin.trackEvent(event);

Доступные опции ECommerceUAEventName:

ОпцияОписаниеОбязательные поля
checkout_optionПользователь выбрал способ оплаты или доставкиActionField в CheckoutOption
addПользователь добавляет товар в корзину из карточки товара или любых других товарных блоковМассив Product в Add. В каждом Product заполнены поля name и id
checkoutПользователь переходит на страницу оформления заказаМассив Product в Checkout. В каждом Product заполнены поля name и id
purchaseПользователь добавляет товар в корзину из карточки товара или любых других товарных блоковActionField в Purchase, поля id и revenue. Массив Product в Purchase, поля name и id
refundПользователь возвращает покупкуActionField в Refund. При полном возврате — поле id, при частичном — поля id и quantity в Product
removeПользователь удаляет товар из корзиныМассив Product в Remove. В каждом Product — поля name и id
clickПользователь кликает по товарам в каталоге, в выдаче поиска, в товарных блоках и в других спискахМассив Product в Click. В каждом Product — поля name и id
promoClickПользователь кликает на рекламные кампанииМассив Promotions в PromoClick
detailПользователь просматривает карточку товараМассив Product в Product. В каждом Product — поля name и id
impressionsПользователь просматривает список товаровПоля name и id в Product
promoViewПользователь просматривает рекламные кампании на страницеМассив Promotions в PromoView. В каждом Promotion — поля name и id

Структура ActionField

ActionField {
"id": "id",
// optional, идентификатор транзакции. Обязателен при заполнении структур Purchase и Refund
"affiliation": "affiliation",
// optional, магазин или филиал, в котором была совершена транзакция
"revenue": "revenue",
// optional, денежная ценность события в указанной валюте. Обязателен при заполнении Purchase структуры
"tax": "tax",
// optional, сумма налога
"shipping": "shipping",
// optional, стоимость доставки
"coupon": "coupon",
// optional, код купона
"step": "step",
// optional, шаг воронки ecom
"option": "option",
// optional, выбранный способ оплаты
"list": "list",
// optional, название списка, в который входит товар
"custom_param_1": "value1",
// optional
"custom_param_2": "value2"
// optional
}

Структура Product

Product {
"id": "id",
// required, идентификатор или код товара (SKU)
"name": "name",
// required, название товара
"price": "price",
// optional, цена товара
"brand": "brand",
// optional, бренд, к которому относится товар
"category": "category",
// optional, категория, к которой относится товар
"variant": "variant",
// optional, вариант товара
"quantity": "quantity",
// optional, количество единиц товара
"coupon": "coupon",
// optional, код купона
"list": "list",
// optional, название списка, в который входит товар
"position": "position",
// optional, позиция товара в списке
"custom_param_1": "value1",
// optional
"custom_param_2": "value2"
// optional
}

Структура Promotion

Promotion {
"id": "id",
// required
"name": "name",
// required
"creative": "creative",
// optional
"position": "position",
// optional
}

Отправка событий

Метод отправки событий

mtsAnalyticsPlugin.trackEvent(event);