Электронная к оммерция для iOS
Краткое содержание
Для отслеживания взаимодействия пользователей с товарами или услугами необходимо настроить отправку событий электронной коммерции. После настройки информация будет поступать в Аналитику и отображаться в отчётах.
Доступные шаблоны событий
Для упрощения интеграции с Аналитикой предлагаются два шаблона:
- MTECommerceGA4 — для событий в формате GA4
- MTECommerceUA — для событий в формате Universal Analytics
Шаблон MTECommerceGA4Event
Каждому действию пользователя соответствует определённый тип события:
- Выберите тип события с помощью
MTECommerceGA4EventName - Заполните поля
MTECommerceGA4Event
В статье приведён список доступных событий (например, add_to_cart, purchase, view_item) с указанием обязательных полей. Также описаны параметры MTECommerceGA4EventItem для описания товаров или услуг.
Шаблон MTECommerceUAEvent
Для событий в формате Universal Analytics:
- Выберите тип события с помощью
MTEcommerceUAEventName - Укажите действие пользователя (например,
add,checkout,purchase) и заполните соответствующие поля
В статье описаны доступные события (например, add, refund, click) и структуры данных, такие как ActionField, Product, Promotion.
Отправка событий
Для отправки события используется метод:
mtsAnalytics?.track(event: event)
Если вы хотите получать информацию о том, как посетители взаимодействуют с вашими товарами или услугами, вам необходимо настроить отправку событий электронной коммерции. После завершения настройки информация о событиях начнёт поступать в Аналитику и отображаться в отчётах.
Доступные шаблоны событий
Чтобы сделать интеграцию с Аналитикой быстрее и проще, мы подготовили шаблоны, которые вы могли использовать, если передавали данные в GA4 или в Universal Analytics:
- MTECommerceGA4 — подходит, если вы размечали события в формате GA4
- MTECommerceUA — подходит, если вы размечали события в формате Universal Analytics
Шаблон MTECommerceGA4Event
Разным действиям пользователей соответствуют разные типы событий:
- Выберите тип события с помощью
MTECommerceGA4EventName - Заполните необходимые поля
MTECommerceGA4Event
let event = MTECommerceGA4Event(
eventName: MTECommerceGA4EventName,
parameters: [String: Any?]?,
transactionId: String?,
affiliation: String?,
value: String?,
currency: String?,
tax: String?,
shipping: String?,
shippingTier: String?,
paymentType: String?,
coupon: String?,
itemListName: String?,
itemListId: String?,
items: [MTECommerceGA4EventItem]?,
creativeName: String?,
creativeSlot: String?,
promotionId: String?,
promotionName: String?
)
Доступные опции MTECommerceGA4EventName:
| Опция | Описание | Обязательные поля |
|---|---|---|
| add_payment_info | Пользователь выбрал способ оплаты | Массив MTECommerceGA4EventItem |
| add_shipping_info | Пользователь выбрал способ доставки | Массив MTECommerceGA4EventItem |
| add_to_cart | Пользователь добавляет товар в корзину из карточки товара или любых других товарных блоков | Массив MTECommerceGA4EventItem |
| add_to_wishlist | Пользователь добавляет товар в избранное | Массив MTECommerceGA4EventItem |
| begin_checkout | Пользователь переходит на страницу оформления заказа | Массив MTECommerceGA4EventItem |
| purchase | Пользователь совершил покупку. Такое событие должно срабатывать только один раз для оформленного заказа. | Массив MTECommerceGA4EventItem |
| refund | Пользователь возвращает покупку | При полном возврате — transactionId. При частичном возврате — массив MTECommerceGA4EventItem |
| remove_from_cart | Пользователь удаляет товар из корзины | Массив MTECommerceGA4EventItem |
| select_item | Пользователь кликает по товарам в каталоге, в выдаче поиска, в товарных блоках и других списках | Массив MTECommerceGA4EventItem |
| select_promotion | Пользователь кликает на рекламные кампании | Массив MTECommerceGA4EventItem |
| view_cart | Пользователь просматривает корзину | Массив MTECommerceGA4EventItem |
| view_item | Пользователь просматривает карточку товара | Массив MTECommerceGA4EventItem |
| view_item_list | Пользователь просматривает список товаров | Массив MTECommerceGA4EventItem |
| view_promotion | Пользователь просматривает рекламные кампании на странице | Массив MTECommerceGA4EventItem |
MTECommerceGA4EventItem
К событию разметки можно добавить описание списка товаров или услуг:
let item = MTEcommerceGA4EventItem(
itemId: String,
itemName: String,
itemListName: String?,
itemListId: String?,
index: String?,
itemBrand: String?,
itemCategory: String?,
itemCategory2: String?,
itemCategory3: String?,
itemCategory4: String?,
itemCategory5: String?,
itemVariant: String?,
affiliation: String?,
discount: String?,
coupon: String?,
price: String?,
currency: String?,
quantity: String?,
locationId: String?,
creativeName: String?,
creativeSlot: String?,
promotionId: String?,
promotionName: String?,
parameters: [String: Any?]?
)
Шаблон MTECommerceUAEvent
Разным действиям пользователей соответствуют разные типы событий:
- Выберите тип события с помощью
MTEcommerceUAEventName - В
MTECommerceUAдобавьте подходящее действие пользователя. Например, дляeventName = MTEcommerceUAEventName.AddзаполнитеMTECommerceUA.add. Укажите код валютыcurrencyCode
let event = MTEcommerceUAEvent(
eventName: MTEcommerceUAEventName,
ecommerceParameters: [String : Any?]?,
ecommerce: MTECommerceUA(
purchase: Purchase?,
checkoutOption: CheckoutOption?,
add: Add?,
checkout: Checkout?,
refund: Refund?,
remove: Remove?,
click: Click?,
promoClick: PromoClick?,
detail: Detail?,
impressions: Impressions?,
promoView: PromoView?
),
currencyCode: String?,
customParameters: [String : Any?]?
)
Доступные опции MTEcommerceUAEventName:
| Опция | Описание | Обязательные поля |
|---|---|---|
| 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
struct ActionField {
var id: String? // Идентификатор транзакции. Обязателен при заполнении структур Purchase и Refund
var affiliation: String? // Магазин или филиал, в котором была совершена транзакция
var revenue: String? // Денежная ценность события в указанной валюте. Обязателен при заполнении Purchase структуры
var tax: String? // Сумма налога
var shipping: String? // Стоимость доставки
var coupon: String? // Код купона
var step: String? // Шаг воронки ecom
var option: String? // Выбранный способ оплаты
var list: String? // Название списка, в который входит товар
var parameters: [String: Any?]?
}
Структура Product
struct Product {
var name: String // название товара
var id: String // идентификатор или код товара (SKU)
var price: String? // цена товара
var brand: String? // бренд, к которому относится товар
var category: String? // категория, к которой относится товар
var variant: String? // вариант товара
var quantity: String? // количество единиц товара
var coupon: String? // код купона
var list: String? // название списка, в который входит товар
var position: String? // позиция товара в списке
var parameters: [String: Any?]?
}
Структура Promotion
struct Promotion {
var id: String?
var name: String?
var creative: String?
var position: String?
public init(
id: String? = nil,
name: String? = nil,
creative: String? = nil,
position: String? = nil
) {
self.id = id
self.name = name
self.creative = creative
self.position = position
}
}
Отправка событий
Метод отправки событий
mtsAnalytics?.track(event: event)