Первые шаги
Пользовательские данные
- Обзор адаптивного email-редактора
- Создание оформления для письма
- Создание сквозных модулей
- Настройка адаптивности
- Настройка smart-контейнеров
- Оформление промовкладки для Gmail
- Добавление Ролловера
- Добавление анкорных ссылок
- Библиотека модулей
- Добавление таблицы в письмо
- Работа с блоком "Баннер"
- Добавление пользовательских шрифтов
- Создание кнопки CTA
- Работа с блоком "Картинка"
- Работа с блоком “Таймер"
- Использование ИИ в email-редакторе
Омниканальность
- SDK для мобильных приложений
- Управление ключами доступа к мобильному SDK
- Подключение мобильного приложения
- Создание и загрузка ключа Firebase
- Создание мобильных push-сообщений
- Настройка аналитики доставляемости и кликов
- Планирование мобильных push-уведомлений
- Типы диплинков
- Отправка тестовых сообщений из отладки запросов
- Настройка виджетов для сайта
- Вызов виджета
- Настройка геоданных для правил вызова виджетов
- Сохранение данных из виджетов в поля контактов
- Защита от раздражения
- Действия после заполнения формы
- Замена системного сценария Double Opt-In
- Создание pop-up-форм с помощью Google Tag Manager или WordPress
- Отправка событий из форм подписки в 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 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')
Письмо будет выглядеть так:
Обратите внимание
Мобильное push-уведомление отображаеся по-разному на разных устройствах, но мы рекомендуем использовать не более 40 символов. Если содержимое массива может превысить этот объем, цикл foreach лучше не использовать.
Вместо этого можно обратиться к определенному элементу массива. Тогда velocity-конструкция для массива будет выглядеть так: $!data.get('array_items').get(0).get(' name'). В такой конструкции выводится первый элемент массива (нумерация начинается с 0).