Перші кроки
Дані користувача
- Огляд адаптивного email-редактора
- Cтворення оформлення для листа
- Створення синхронізованих модулів
- Налаштування адаптивності
- Налаштування Smart-елементів
- Оформлення промовкладки для Gmail
- Додавання Rolloverʼа
- Додавання фону до листа
- Додавання анкорних посилань
- Бібліотека блоків (Модулі)
- Додавання таблиці до листа
- Додавання кастомних шрифтів
- Додавання кастомних іконок соцмереж
- Створення кнопки СТA
- Робота з блоком "Зображення"
- Використання ШІ в email-редакторі
Омніканальність
- SDK для мобільних застосунків
- Керування ключами доступу до мобільного SDK
- Підключення мобільного застосунку
- Створення Google проекту для Mob Push
- Створення мобільних push-повідомлень
- Налаштування аналітики доставлень та кліків
- Планування мобільних push-повідомлень
- Налаштування універсальних посилань (deeplinks & Universal links)
- Надсилання тестових повідомлень із налагодження запитів
- Налаштування віджетів для сайту
- Виклик віджета
- Збереження даних із віджетів у поля контактів
- Захист від роздратування
- Дії після заповнення форми
- Розширення для тестування форм в Google Chrome
- Створення pop-up-форм за допомогою Google Tag Manager або WordPress
- Надсилання подій з віджетів eSputnik до Google Analytics
- Заміна системного сценарію Double Opt-In
- Налаштування геоданих для правил виклику віджетів
Автоматизація
- Подвійне підтвердження підписки
- Вітальна серія
- Вітальна серія із сегментацією за категоріями
- Запуск сценарію після імпорту контактів
- Регулярний сценарій для групи
- Вітання з днем народження
- Привʼязка сценарію до кнопки
- Реактивація клієнтів та підписників
- Відправка розсилки непрочитавшим
- Налаштування додаткових розсилок
Персоналізація
- Підстановка промокоду з файлу
- Підстановка промокоду з використанням API
- Принципи генерації промокодів за допомогою PHP/JAVA
- Підстановка промокоду за допомогою персоналізації
- Завантаження промокодів для використання в сценарії
- Генерація промокодів у сценарії
- Відправлення промокоду за допомогою передпроцесора
- HTTP-запит для передачі промокоду з повідомлення до картки контакту
Аналітика
- Звіт щодо email-розсилки
- Звіт щодо SMS-розсилки
- Звіт щодо розсилки Web Push
- Звіт щодо Viber-розсилки
- Звіт щодо розсилки Mob Push
- Звіт щодо розсилки App Inbox
- Звіт зі взаємодії з віджетами
- Звіт щодо тригерної розсилки
- Звіт щодо AMP-розсилки
- Звіт щодо мультимовної розсилки
- Налаштування передачі UTM-міток
- Візуалізація доходу
- Відстеження ефективності розсилок у Google Analytics
Мультимовність
Відстеження подій та поведінки
- Розгалуження сценарію в залежності від параметрів події
- Відстеження активності на сайті за допомогою 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 для відправки кастомних подій з бекенду до eSputnik. Докладніше про надсилання даних із замовлення читайте в інструкції.
Розглянемо практично, як підставити дані з подій у повідомлення.
Зверніть увагу
Повідомлення з динамічним контентом із події має брати участь у сценарії, який запускається відповідною подією. Більше в інструкції із запуску тригерного сценарію за подією.
Типи даних із події
Подія може містити різні типи даних, які по-різному підставляються до повідомлення:
- Прості дані (рядки та числа, що не входять в об'єкт або масив)
- Дані об'єкту
- Дані масиву
Розглянемо, як передати ці типи даних повідомлення, на прикладі наступного запиту:
{
"eventTypeKey": "data_for_message",
"keyValue": "user@imaginary.email",
"params":
[
{
"name": "EmailAddress",
"value": "user@imaginary.email"
},
{
"name": "externalOrderId",
"value": 20233
},
{
"name": "sellerName",
"value": "Shop Tea"
},
{
"name": "object",
"value":
{
"title": "Black Tea",
"text": "Tea from the Tonganagaon plantation in India",
"img": "https://pics.site.com/repository/home/1/common/images/1576074904732.jpg",
"price": "$11.05",
"link": "https://site.com"
}
},
{
"name": "array",
"value":
{
"array_items":
[
{
"title": "Black Tea",
"text": "Tea from the Tonganagaon plantation in India",
"img": "https://pics.site.com/repository/home/1/common/images/1576074904732.jpg",
"price": "$11.05"
},
{
"title": "Green Tea",
"text": "Tea from the Indian region of Darjeeling",
"img": "https://pics.site.com/repository/home/1/common/images/1576074904060.jpg",
"price": "$10.20"
},
{
"title": "Herbal tea",
"text": "Peach, rosehip, and apple, spring flavor.",
"img": "https://pics.site.com/repository/home/1/common/images/1576074902892.jpg",
"price": "$15.00"
}
]
}
}
]
}
Підстановка простих даних із події
У нас є поля "externalOrderId" та "sellerName" зі значеннями 20233 й "Shop Tea". Ці рядки та числа не входять до об'єкта або масиву.
Щоб підставити дані у повідомлення:
- використовуйте у шаблоні повідомлення velocity-конструкції $data.get('externalOrderId') та $data.get('sellerName'), де externalOrderId та sellerName — назви полів із запиту.
Користувач, який ініціалізував подію, отримає повідомлення:
Підстановка даних із об'єкта
У прикладі об’єкт — це дані одного товару:
{
"name": "object",
"value":
{
"title": "Black Tea",
"text": "Tea from the Tonganagaon plantation in India",
"img": "https://pics.site.com/repository/home/1/common/images/1576074904732.jpg",
"price": "$11.05",
"link": "https://site.com"
}
}
Для того щоб отримати доступ до даних об'єкту:
1. В сценарії виділіть блок повідомлення та у полі JSON вкажіть назву об'єкту (у цьому запиті — ${object}).
2. У самому повідомленні у відповідних полях вкажіть velocity-змінні з об'єкту:
- $data.get('title')
- $data.get('text')
- $data.get('img')
- $data.get('price')
- $data.get('link')
Лист матиме такий вигляд:
Передавання об'єкту з даними покриває більшість потреб для таких каналів, як SMS, Web Push, Mobile Push, Viber та App Inbox.
Щоб передати більше даних, використовується масив.
Підстановка даних із масиву
У прикладі в масиві передаються дані декількох товарів:
{
"name": "array",
"value":
{
"array_items":
[
{
"title": "Black Tea",
"text": "Tea from the Tonganagaon plantation in India",
"img": "https://pics.site.com/repository/home/1/common/images/1576074904732.jpg",
"price": "$11.05"
},
{
"title": "Green Tea",
"text": "Tea from the Indian region of Darjeeling",
"img": "https://pics.site.com/repository/home/1/common/images/1576074904060.jpg",
"price": "$10.20"
},
{
"title": "Herbal tea",
"text": "Peach, rosehip, and apple, spring flavor.",
"img": "https://pics.site.com/repository/home/1/common/images/1576074902892.jpg",
"price": "$15.00"
}
]
}
}
Для того щоб отримати доступ до даних масиву:
1. В сценарії виділіть блок повідомлення та у полі JSON вкажіть назву масиву (в прикладі це ${array}).
2. В email-редакторі виделіть відповідну полосу, відкрийте код і додайте velocity-конструкцію з циклом #foreach:
<!-- #foreach( $item in $data.get('array_items') ) -->
// html контент
<!-- #end -->
Цикл послідовно проходить елементами масиву, розміщуючи дані в проміжний об'єкт $items (довільна назва), який використовується для підстановки даних в повідомлення.
3. Вкажіть velocity-змінні з масиву у відповідних полях листа:
- $item.get('title')
- $item.get('text')
- $item.get('img')
- $item.get('price')
- $item.get('link')
Лист матиме такий вигляд:
Зверніть увагу
Мобільне сповіщення відображається по-різному на різних пристроях, але ми рекомендуємо використовувати не більше 40 символів. Якщо вміст масиву може перевищити цей обсяг, цикл foreach краще не використовувати.
Натомість можна звернутися до певного елементу масиву. Тоді velocity-конструкція для масиву виглядатиме так: $!data.get('array_items').get(0).get('name'). У такій конструкції виводиться перший елемент масиву (нумерація починається з 0).