Перші кроки
Дані користувача
- Огляд адаптивного email-редактора
- Cтворення оформлення для листа
- Створення синхронізованих модулів
- Налаштування адаптивності
- Налаштування smart-контейнерів
- Оформлення промовкладки для Gmail
- Додавання Ролловера
- Додавання анкорних посилань
- Бібліотека модулів
- Додавання таблиці до листа
- Додавання кастомних шрифтів
- Створення кнопки СТA
- Робота з блоком "Зображення"
- Робота з блоком “Таймер"
- Використання ШІ в email-редакторі
- Підтримка месенджер-протоколів поштовими клієнтами та платформами
Омніканальність
- SDK для мобільних застосунків
- Керування ключами доступу до мобільного SDK
- Підключення мобільного застосунку
- Створення та завантаження ключа Firebase
- Створення мобільних push-повідомлень
- Налаштування аналітики доставлень та кліків
- Планування мобільних push-повідомлень
- Типи діплінків
- Надсилання тестових повідомлень із налагодження запитів
- Налаштування віджетів для сайту
- Гейміфікація віджетів
- Виклик віджета
- Налаштування геоданих для правил виклику віджетів
- Збереження даних із віджетів у поля контактів
- Захист від роздратування
- Дії після підписки
- Заміна системного сценарію Double Opt-In
- Створення pop-up-форм за допомогою Google Tag Manager або WordPress
- Надсилання подій з віджетів eSputnik до Google Analytics
- A/B-тестування віджетів
- Збір контактних даних за допомогою форм запитів
Автоматизація
- Налаштування та редагування сценаріїв
- Налаштування умов запуску та зупинки сценарію
- Блок “Старт”
- Група блоків “Популярні”
- Група блоків “Повідомлення”
- Використання блока повідомлень “Одне з багатьох”
- Група блоків “Контакт”
- Група блоків "Умови"
- Група блоків “Інше”
- Група блоків “Повідомлення на групу”
- Група блоків “Час”
- Розширені параметри блоків сценаріїв
- Дозволений час відправлення
- Вебхуки в сценаріях
- Відстеження історії запусків сценарію
- Якщо сценарій не працює
- Подвійне підтвердження підписки
- Вітальна серія
- Вітальна серія із сегментацією за категоріями
- Запуск сценарію після імпорту контактів
- Регулярний сценарій для групи
- Вітання з днем народження
- Привʼязка сценарію до кнопки
- Використання змінних із замовлення у сценарії
- Збір відгуків про замовлення
- Реактивація клієнтів та підписників
- Відправка розсилки непрочитавшим
- Налаштування додаткових розсилок
- Відправлення нагадувань в заданий користувачем час
- А/B-тестування в сценаріях
Персоналізація
- Підстановка промокоду з файлу
- Підстановка промокоду з використанням API
- Принципи генерації промокодів за допомогою PHP/JAVA
- Підстановка промокоду за допомогою персоналізації
- Завантаження промокодів для використання в сценарії
- Генерація промокодів у сценарії
- Відправлення промокоду за допомогою передпроцесора
- HTTP-запит для передачі промокоду з повідомлення до картки контакту
Аналітика
- Звіт щодо email-розсилки
- Звіт щодо SMS-розсилки
- Звіт щодо розсилки Web Push
- Звіт щодо Viber-розсилки
- Звіт щодо розсилки Mob Push
- Звіт щодо розсилки App Inbox
- Звіт щодо Telegram-розсилки
- Звіт зі взаємодії з In-App
- Звіт зі взаємодії з віджетами
- Звіт щодо тригерної розсилки
- Звіт щодо AMP-розсилки
- Звіт щодо мультимовної розсилки
- Налаштування передачі UTM-міток
- Візуалізація доходу
- Відстеження ефективності кампаній у Google Analytics 4
- Статистика повідомлень
Мультимовність
Відстеження подій та поведінки
- Події для запуску тригерних розсилок
- Найменування користувацьких подій
- Валідація параметрів подій
- Відстеження активності на сайті за допомогою Generate event
- Підстановка даних з подій в повідомлення
- Розгалуження сценарію в залежності від параметрів події
- Відстеження активності клієнтів у мобільних застосунках
- Вебхуки для відстеження активності
- Аналітика подій
Товарні рекомендації
API
- Поширені питання: Інтеграція з API
- API-ключі
- Ресурси API для додавання контактів
- Використання API-ресурсу Generate event
- Передача замовлень API-ресурсом Generate event
- Отримання рекомендацій щодо API ресурсом Contact recommendations based on web tracking
- Використання API-ресурсу Send prepared message
Зміна системи
Документи
Інтеграція
Підключення PostgreSQL
Підключення до PostgreSQL допоможе вирішити такі завдання:
- імпорт даних у додаткові поля для сегментації;
- налаштування безшовної синхронізації контенту;
- експорт даних щодо результатів розсилки, поведінки у віджетах або контактної інформації з eSputnik.
Важливо
Інтеграція з PostgreSQL входить у платні тарифи
Крок 1. Налаштування конектора
1. Перейдіть на вкладку “Конектори” в налаштуваннях вашого акаунту і виберіть “Підключити PostgreSQL”.
2. Заповніть такі поля:
- Назва.
- Хост (може містити доменне ім'я віддаленого сервера або його IP-адресу).
- Порт (за замовчуванням вводиться автоматично).
- База даних (її назва на віддаленому сервері).
- Ім'я користувача (логін користувача бази даних; достатньо ролі лише для читання).
- Пароль.
Натисніть кнопку “Перевірити підключення”, щоб перевірити коректність авторизаційних даних та виконати тестове підключення до віддаленої бази даних.
Примітка
При підключенні до PostgreSQL рекомендується використовувати захищене SSL з'єднання для безпечної передачі даних.
Якщо ви не використовуєте SSL з'єднання, система попередить про це:
При успішному підключенні у верхньому правому куті розділу з'явиться сервісне повідомлення про те, що з'єднання встановлено. В іншому випадку, якщо підключення не вдалося, необхідно уточнити у вашого системного адміністратора коректність налаштувань або авторизаційних даних.
3. Для визначення унікальності контакту вкажіть колонку таблиці, що містить унікальний ключ контакту, та унікальне поле контакту в eSputnik. Вони повинні співпадати.
Так, якщо ви вибрали email, після підключення стовпець таблиці PostgreSQL з електронними адресами буде зіставлено з відповідним полем у eSputnik.
Ви можете задати будь-який ключ унікальності контакту, що міститься у таблиці та в eSputnik — зовнішній ID, номер телефону, додаткове поле тощо.
Важливо
Ви можете використовувати створений конектор для підключення до кількох джерел даних, які мають мати однаковий унікальний контактний ключ. Для роботи з іншими ключами створіть додаткові конектори з відповідним ID контакта.
4. Натисніть кнопку “Зберегти”.
Крок 2. Налаштування джерела даних
Ваша зовнішня база даних може містити кілька таблиць, і вам потрібно вибрати, до якої з них ви хочете підключитися.
1. Перейдіть у налаштування вашого профілю > вкладка “Джерела даних”, натисніть кнопку “Нове джерело” і оберіть “Зовнішні джерела даних”.
2. Виберіть створений конектор.
3. Виберіть dataset, таблицю і введіть назву джерела. Натисніть кнопку “Зберегти”.
Імпортуйте контакти в eSputnik i наповніть даними зовнішню базу. Після цього у вашому обліковому записі буде доступна можливість будувати сегменти на основі значення полів у зовнішній базі даних за допомогою побудови умовних груп.
Важливо
Для сегментації доступні лише ті контакти, які є у вашому обліковому записі eSputnik та у зовнішній базі даних. Імпорт контактів із зовнішньої бази до вашого облікового запису не відбувається. Тому важливо оперативно синхронізувати та актуалізувати контакти перед здійсненням розсилок.
Крок 3. Підстановка повідомлення даних із зовнішнього джерела
Щоб використовувати зовнішні дані у повідомленні, до них необхідно звернутися за допомогою velocity-конструкції $!data.get('назва_джерела')... – так, у цьому прикладі ми підготували джерело під назвою promo_codes.
Масова розсилка на групу
Наприклад, ви плануєте кампанію на адресу kozak@example.com.
Набір даних буде витягнуто з таблиці та вставлено в об’єкт:
{
"data": {
"promo_codes": [
{
"id": "2",
"email": "kozak@example.com",
"name": "Dina Kozak",
"birthday": "2020-09-02T00:00:00Z",
"promo_code": "AAAA-BBBB-DDDD"
}
]
}
}
На поля масиву promo_codes можна посилатися двома способами:
- За допомогою елементів (цей спосіб підходить, якщо ви точно знаєте кількість елементів у масиві).
$!data.get('promo_codes').get(0).get('name')
$!data.get('promo_codes').get(0).get('promo_code')
- За допомогою циклу (найпоширеніший спосіб).
#foreach($pc in $!data.get('promo_codes'))
$!pc.get('name')
$!pc.get('promo_code')
#end
Для тригерної розсилки
По-перше, вам потрібно створити динамічну групу з певними умовами. Наприклад, ваш сегмент включатиме лише контакти, у яких сьогодні день народження.
Коли сценарій запускається для контактів, які відповідають цій умові, система генерує подію. Назва події формується зі статичної частини (regularEventType) та ідентифікатора сегмента, на який надсилається кампанія. Це може бути, наприклад, regularEventType-170531841.
Подія містить контактні дані, ідентифікатор контакту в eSputnik (ContactId), адресу електронної пошти (EmailAddress) і дані із зовнішньої таблиці.
Дані з кожного поля таблиці перетворюються на ключ і поміщаються в масив із числовою позначкою, що відповідає ідентифікатору джерела даних.
Цей масив серіалізується і розміщується як рядок у полі jsonParam. Тіло події може виглядати наступним чином:
{
"params": [
{
"name": "ContactId",
"value": "623927159"
},
{
"name": "jsonParam",
"value": "{\"1043\":[{\"id\":,\"email\":\"kozak@example.com\",\"name\":\"Dina Kozak\",\"birthday\":\"2020-09-02T00:00:00Z\",\"promo_code\":\"AAAA-BBBB-DDDD\"}]}"
},
{
"name": "EmailAddress",
"value": "kozak@example.com"
}
]
}
Щоб десеріалізувати рядок у набір об’єктів, перейдіть до налаштувань блоку Email → поле JSON та вкажіть джерело даних із події — ${jsonParam}.
Налаштувавши сценарій, налаштуйте запуск:
Для отримання даних із події використовується той самий підхід, що й для масової кампанії, з невеликою різницею в назві масиву. В листі буде такий об’єкт:
{
"data": {
"1043": [
{
"id": "2",
"email": "kozak@example.com",
"name": "Dina Kozak",
"birthday": "2020-09-02T00:00:00Z",
"promo_code": "AAAA-BBBB-DDDD"
}
]
}
}
На поля масиву 1043 можна посилатися двома способами:
- За параметрами (якщо відома кількість параметрів у масиві).
$!data.get('1043').get(0).get('name')
$!data.get('1043').get(0).get('promo_code')
- За допомогою циклу (найпоширеніший спосіб).
#foreach($pc in $!data.get('1043'))
$!pc.get('name')
$!pc.get('promo_code')
#end
Підключіть PostgreSQL як зовнішнє джерело даних, щоб виконувати широкий спектр маркетингових завдань. Наприклад, додавати промокоди в тригерні кампанії або створювати складні сегменти на основі даних, зібраних на різних платформах.
Крок 4. Налаштування експорту даних
Щоб регулярно оновлювати інформацію про аудиторію, замовлення та результати кампанії в PostgreSQL, налаштуйте експорт даних з eSputnik в таблиці. Наприклад, ви можете експортувати відповіді на NPS-опитування, історію покупок, дату останнього переходу з в повідомлення тощо.
Доступні набори даних для експорту:
- workflowInstanceId – ідентифікатор окремого запуску сценарію; використовуйте його для угрупування розсилок у рамках запуску одного сценарію;
- broadcasts;
- contactActivities;
- contacts;
- devices;
- events;
- messages;
- orderItems;
- orders;
- revenue.
Список параметрів даних для експорту
Broadcasts
Параметр |
Тип даних | Опис |
---|---|---|
createdDate | timestamp |
Дата та час створення повідомлення (формат: '2021-10-08 11:11:02') |
groupId | int | ID груп, що брали участь у розсилці |
id | int | ID розсилки |
mediaType | varchar (50) | Медіатип (SMS, Email, Web Push, Viber, Mobile Push, AppInbox, Widget) |
messageId | int | ID повідомлення |
name |
varchar (1000) | Назва розсилки |
startedDate |
timestamp | Дата та час відправки розсилки (формат: '2021-10-08 11:11:02') |
status | varchar (50) |
Статуси розсилки:
|
updatedDate | timestamp | Дата та час оновлення розсилки (формат: '2021-10-08 11:11:02') |
ContactActivities
Параметр | Тип даних | Опис |
---|---|---|
activity (activityStatus)* |
varchar (100) | Статус активності:
|
workflowInstanceId | varchar (200) | Ідентифікатор окремого запуску сценарію. Використовуйте його для угрупування розсилок у рамках запуску одного сценарію. |
broadcastId | int | ID розсилки |
campaignType | varchar (50) |
Тип розсилки:
|
clickEventLink | varchar (1000) | Містить посилання, яке клікнув контакт (статус CLICKED) |
contactId | bigint | ID контакту в eSputnik (Внутрішній) |
errorCode (statusDescription)* | varchar (1000) | Помилка доставки SMTP та опис |
eventKey | varchar (100) | Ключ події |
eventTypeKey | varchar (100) | Ключ типу події |
externalCustomerId | varchar (100) | ID контакту у вашій системі (Зовнішній) |
mediaType | varchar (50) | Медіатип (SMS, Email, Web Push, Viber, Mobile Push, AppInbox, Widget, In-App, Telegram) |
messageInstanceId | int | Службове поле |
messageLanguageCode | varchar (50) | Код мови повідомлення |
messageName | varchar (100) | Назва повідомлення в обліковому записі eSputnik |
messageId | int | ID повідомлення |
messageTags | varchar (200) | Мітки повідомлення |
messageURL | varchar (1000) | Містить посилання на веб-версію email |
senderName | varchar (200) | Ім'я відправника у Viber |
started (activityDateTime)* | timestamp | Дата та час відправки повідомлення (формат: '2021-10-08 11:11:02') |
utmCampaign | varchar (400) | UTM-мітка розсилки |
workflowId | int | ID сценарію |
workflowBlockId | varchar (200) | ID блока сценарію |
* Поле буде видалено як застаріле; використовуйте поле, вказане у дужках
Contacts
Параметр | Тип даних | Опис |
---|---|---|
contactId | bigint | ID контакту в eSputnik (Внутрішній) |
contactSource | varchar (50) | Джерело контакту:
|
createdDate | timestamp | Дата та час створення контакту (формат: '2021-10-08 11:11:02') |
varchar (50) | Email контакту | |
emailDomain | varchar (100) | Домен email |
emailStatus | varchar (50) | Статус email |
externalCustomerId | varchar (100) | ID контакту у вашій системі (Зовнішній) |
firstName | varchar (50) | Ім'я контакту |
languageCode | varchar (20) | Код мови повідомлень |
lastClickedDate | timestamp | Дата та час останнього кліку (формат: '2021-10-08 11:11:02') |
lastName | varchar (50) | Прізвище контакту |
lastReceivedDate | timestamp | Дата та час останньої доставки (формат: '2021-10-08 11:11:02') |
lastSentDate | timestamp | Дата та час останньої відправки (формат: '2021-10-08 11:11:02') |
lastViewedDate | timestamp | Дата та час останнього відкриття (формат: '2021-10-08 11:11:02') |
sms | varchar (50) | Номер телефону |
totalClicked | int | Загальна кількість кліків |
totalReceived | int | Загальна кількість отриманих повідомлень |
totalSent | int | Загальна кількість надісланих повідомлень |
totalViewed | int | Загальна кількість переглянутих повідомлень |
Devices
Параметр | Тип даних | Опис |
---|---|---|
appVersion | varchar (50) | Версія додатку |
applicationId | int | ID додатку |
category | varchar (50) | Категорія |
contactId | bigint | ID контакту |
deviceId | varchar (250) | ID пристрою |
deviceModel | varchar (100) | Модель пристрою |
externalCustomerId | varchar (100) | Зовнішній ID контакту |
languageCode | varchar (20) | Код мови |
osType | varchar (50) | Тип ОС |
osVersion | varchar (50) | Версія ОС |
pushToken | varchar (max) | Пуш-токен |
timeZone | varchar (100) | Часовий пояс |
Events
Параметр |
Тип даних | Опис |
---|---|---|
contactId | int |
ID контакту |
eventId | int |
ID події |
eventTypeKey | string |
Тип події |
keyValue | string |
Ключ події |
occured | timestamp |
Дата і час виникнення (формат: '2021-10-08 11:11:02') |
paramsJson |
json | 50 перших параметрів та значень події (name/value); передається до 300 символів значень. |
Messages
Параметр | Тип даних |
Опис |
---|---|---|
annoyanceLevel | int | Рівень занепокоєння повідомлення |
language | varchar (50) | Мова основної версії повідомлення |
mediaType | varchar (50) | Медіатип (SMS, Email, Web Push, Viber, Mobile Push, AppInbox, Widget, In-App) |
messageId |
int | ID повідомлення |
name | varchar (200) | Назва повідомлення |
replyTo | varchar (200) | Адреса для відповідей |
sender | varchar (200) | Відправник |
subject | varchar (1000) | Тема |
tags | varchar (200) | Мітки |
translations | varchar (200) | Мовні версії повідомлення |
updateDate | timestamp | Дата та час оновлення повідомлення (формат: '2021-10-08 11:11:02') |
OrderItems
Параметр | Тип даних | Опис |
---|---|---|
cost | numeric | Вартість продукту |
description | varchar (300) | Опис продукту |
externalProductId | varchar (100) | Зовнішній ID продукту |
imageUrl | varchar (200) | Посилання на зображення продукту |
name | varchar (100) | Назва продукту |
orderDate | timestamp | Дата створення замовлення (формат: '2021-10-08 11:11:02') |
orderId | int | ID замовлення в eSputnik (Внутрішній) |
quantity | int | Кількість продукту |
url | varchar (200) | URL-адреса продуктуа |
Orders
Параметр | Тип даних | Опис |
---|---|---|
contactId | bigint | ID контакту в eSputnik (Внутрішній) |
deliveryAddress | varchar (100) | Адреса доставки |
deliveryMethod | varchar (50) | Спосіб доставки |
discount | numeric | Знижка |
varchar (50) | ||
externalOrderId | varchar (100) | Зовнішній ID замовлення |
firstName | varchar (50) | Ім'я контакту |
lastName | varchar (50) | Прізвище контакту |
orderCreatedDate | timestamp | Дата створення замовлення на eSputnik (формат: '2021-10-08 11:11:02') |
orderDate | timestamp | Дата створення замовлення (формат: '2021-10-08 11:11:02') |
orderId | int | ID замовлення в eSputnik (Внутрішній) |
paymentMethod | varchar (50) | Спосіб оплати |
phone | varchar (50) | Номер телефону |
status | varchar (50) | Статус замовлення:
|
totalCost | numeric | Загальна вартість замовлення |
Revenue
Параметр | Тип даних | Опис |
---|---|---|
activity (activityStatus)* | varchar (100) | Статус активності:
|
campaignType | varchar (50) | Тип розсилки:
|
clickEventLink | varchar (1000) | Містить посилання, яке клікнув контакт (статус CLICKED) |
contactId | bigint | ID контакту в eSputnik (Внутрішній) |
currency | varchar (3) | Валюта |
externalCustomerId | varchar (100) | ID контакту у вашій системі (Зовнішній) |
externalOrderId | varchar (200) | ID замовлення зовнішній |
mediaType | varchar (50) | Медіатип (SMS, Email, Web Push, Viber, Mobile Push, AppInbox, Widget) |
messageInstanceId | int | Службове поле |
messageName | varchar (100) | Назва повідомлення в обліковому записі eSputnik |
messageTags | varchar (200) | Мітки повідомлення |
messageUrl | varchar (1000) | Містить посилання на веб-версію email |
orderDate | timestamp | Дата створення замовлення (формат: '2021-10-08 11:11:02') |
senderName | varchar (200) | Ім'я відправника у Viber |
started (activityDateTime)* | timestamp | Дата та час відправки повідомлення (формат: '2021-10-08 11:11:02') |
totalCost | numeric | Загальна вартість замовлення |
utmCampaign | varchar (400) | UTM-мітка розсилки |
* Поле буде видалено як застаріле; використовуйте поле, вказане у дужках
Примітка
Існуючі записи в таблиці Revenue (для замовлень, зроблених після 08.03.2024) можна оновлювати разом з вивантаженням нових замовлень. Оновлення може знадобитися, наприклад, якщо змінилася загальна вартість замовлення.
Ця інформація буде передана в PostgreSQL і оновить дані в таблицях.
Важливо
Вам не потрібно попередньо створювати таблиці PostgreSQL. Вони будуть створені автоматично під час першого експорту, і з цього часу всі вхідні дані оновлюватимуться. Всі назви таблиць відповідатимуть наборам даних (contact activities, contacts, order items, orders, revenue)
Налаштування конектора PostgreSQL для експорту даних
1. Перейдіть у налаштування → “Експорт даних” та натисніть “Новий експорт даних”. Виберіть один із створених конекторів PostgreSQL.
2. Виберіть інтервал завантаження та встановіть прапорці для наборів даних, які потрібно завантажити. Тип набору даних за замовчуванням public, ви можете вибрати інший тип, якщо вказали його в налаштуваннях PostgreSQL.
3. Натисніть “Зберегти”.
Підключення буде відображено в розділі “Експорт даних”, тут ви можете змінити його налаштування.