💰 Подія order_item_snapshot — Unit-економіка продажів
order_item_snapshot — подія, яку SellerIQ відправляє в Mixpanel для аналізу
юніт-економіки продажів — прибутковості кожної проданої одиниці товару.
Кожен івент — це «знімок економіки» однієї одиниці товару в межах замовлення:
- за якою ціною товар був проданий;
- яка в нього собівартість;
- які знижки та комісії застосовувалися;
- яка частина доставки припала на цю одиницю;
- який підсумковий прибуток (у сумі та у відсотках);
- які додаткові параметри були враховані (зокрема через
@siq).
⚠️ Статус: BETA / у розробці Подія вже доступна для тестових користувачів. Структура і набір показників можуть доповнюватися й уточнюватися.
🧠 Загальний принцип роботи
SellerIQ аналізує кожну продану одиницю товару окремо, навіть якщо в замовленні кілька однакових товарів.
Приклад:
- У замовленні: 1 товар × 3 штуки
- У Mixpanel буде відправлено 3 окремі події
- Кожна подія відповідає одній одиниці товару
🏷 Назва події в Mixpanel
Технічна назва події:
order_item_snapshot
Рекомендований Display name у Mixpanel, наприклад:
Unit-економіка продажів
🧱 Структура події
Нижче описані всі властивості, які SellerIQ передає в події order_item_snapshot.
1. Ідентифікація замовлення і товару
| Властивість | Тип | Опис | Приклад |
|---|---|---|---|
order_internal_id | string | Внутрішній ID замовлення в CRM | "123456" |
order_external_id | string | Номер замовлення із зовнішнього джерела (Rozetka, Prom тощо) | "RZ-9845123" |
product_internal_id | string | Внутрішній ID товару в CRM | "54321" |
product_crm_id | string | Код товару, як він вказаний у CRM (SKU) | "108089307" |
stock_id | string | ID складу/залишку (якщо є) | "12" |
unit_index | number | Номер одиниці товару всередині позиції (1..N) | 2 |
quantity | number | Кількість у цій події (завжди 1) | 1 |
2. Контекст замовлення (дати, статус, тип)
| Властивість | Тип | Опис | Приклад |
|---|---|---|---|
order_created_at | string | Дата/час створення замовлення | "2026-01-21 10:20:00" |
order_updated_at | string | Дата/час оновлення замовлення | "2026-01-21 12:35:10" |
order_status_id | string | ID статусу замовлення в CRM | "3" |
order_status_name | string | Назва статусу замовлення | "В обработке" |
order_type_id | string | ID типу замовлення в CRM | "1" |
order_type_name | string | Назва типу замовлення | "Интернет-заказ" |
3. Організація, канал продажів, менеджер
| Властивість | Тип | Опис | Приклад |
|---|---|---|---|
organization_id | string | ID організації | "10" |
organization_name | string | Назва організації | "SellerIQ LLC" |
site_id | string | ID сайту/каналу продажів у CRM | "2" |
site_name | string | Назва сайту/каналу продажів | "Rozetka" |
sales_channel | string | Канал продажів (як текст) | "Rozetka" |
manager_id | string | ID менеджера | "15" |
manager_name | string | Ім’я менеджера | "Алексей" |
4. Доставка
Вартість доставки враховується на рівні замовлення, після чого розподіляється між товарами (пропорційно вартості товарів у замовленні).
Приклад розподілу:
- Вартість доставки замовлення: 300 ₴
- Товари в замовленні:
- Товар A — 2000 ₴
- Товар B — 1000 ₴
Результат:
- Товар A → 200 ₴ доставки
- Товар B → 100 ₴ доставки
Якщо товар продається в кількох одиницях, його частка доставки рівномірно розподіляється між одиницями.
| Властивість | Тип | Опис | Приклад |
|---|---|---|---|
delivery_method_id | string | ID способу доставки | "4" |
delivery_method_name | string | Назва способу доставки | "Новая Почта" |
product_shipping_costs | number | Частина доставки, віднесена до одиниці товару | 120 |
delivery_provider | string | Провайдер доставки (як у CRM) | "novaposhta" |
delivery_sender_id | string | ID відправника (як у CRM) | "123" |
delivery_type | string | Тип доставки (як у CRM) | "warehouse" |
delivery_payer | string | Хто оплачує доставку | "buyer" |
delivery_city | string | Місто доставки | "Киев" |
delivery_region | string | Регіон/область | "Киевская" |
delivery_branch_number | string | Номер відділення | "24" |
delivery_address_raw | string | Адреса (як рядок із CRM) | "ул. ..." |
has_postpay | boolean | Є післяплата | true |
delivery_postpay_sum | number | Сума післяплати | 500 |
tracking_number | string | Трек-номер | "20400012345678" |
has_delivery_data | boolean | У замовленні є дані доставки | true |
5. Оплата
| Властивість | Тип | Опис | Приклад |
|---|---|---|---|
payment_method_id | string | ID способу оплати | "2" |
payment_method_name | string | Назва способу оплати | "Оплата картой" |
payment_status_id | string | ID статусу оплати | "1" |
payment_status_name | string | Назва статусу оплати | "Оплачено" |
payment_date | string | Дата оплати (якщо є) | "2026-01-21 11:05:00" |
6. Дані товару (картка)
| Властивість | Тип | Опис | Приклад |
|---|---|---|---|
product_name | string | Назва товару | "Apple iPhone 13 128GB" |
product_category | string | Категорія товару | "Смартфоны" |
product_manufacturer | string | Виробник | "Apple" |
product_barcode | string | Штрихкод | "194252707564" |
product_sku | string | Артикул товару в SalesDrive CRM | "SKU-001" |
7. База товару (як прийшло з CRM)
Ці поля показують «базові» значення, які SellerIQ використовує як основу для розрахунків.
| Властивість | Тип | Опис | Приклад |
|---|---|---|---|
base_price | number | Базова ціна | 20999 |
base_costPrice | number | Базова собівартість | 14500 |
8. Ціна, знижки та комісії (по одиниці)
| Властивість | Тип | Опис | Приклад |
|---|---|---|---|
product_price | number | Ціна продажу одиниці товару | 19999 |
product_cost | number | Собівартість одиниці | 14500 |
product_discount_amount | number | Знижка в сумі | 1000 |
product_discount_percent | number | Знижка у відсотках | 5 |
product_commission_amount | number | Комісія в сумі | 600 |
product_commission_percent | number | Комісія у відсотках | 3 |
9. Підсумкова економіка одиниці
| Властивість | Тип | Опис | Приклад |
|---|---|---|---|
product_gross_margin_amount | number | Валова маржа (₴) | 4500 |
product_gross_margin_percent | number | Валова маржа (%) | 22.5 |
product_net_profit_amount | number | Чистий прибуток (₴) | 3780 |
product_net_profit_percent | number | Чистий прибуток (%) | 18.9 |
10. Маркетинг (UTM-мітки та кампанія)
| Властивість | Тип | Опис | Приклад |
|---|---|---|---|
utm_source | string | UTM source | "google" |
utm_medium | string | UTM medium | "cpc" |
utm_campaign | string | UTM campaign | "winter_sale" |
utm_content | string | UTM content | "banner_1" |
utm_term | string | UTM term | "iphone 13" |
utm_page | string | Сторінка (як у CRM, якщо передається) | "/product/123" |
sd_campaign_id | string | ID кампанії в SalesDrive CRM | "7" |
sd_campaign_name | string | Назва кампанії в SalesDrive CRM | "Winter Sale" |
has_utm | boolean | У замовленні присутні UTM-мітки | true |
11. Клієнт і рейтинг (якщо доступно)
| Властивість | Тип | Опис | Приклад |
|---|---|---|---|
client_id | string | ID клієнта | "999" |
client_created_at | string | Дата створення клієнта | "2025-11-02" |
client_buyout_percent | number | % викупу | 82 |
client_buyout_level | number | Рівень викупу | 3 |
client_unpicked_count | number | К-сть невикупів | 1 |
client_canceled_count | number | К-сть скасувань | 0 |
has_client_rating | boolean | Є рейтинг клієнта | true |
12. Реклама Rozetka
Якщо замовлення прийшло через рекламу Rozetka (Rozetka Підйом), SellerIQ збагачує подію даними про рекламні витрати, прив’язані до цього продажу.
ℹ️ Рекламні витрати вираховуються за принципом «з моменту останнього замовлення» — тобто враховуються покази, кліки та витрати на товар у рекламній кампанії з дня попереднього продажу до дня поточного. Це дозволяє оцінити реальну вартість залучення кожного конкретного замовлення.
Поля
ad_cost,ad_views,ad_clicksмасштабуються пропорційно частці виручки конкретного товару в замовленні — щоб SUM в Mixpanel давав коректні підсумки.
| Властивість | Тип | Опис | Приклад |
|---|---|---|---|
is_ad | boolean | Замовлення прийшло через рекламу Rozetka (utm_campaign=Rozetka + utm_medium=cpc) | true |
ad_cost | number | Витрати на рекламу (₴), масштабовані на частку товару | 45.20 |
ad_views | number | Покази в рекламі, масштабовані на частку товару | 312 |
ad_clicks | number | Кліки в рекламі, масштабовані на частку товару | 8 |
ad_cpo | number | Вартість замовлення (CPO) — витрати / кількість транзакцій | 45.20 |
ad_cpc | number | Вартість кліку (CPC) — витрати / кількість кліків | 5.65 |
ad_ctr | number | CTR — кліки / покази | 0.026 |
ad_views_per_order | number | Кількість показів на одне замовлення, масштабована на частку товару | 312 |
ad_clicks_per_order | number | Кількість кліків на одне замовлення, масштабована на частку товару | 8 |
ℹ️ Для замовлень без реклами (
is_ad = false) всі поляad_*будутьnullабо0. Полеis_adприсутнє в кожній події.
Для детального аналізу рекламних витрат по плейсментах і кампаніях — дивіться подію
🔗 ad_item_snapshot.
13. Додаткові витрати, доходи та параметри (123siq)
SellerIQ дозволяє передавати додаткові дані через коментар до замовлення в CRM
за допомогою спеціальних директив 123siq.
Система читає коментар замовлення, знаходить директиви 123siq, застосовує їх до конкретного товару
або до всього замовлення, за потреби розподіляє значення між одиницями товару
і передає результат у подію order_item_snapshot.
Загальний формат директив
@siq параметр=значення@siq параметр.КОД_ТОВАРУ=значення
Де:
параметр— довільне ім’я (наприкладads_cost,promo_name);КОД_ТОВАРУ— код товару (SKU) з CRM (опційно);значення— число або текст.
Коментар замовлення може містити будь-який текст — SellerIQ обробляє
тільки рядки з директивами @siq.
Типи значень
📉 Витрата (зменшує прибуток)
Приклад:
@siq ads_cost=-300
Витрата 300 відноситься до всього замовлення, розподіляється між усіма товарами пропорційно їх виручці, за наявності кількох одиниць товару — розподіляється між усіма одиницями і зменшує чистий прибуток.
📈 Дохід (збільшує прибуток)
Приклад:
@siq extra_income=+150
Дохід 150 відноситься до всього замовлення, розподіляється між усіма товарами пропорційно їх виручці, за наявності кількох одиниць товару — розподіляється між усіма одиницями і збільшує чистий прибуток.
Важливо: будь-які доходи і витрати без вказання коду товару завжди розподіляються між усіма товарами замовлення.
🏷 Параметр без впливу на прибуток
Приклад:
@siq promo_name=BlackFriday
Параметр застосовується до всього замовлення, передається в усі події order_item_snapshot
усіх товарів цього замовлення, не впливає на розрахунок прибутку
і може використовуватися для фільтрації та сегментації в Mixpanel.
Прив’язка до конкретного товару
Приклад:
@siq packaging_cost.108089307=-50
Параметр застосовується тільки до товару з кодом 108089307,
розподіляється між усіма одиницями цього товару
і не зачіпає інші товари замовлення.
Як директиви передаються в аналітику
Кожна директива @siq стає окремою властивістю події order_item_snapshot.
- для витрат і доходів передається значення, розраховане для конкретної одиниці товару;
- параметри без впливу на прибуток передаються однаковими в усі події товарів замовлення.
Усі параметри, передані через @siq, доступні в Mixpanel
для фільтрів, сегментації, формул, звітів і алертів.
Перевизначення базових значень (override)
Деякі параметри без знака + або -
використовуються як перевизначення базових значень
і змінюють основу розрахунків unit-економіки.
Підтримуються такі override-параметри:
Для товару (з вказанням коду товару):
pricecostPricecommissionpercentCommissiondiscountpercentDiscount
Для замовлення (без вказання коду товару):
shipping_costs
Приклад перевизначення базової ціни товару:
@siq price.108089307=19999
Приклад перевизначення вартості доставки замовлення:
@siq shipping_costs=300
Ці значення використовуються як база для всіх подальших розрахунків unit-економіки.