Электронная к оммерция для Flutter
Краткое содержание
Доступные шаблоны событий
Для интеграции с аналитикой используются два шаблона:
- ECommerceGA4Event — для событий в формате GA4
- ECommerceUAEvent — для событий в формате Universal Analytics
Шаблон ECommerce GA4
В статье описаны шаги для настройки событий:
- Выбрать тип события с помощью
ECommerceGA4Name - Заполнить поля
ECommerceGA4Event
В таблице указаны доступные события и обязательные поля для каждого типа.
Шаблон ECommerce UA
В тексте приведена пошаговая инструкция по настройке событий:
- Выбрать тип события с помощью
ECommerceUAEventName - Указать валюту и заполнить соответствующее действие
В таблице перечислены события и обязательные поля для каждого типа.
Отправка событий
Для отправки событий используется метод:
mtsAnalyticsPlugin.trackEvent(event);
Пример кода демонстрирует, как передать событие в аналитику.
Если вы хотите получать информацию о том, как посетители взаимодействуют с вашими товарами или услугами, вам необходимо настроить отправку событий электронной коммерции. После завершения настройки информация о событиях начнёт поступать в Аналитику и отображаться в отчётах.
Доступные шаблоны событий
Чтобы сделать интеграцию с Аналитикой быстрее и проще, мы подготовили шаблоны, которые вы могли использовать, если передавали данные в GA4 или в Universal Analytics:
- ECommerceGA4Event — подходит, если вы размечали события в формате GA4
- ECommerceUAEvent — подходит, если вы размечали события в формате Universal Analytics
Шаблон ECommerce GA4
Разным действиям пользователей соответствуют разные типы событий:
- Выберите тип события с помощью
ECommerceGA4Name - Заполните необходимые поля
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
Разным действиям пользователей соответствуют разные типы событий:
- Выберите тип события с помощью
ECommerceUAEventName - В
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);