Назви та мітки для базових елементів в eSputnik
Сценарії, повідомлення, групи та поля контактів — це базові елементи вашого акаунту eSputnik. Що більше об'єктів ви створюєте, то складніше в них орієнтуватися без спільних правил назв і міток.
Ця стаття буде корисна командам, які регулярно створюють сценарії, повідомлення, групи та поля контактів у eSputnik і хочуть підтримувати порядок в акаунті. У ній зібрано правила, які допоможуть узгодити назви й мітки для основних типів об'єктів, налаштувати зручну фільтрацію та уникнути помилок, що ускладнюють аналітику.
Про правила найменування кастомних подій та їхніх параметрів читайте за посиланням.
Чому це важливо
Узгоджені назви покращують аналітику. Назви повідомлень потрапляють до UTM-параметрів і відображаються безпосередньо в Google Analytics. Назва на кшталт AbandonedCart_S01 легко фільтрується за кампанією і порядком у серії, а назва new email copy створює шум, в якому важко розібратися через кілька місяців.
Команда працює за єдиною логікою. Якщо всі дотримуються однієї структури, не виникає питань: що охоплює та чи інша група, який сценарій активний і чи є повідомлення чернеткою або робочим шаблоном.
Послідовні назви й мітки допомагають уникати помилок у роботі з ШІ-агентами. Коли сценарії, групи, поля та мітки мають зрозумілу структуру, агентам легше правильно інтерпретувати об'єкти під час налаштування кампаній або аналізу.
Три інструменти для організації об'єктів
В eSputnik є три способи описати й упорядкувати об'єкти:
- Назва — основний спосіб одразу зрозуміти, що це за об'єкт. Вона відображається в списках, звітах і UTM-параметрах, тому має бути читабельною, послідовною і стабільною.
- Мітка — додаткова позначка для фільтрації та групування. Використовуйте мітки для того, що часто фільтруєте, але не хочете кодувати в кожній назві: тип відправки, етап життєвого циклу, статус, відповідальний.
- Опис — додатковий контекст у довільній формі. Використовуйте його, щоб пояснити логіку правила групи, гіпотезу A/B-тесту або будь-яку деталь, яка зробила б назву занадто довгою.
Якщо назва стає занадто довгою, частину інформації, ймовірно, краще винести в мітку або опис.
Базові принципи
Від загального до конкретного. Поля в назві завжди йдуть в одному порядку — від широкого контексту до конкретної деталі. Це дає змогу спискам природно групуватися за типом та етапом воронки.
Узгоджений словник скорочень. Використовуйте фіксований набір скорочень у межах команди. Для кодів країн і ринків дотримуйтесь ISO 3166 alpha-2 country codes, щоб значення на кшталт DE, PL та US були узгоджені в усіх системах і звітах. Кожне скорочення має бути зафіксоване у внутрішньому словнику. Пам'ятайте: назви бачать не лише маркетологи — вони відображаються у звітах для продажів і менеджменту, тому неочевидні скорочення, зрозумілі лише автору, ускладнюють роботу всій команді.
Назви описують роль, а не версію. Назва має пояснювати призначення об'єкта, а не відстежувати його історію редагувань. Зайві слова на кшталт _v2, _new або _copy накопичуються з часом і не несуть корисної інформації. Для відстеження змін використовуйте поле опису. Примітка: суфікси V1/V2 — це окреме правило виключно для варіантів A/B-тестів (детальніше в розділі Повідомлення нижче).
Не додавайте в назви тимчасові слова. new, copy, test та особисті маркери на кшталт anna_segment роблять назви неоднозначними. BF_Nov14_v2_copy нічого не скаже через півроку. Використовуйте структуровану назву, а контекст виносьте в опис.
Для масових розсилок вказуйте дату запуску, а для тригерних — порядковий номер у серії. Для разових відправок на кшталт BF2025_S01 додавання дати — BF2025_1114_S01 — допомагає прив'язати GA-трафік до конкретного дня через кілька місяців. Для тригерних повідомлень життєвого циклу важливий не момент відправки, а місце в серії: AbandonedCart_S01, AbandonedCart_S02. Дата тут не має сенсу — повідомлення надсилається безперервно.
Для різних об'єктів потрібен різний рівень деталізації в назві. Для сценаріїв і груп використовуйте зрозумілі бізнес-назви. Для повідомлень — коротші назви, які легко сканувати у списку. Для полів контактів — технічні назви в camelCase, бо вони також використовуються в API і персоналізації.
Що означають умовні позначення в назвах
У назвах нижче використовуються короткі умовні позначення:
Stream— основний контекст назви: етап життєвого циклу, тип кампанії або серія повідомлень, наприкладWelcome,Reactivation,AbandonedCart,PostPurchase.Goal— ціль сценарію, якщо її потрібно уточнити в назві.Market— країна або ринок, якщо об'єкт справді відрізняється залежно від ринку.Seq— порядковий номер повідомлення в серії.Role— роль повідомлення в серії, наприкладReminder,Offer,Urgency,LastCall.Variant— варіант A/B-тесту.
Сценарії
Назва сценарію має відповідати на питання: який це етап воронки і чого сценарій має досягти?
Патерн: [Stream]_[Goal (якщо потрібно)]_[Market (опційно)]
| Поле | Що означає | Приклади |
|---|---|---|
Stream | Основний контекст назви | Welcome, AbandonedCart, BrowseAbandonment, PostPurchase, Reactivation, Loyalty |
Goal | Уточнює мету сценарію, якщо одного Stream недостатньо | RecoverCart, UpsellAfterPurchase, WinbackDormant, ActivateVIP |
Market | Додавайте лише якщо сценарії справді відрізняються залежно від ринку | US, DE, PL |
Примітка про локалізацію. eSputnik підтримує багатомовні повідомлення нативно, тому здебільшого не потрібно розділяти сценарії за мовою. Додавайте суфікс ринку лише тоді, коли сам сценарій відрізняється — наприклад, інша структура пропозиції, інші канали або правові вимоги для конкретного ринку.
Приклади:
| ❌ Погано | ✅ Добре |
|---|---|
cart email | AbandonedCart |
reactivation new | Reactivation_WinbackDormant |
after purchase flow copy | PostPurchase_UpsellAfterPurchase |
browse flow 2 | BrowseAbandonment |
vip winback | Loyalty_ActivateVIP_DE |
Деякі типи кампаній самодостатні й не потребують суфікса Goal — AbandonedCart уже передбачає відновлення кошика. Додавайте Goal тоді, коли один Stream може слугувати різним цілям: Reactivation_WinbackDormant vs Reactivation_ReturnFromChurn.
Повідомлення
Назва повідомлення має показувати, до якої кампанії або серії воно належить, і його позицію або роль у ній — без потреби відкривати повідомлення. Канал уже визначається місцем повідомлення в системі. Тип відправки (тригерна або масова) позначається через мітки.
Для найменування повідомлень можна використовувати два підходи:
Порядкова нумерація
Підходить для коротких серій, де порядок фіксований.
Патерн: [Stream]_[Seq]_[Variant (опційно)]
| Поле | Що означає | Приклади |
|---|---|---|
Stream | Основний контекст назви | AbandonedCart, Welcome, PostPurchase, BF2025 |
Seq | Номер кроку в серії | S01, S02, S03 |
Variant | Додавайте лише для A/B-тесту | V1, V2 |
Приклади: AbandonedCart_S01, AbandonedCart_S01_V1, BF2025_S01, Welcome_S02
Назви на основі ролі
Підходять для довших серій або коли кроки можуть змінюватися. У такому разі вставка або перестановка кроків не вимагають перейменування інших повідомлень.
Патерн: [Stream]_[Role]_[Variant (опційно)]
Приклади: AbandonedCart_Reminder, AbandonedCart_Urgency, AbandonedCart_LastCall, AbandonedCart_Reminder_V1
Щоб рольові назви залишалися послідовними, домовтеся в команді про короткий набір стабільних role-token'ів — наприклад, Reminder, Offer, Urgency, LastCall, FollowUp — і не використовуйте різні слова для однієї й тієї самої ролі.
Оберіть один підхід для кожної серії і дотримуйтеся його. Не змішуйте нумерацію і рольові назви в межах однієї серії.
Щоб розрізняти тригерні та масові повідомлення у відфільтрованих переглядах, використовуйте мітки type_triggered та type_broadcast.
Приклади — порядкова нумерація:
| ❌ Погано | ✅ Добре |
|---|---|
cart email 1 | AbandonedCart_S01 |
cart_ab / cart_ab2 | AbandonedCart_S01_V1 / AbandonedCart_S01_V2 |
welcome new | Welcome_S02 |
BlackFriday_final_FINAL | BF2025_S01 |
sms test 3 | Reactivation_S01 |
Приклади — назви на основі ролі:
| ❌ Погано | ✅ Добре |
|---|---|
cart reminder | AbandonedCart_Reminder |
last chance email | AbandonedCart_LastCall |
cart_ab / cart_ab2 | AbandonedCart_Reminder_V1 / AbandonedCart_Reminder_V2 |
post purchase push copy | PostPurchase_Upsell |
reactivation last | Reactivation_LastCall |
Якщо ви використовуєте порядкові номери і потрібно вставити крок між S01 і S02, використовуйте S01b або плануйте проміжки з самого початку: S10, S20, S30 — щоб нові кроки вписувалися без порушення аналітики.
Групи
Назва групи має відповідати на питання: на якому етапі життєвого циклу перебувають ці контакти і яке визначальне правило їх об'єднує?
Патерн: [LifecycleStage]_[SegmentRule]
| Поле | Що означає | Приклади |
|---|---|---|
LifecycleStage (етап) | Де контакти знаходяться у воронці | New, Active, AtRisk, Churned, VIP, Prospect |
SegmentRule | Правило, яке визначає групу | NoPurchase60D, OrderedLast30D, CartAbandoned7D, AOVover200 |
AOV (Average Order Value) — середній чек замовлення.
Приклади:
| ❌ Погано | ✅ Добре |
|---|---|
Active buyers | Active_OrderedLast30D |
at risk NEW | AtRisk_NoPurchase60D |
cart seg 2 | AtRisk_CartAbandoned7D |
Inactive | Churned_NoPurchase180D |
New | New_RegisteredLast7D |
big spenders | VIP_AOVover200 |
Уникайте розмитих термінів життєвого циклу, які використовуються в акаунті взаємозамінно. Визначте один раз, що означає кожен етап — наприклад, Active = здійснив замовлення впродовж останніх 30 днів — і послідовно дотримуйтеся цього визначення. Зафіксуйте його в описі групи.
Поля контактів
Поля контактів використовуються в персоналізації повідомлень, умовах фільтрації груп та API-інтеграціях. Погано назване поле призводить до помилок у всіх трьох випадках.
Правила:
- Використовуйте
camelCase: перше слово з малої літери, наступні — з великої. Уникайте пробілів, підкреслень і спеціальних символів там, де це можливо. - Називайте поле за даними, які воно зберігає, а не за джерелом або способом використання.
- Назва має бути достатньо конкретною, щоб поле було зрозумілим без документації.
- Не зберігайте непов'язані значення в одному полі (наприклад, не об'єднуйте рівень лояльності та дату його закінчення в один рядок).
- Не створюйте поле для однієї тимчасової кампанії. Поле контакту має представляти стабільний атрибут контакту, а не стан кампанії.
| ❌ Погано | Чому | ✅ Добре |
|---|---|---|
plan | Неоднозначно — який саме план? | loyaltyTier |
date | Може означати будь-що | lastPurchaseDate |
last | Потребує контексту для розшифровки | lastOrderId |
cat2 | Назва має описувати дані, а не їх версію | preferredCategory |
lang_pref | Непослідовний формат | preferredLanguage |
ordersNUM | Неоднозначне скорочення | totalOrdersCount |
TotalRevenue | Велика перша літера порушує camelCase | totalRevenue |
Якщо кілька полів належать до одного домену, використовуйте спільний префікс. Це групує поля разом у списку і робить умови фільтрації легшими для читання:
loyaltyTier loyaltyPoints loyaltyJoinDate loyaltyExpiryDate
Використання міток
Мітки — це додаткові позначки, які ви застосовуєте до повідомлень, сценаріїв, груп і звітів. Вони дають змогу фільтрувати та впорядковувати об'єкти в акаунті, не роблячи назви довшими.
Поля контактів знаходяться поза системою міток — для них назва є єдиним інструментом організації.
eSputnik має два типи міток:
- Мітки комунікацій — застосовуються до повідомлень, сценаріїв і звітів.
- Мітки груп — застосовуються виключно до груп.
Обидва типи називають за однаковими правилами.
Що виносити в мітки, а що залишати в назві
| Назва містить | Мітка містить |
|---|---|
| Тип сценарію / кампанії | Тип відправки (тригерна або масова) |
| Крок або роль повідомлення | Етап життєвого циклу для фільтрації між об'єктами |
| Ринок (лише якщо об'єкти різняться залежно від ринку) | A/B-експеримент |
| Статус об'єкта | |
| Відповідальний або команда |
Патерн найменування міток
Дотримуйтесь формату category_value, щоб мітки легко сканувалися:
| Категорія | Приклади |
|---|---|
| Тип відправки | type_triggered, type_broadcast |
| Етап життєвого циклу | lc_new, lc_active, lc_atrisk, lc_vip |
| A/B-експеримент | ab_CartSubject, ab_WelcomeOffer |
| Статус | status_active, status_draft, status_deprecated |
| Відповідальний / команда | owner_olha, team_retention |
Уникайте міток на кшталт active, test або promo без префікса категорії — у міру зростання списку вони стають неоднозначними.
Використовуйте owner_, коли за об'єкт відповідає одна конкретна людина, і team_, коли йдеться про команду або спільну зону відповідальності.
Якщо потрібно позначити тимчасовий тестовий об'єкт, використовуйте status_draft або status_test, а не слово test у назві. Після завершення тестування видаляйте тимчасові об'єкти. Якщо об'єкт потрібно зберегти для довідки, позначте його міткою status_deprecated.
Позначення застарілих об'єктів
Коли сценарій, повідомлення або група замінюються, додайте мітку status_deprecated до старого об'єкта. Це зберігає його доступність для перегляду, але виключає з активних відфільтрованих переглядів при фільтрації за status_active.
Усе разом
Ось як ці правила працюють на прикладі одного сценарію:
| Об'єкт | Назва | Мітки |
|---|---|---|
| Сценарій | AbandonedCart | lc_atrisk, team_retention |
| Повідомлення 1 | AbandonedCart_S01 | type_triggered, status_active |
| Повідомлення 2 | AbandonedCart_S02 | type_triggered, status_active |
| A/B-варіант | AbandonedCart_S02_V1 / AbandonedCart_S02_V2 | ab_CartSubject |
| Група | AtRisk_CartAbandoned7D | lc_atrisk |
| Поле контакту | lastPurchaseDate | — |
Назва показує, що це за об'єкт і де він у воронці. Мітки потрібні для фільтрації за командою, відстеження тестів і позначення статусу.
Поширені помилки
| Помилка | Чому це проблема | Як правильно |
|---|---|---|
welcome_new, cart_final, email_copy | Тимчасові слова не мають сенсу через місяць | Використовуйте патерн: Welcome_S01, AbandonedCart_S01 |
Active, Inactive, Leads | Розмиті терміни без правила — незрозуміло, хто потрапляє до групи | Active_OrderedLast30D, Churned_NoPurchase180D |
| Однакові терміни життєвого циклу з різним змістом | Active в одній групі = купив 30 днів тому, в іншій = відкрив email | Зафіксуйте визначення в описі кожної групи |
| Поле контакту під одну кампанію | Захаращує список полів і ламає структуру | Поле = стабільний атрибут контакту. Кампанійний стан — у мітках або події |
Статус у назві: AbandonedCart_old, Welcome_deprecated | Назва перестає бути стабільною | Статус виносьте в мітку: status_deprecated |
Мітки без префікса: active, test, promo | Неоднозначні, не фільтруються надійно | status_active, status_test, lc_active |
Як впровадити правила в акаунті
Якщо ви починаєте з нуля:
- Домовтеся в команді про мову назв (рекомендовано латиниця) і зафіксуйте базові скорочення у внутрішньому словнику.
- Визначте етапи життєвого циклу для груп: що означає
Active,AtRisk,Churnedсаме у вашому акаунті. - Призначте відповідального за підтримку правил (Marketing Ops або CRM lead).
- Створюйте нові об'єкти за патернами з цієї статті з першого дня.
Якщо в акаунті вже є об'єкти:
- Не перейменовуйте все одразу — це порушить поточну аналітику і не буде завершено.
- Починайте з нових об'єктів: створюйте їх за новими правилами.
- Старі об'єкти перейменовуйте поступово — коли редагуєте або перевіряєте їх у межах звичайних задач.
- Застарілі об'єкти позначайте міткою
status_deprecated, а не видаляйте одразу.
Як перевірити результат
Після впровадження пройдіться по списках сценаріїв, повідомлень, груп і полів контактів у відповідних розділах акаунту, а також перевірте фільтри за мітками там, де команда працює з відправками й звітами. Після цього звірте результат за цим списком:
✅ назви сценаріїв відповідають патерну Stream[_Goal][_Market];
✅ назви повідомлень відповідають одному з двох патернів: Stream_Seq[_Variant] або Stream_Role[_Variant];
✅ для однієї серії використовується один підхід до назв: або порядкова нумерація, або рольові назви;
✅ назви груп відповідають патерну LifecycleStage_SegmentRule;
✅ поля контактів записані в camelCase, без версій і тимчасових суфіксів;
✅ тип відправки позначено мітками type_triggered / type_broadcast;
✅ застарілі об'єкти мають мітку status_deprecated;
✅ усі скорочення зафіксовані у внутрішньому словнику;
✅ визначення етапів життєвого циклу зафіксовані в описах відповідних груп.
Шпаргалка з назв
| Об'єкт | Патерн | Приклад |
|---|---|---|
| Сценарій | Stream[_Goal][_Market] | PostPurchase_UpsellAfterPurchase_DE |
| Повідомлення | Stream_Seq[_Variant] або Stream_Role[_Variant] | AbandonedCart_S01, AbandonedCart_Reminder_V1 |
| Група | LifecycleStage_SegmentRule | AtRisk_NoPurchase60D |
| Поле контакту | Описова назва у camelCase | lastPurchaseDate, loyaltyTier |
Шпаргалка з міток
| Категорія | Формат | Приклади |
|---|---|---|
| Тип відправки | type_value | type_triggered, type_broadcast |
| Етап життєвого циклу | lc_value | lc_new, lc_active, lc_vip |
| A/B-експеримент | ab_value | ab_CartSubject, ab_WelcomeOffer |
| Статус | status_value | status_active, status_draft, status_deprecated |
| Відповідальний / команда | owner_value, team_value | owner_olha, team_retention |
Підтримка правил
- Призначте відповідального. Одна-дві людини переглядають нові об'єкти та стежать за дотриманням правил.
- Ведіть спільний словник. Зафіксуйте всі узгоджені скорочення, визначення етапів життєвого циклу і допустимі значення
Streamу спільному документі команди, доступному всім, хто створює або редагує об'єкти в акаунті. Відповідальний оновлює словник, коли з'являються нові сценарії, патерни назв або категорії міток. - Виправляйте по дорозі. Редагуючи старий об'єкт, перейменуйте його в межах тієї самої задачі.
- Не видаляйте застарілі об'єкти одразу. Коли об'єкт застаріває, додайте
status_deprecated— він залишиться доступним для довідки.