Перші кроки
Дані користувача
- Огляд адаптивного 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
Зміна системи
Документи
Інтеграція
Використання API-ресурсу Generate event
Використовуючи API ресурс Generate event, ви можете надсилати події зі свого вебсайту та зберігати їх у нашій системі. Ці події можна використовувати для запуску сценарію або для сегментації.
Важливо
Методи API версії 2 не потребують екранування вкладеного JSON.
Метод включає параметри, які описані в наступній таблиці.
Зверніть увагу
Максимальний розмір контенту для подій, що надсилаються в тілі запиту, становить 20 кілобайтів. Зверніться до служби підтримки, якщо вам потрібно змінити максимальний розмір.
Параметр | Тип | Опис |
---|---|---|
eventTypeKey | рядок, обов'язковий | Ключ ідентифікатора типу події. Якщо типу події з таким ключем не існує, створюється новий. Допускається використання всіх символів, крім < ; ’ \ / | " ` ' ^ ? ! , > Максимальна кількість символів: 100 |
keyValue | рядок |
Ключ події. Визначає унікальність події. Ключ має містити унікальне значення для кожного контакту (наприклад, адреса електронної пошти, номер телефону, зовнішній ідентифікатор контакту тощо).
Максимальна кількість символів: 300 |
params | масив об'єктів | Список параметрів події, представлений у вигляді масиву пар "ключ" - "значення". Ключі параметрів довільні. Використовується у сценаріях та для створення динамічного контенту у повідомленнях. |
Важливо
При передачі подій за допомогою методу Generate event v2 externalCustomerId в params ігнорується, якщо він містить порожнє або null значення. Наприклад, "", " ", " ", "null", null.
Ви можете використовувати цей API ресурс для надсилання наступних запитів, як описано нижче.
Використання для покинутих кошиків і переглядів
Приклад запиту:
{
"eventTypeKey": "abandoned_cart",
"keyValue": "site@com.net",
"params":
[
{
"name": "emailAddress",
"value": "site@ukr.net"
},
{
"name": "items",
"value":
{
"array":
[
{
"name": "Кондиціонер для сухого волосся",
"price": "341",
"url": "https://site.com/catalog/suhaya-detskaya-molochnaya-smes-hipp-combiotic-2-750-g",
"imageurl": "https://site.com/uploads/product/big/20161122/20161122_7zvb.jpg",
"brand": "Le Petit Olivier",
"tags_weight": "200",
"tags_oldprice": "467"
},
{
"name": "Magnolia Nobile Парфумована вода",
"price": "2341",
"url": "https://site.com/catalog/suhaya-detskaya-molochnaya-smes-hipp-combiotic-2-750-g",
"imageurl": "https://site.com/uploads/product/big/20161122/20161122_7zvb.jpg",
"brand": "Acqua Di Parma",
"tags_weight": "100",
"tags_oldprice": "4467"
}
]
}
}
]
}
eventTypeKey – це рядковий ідентифікатор типу події. Якщо до цього його не існувало, після першого запиту він з'явиться в обліковому записі, і його можна буде побачити в розділі “Тригери” → “Типи подій”.
Параметри події можна переглянути у вкладці “Тригери” → “Історія подій” → клікнути потрібну подію у списку.
- keyValue – ключ події;
- params – параметри події, які можна використовувати у повідомленні та сценарії.
Обмежень за кількістю параметрів немає.
Обов'язковий формат – масив {"name": "emailAddress","value": "site@ukr.net"}.
Це означає, що у даних зберігається змінна email зі значенням site@ukr.net. Надалі до неї треба звернутися у сценарії, прописавши у блоці відправлення повідомлення ${emailAddress} для успішного відправлення на пошту site@ukr.net:
Масив array містить два елементи (у цьому випадку це два товари) з набором змінних name, price, url, imageurl, brand, tags_weight, tags_oldprice. Обмежень за кількістю елементів немає. Назви змінних можуть бути довільними.
З метою використання у повідомленні даних з масиву array у блоці відправлення повідомлення в пункті JSON треба вказати назву поля items:
Дані з події можна підставити повідомлення за допомогою velocity-конструкцій.
Для звертання до даних можна використовувати цикл:
#foreach($!item in $!data.get('array'))
$!item.get('name')
$!item.get('price')
$!item.get('url')
$!item.get('imageurl')
$!item.get('brand')
$!item.get('tags_weight')
$!item.get('tags_oldprice')
#end
Можна звертатися напряму за індексом до елементів масиву (відлік починається з 0). Такий спосіб звертання до даних може призводити до помилок підставлення контенту за відсутності елемента масиву.
Перший елемент:
$!data.get('array').get(0).get('name')
$!data.get('array').get(0).get('price')
$!data.get('array').get(0).get('url')
$!data.get('array').get(0).get('imageurl')
$!data.get('array').get(0).get('brand')
$!data.get('array').get(0).get('tags_weight')
$!data.get('array').get(0).get('tags_oldprice')
Другий елемент:
$!data.get('array').get(1).get('name')
$!data.get('array').get(1).get('price')
$!data.get('array').get(1).get('url')
$!data.get('array').get(1).get('imageurl')
$!data.get('array').get(1).get('brand')
$!data.get('array').get(1).get('tags_weight')
$!data.get('array').get(1).get('tags_oldprice')
І так далі.
Важливо
Звертатися до змінних слід з урахуванням регістру, оскільки змінні є чутливими до регістру. Якщо в листі вказано $!item.get('ImageUrl'), а в запиті надсилається imageurl, змінну не буде підставлено. Також типовою помилкою є кириличні символи у змінних. Змінні треба вводити виключно латиницею.
Переглянути та перевірити підставляння динамічних даних у режимі попереднього перегляду можна за допомогою кнопки “Налаштування динамічного контенту”:
У вікні що відкриється, в полі для введення даних треба вставити масив із динамічними даними:
Після чого натисніть кнопку "Перегляд повідомлення"
- У разі помилки під час підставляння динамічного контенту слід перевірити коректність синтаксису velocity-виразу в повідомленні.
- Якщо ви бачите помилку “Неправильний формат”, перевірте синтаксис запиту JSON.
- Якщо помилок немає, але дані не підставилися під час попереднього перегляду, перевірте, чи приведені до єдиного вигляду змінні в запиті та змінні в листі, чи коректно прописані звертання до змінних.
- Якщо помилок немає і дані підставилися, можна проводити тест, передаючи запит по API до акаунта.
Використання для створення/оновлення контакту
Приклад запиту:
{
"eventTypeKey": "create_contact",
"keyValue": "site@com.net",
"params":
[
{
"name": "emailAdddress",
"value": "site@ukr.net"
},
{
"name": "phone",
"value": "380501234567"
},
{
"name": "externalCustomerId",
"value": "AV13760"
},
{
"name": "json",
"value":
{
"profileInputs":
[
{
"profileInputId": 10001,
"value": "2020-11-23"
}
]
}
}
]
}
де
- 10001 – id додаткового поля.
- 2020-11-23 – значення додаткового поля.
Зверніть увагу на коректність даних, що передаються:
- Довжина імені та прізвища – максимум 60 символів.
- Коректний номер телефону в міжнародному форматі. Наприклад, +380001348460.
- Значення додаткового поля контакту, яке відповідає його формату.
У разі некоректного передавання даних, весь масив для оновлення полів контакту буде проігнорований системою і додавання даних до картки контакту не буде здійснено.
Для коректної роботи сценарію в блоках "Створити контакт"/"Оновити контакт" необхідно в полі Email прописати змінну із запиту – ${emailAddress}, а в полі JSON – масив для створення/оновлення контакту – ${json}.
Детальний опис блоку “Задача” для створення та оновлення контакту ви знайдете в цій інструкції.
Використання для відправлення сервісних листів
Розглянемо на прикладі запуску листа про відновлення пароля.
Приклад запиту:
{
"eventTypeKey": "password_recovery",
"keyValue": "site@com.net",
"params": [{
"name": "EmailAddress",
"value": "site@ukr.net"
},
{
"name": "password",
"value": "12345678"
}
]
}
У сценарії необхідно використовувати блок "Задача" - "Обов'язковий email", а в листі, який буде надіслано, вказати змінну $!data.get('password')
Детальний опис блоку “Задача” ви знайдете в цій інструкції.
Використання для перевірки даних контактів у подіях
Ви можете перевірити дані контактів у подіях, використовуючи метод Generate event.
Вкажіть contactJson у params як значення параметра name.
{
"params": [
{
"name": "contactJson",
"value": "..."
}
]
}
Вкажіть дані, які ви хочете перевірити, у полі value.
Наприклад:
{"firstname":"...","lastname":"...","sms":"...","town":"...","timeZone":"Etc/GMT+03","languageCode":"uk","profileInputs":
[{"profileInputId":10001,"value":"..."}],"confirmed":false}
Коли ви надсилаєте цей запит, використовуючи метод Generate event, API-ресурс розуміє це як отримання нового контакту і виконує перевірку даних.
Якщо дані є недійсними, метод повертає відповідь “400 Bad Request”. Відповідь містить неприпустимі поля та відомості про помилку.
Крім того, що ресурс Generate event можна використовувати для створення/оновлення контакту і запуску сценарію з можливістю підставляння динамічного контенту до тіла повідомлення. Цей ресурс можна використовувати для передачі замовлень до системи. Цьому питанню присвячена тематична стаття.
Збагачення профілю контакту даними про місцеперебування за IP в події
Використовуючи метод Generate event v2, можна розширити параметри події, передавши IP-адресу контакту в params. IP-адреса має бути у форматі IPv4 або IPv6.
Приклад запиту:
{
"keyValue": "john.doe@example.com",
"eventTypeKey": "welcome",
"params": [
{
"name": "email",
"value": "john.doe@example.com"
},
{ "name": "ip",
"value": "192.0.2.1"
}
]
}
Подію буде доповнено параметрами, описаними в таблиці.
Параметр | Опис |
countryCode | Дволітерний код країни |
countryId | Ідентифікатор країни у географічній базі даних |
regionName | Назва регіону англійською |
regionId | Ідентифікатор регіону у географічній базі даних |
cityName | Назва міста англійською |
cityId | Ідентифікатор міста у географічній базі даних |
Зверніть увагу
Якщо система не може визначити регіон та місто по IP, вона визначає країну за параметром події countryCode.
Зверніть увагу
Якщо подія вже містить один з наступних параметрів, додаткові поля не створюються і місцеперебування залишається незмінним:
- countryCode,
- countryId,
- regionName,
- regionId,
- cityName,
- cityId