Первые шаги
Отслеживание событий и поведения
Пользовательские данные
- Создание сквозных модулей
- Оформление промовкладки для Gmail
- Настройка Smart-элементов
- Обзор адаптивного email-редактора
- Создание футера
- Настройка адаптивности
- Добавление Rolloverʼа
- Настройка блока "Меню"
- Добавление анкорных ссылок
- Робота с блоком "Изображения"
- Работа с блоком "Соцсети"
- Добавление таблицы в письмо
- Добавление фона в письмо
- Добавление пользовательских шрифтов
- Добавление кастомных иконок соцсетей
- Создание кнопки CTA
- Создание оформления для письма
- Редактирование HTML и CSS
- Работа с блоком "Баннер"
- Добавление блока "Видео"
- Библиотека блоков (Модули)
- Работа с блоком “Таймер"
Омниканальность
- Настройка универсальных ссылок (deeplinks & Universal links)
- Создание Google проекта для Mob Push
- Подключение мобильного приложения
- Планирование мобильных push-уведомлений
- Настройка аналитики доставляемости и кликов
- Управление ключами доступа к мобильному SDK
- Создание мобильных push-сообщений
- SDK для мобильных приложений
- Отчеты по мобильным push-рассылкам
- Service Worker. Устранение неполадок
- Создание welcome цепочки для web-push уведомлений
- Как настроить подписку на Web Push
- Создание web-push-уведомлений
- Инструкция по подключению Safari web push
- Создание Google проекта для сбора web-push токенов
- Персонализация веб-пушей данными из веб-активности пользователя
- Создание веб-формы для сайтов
- Отправка событий из форм подписки в Google Analytics
- Как настроить информер для вашего сайта
- Создание pop-up-форм с помощью Google Tag Manager или WordPress
- Настройка pop-up виджета для сайта
- Настройка плавающего окна для сайта
- Создание кнопки вызова виджета
- Настройка виджета возрастного ограничения
Автоматизация
- Настройка формы подписки и двойного подтверждения
- Как настроить автоматическое поздравление с Днем рождения
- Согласование переменных события со сценарием на примере сценария "Заказ доставлен"
- Сегментация триггерных писем по дополнительным полям
- Запуск сценария после импорта контактов
- Контроль триггеров
- Как привязать сценарий к кнопке
- Устранение неполадок в работе сценариев
- Как настроить автоматическую реактивацию подписчиков и клиентов
- Настройка сценария для опросов и сбора отзывов
- Как отправить рассылку непрочитавшим
- Создание регулярного сценария для группы (видео)
- Создание welcome-цепочки для email-сообщений
Персонализация
- HTTP-запрос для передачи промокода из сообщения в карточку контакта
- Принципы генерации промокодов с помощью PHP/JAVA
- Подстановка промокода с использованием API
- Загрузка промокодов для использования в сценарии
- Подстановка промокода с помощью персонализации
- Подстановка промокода из файла
- Генерация промокодов в сценарии
- Отправка промокода с помощью препроцессора
Аналитика
- Настройка визуализации дохода от рассылок
- Отслеживание эффективности рассылок в Google Analytics
- Отчет по AMP-рассылке
- Отчет по Viber-рассылке
- Как корректно открыть CSV-файл после экспорта
- Отчёт по email-рассылке
- Настройка передачи UTM-меток
- Отчет по Web-push рассылке
- Отчет по SMS-рассылке
- Отчеты по мобильным push-рассылкам
Мультиязычность
API
- API-ключи
- Ресурсы API для добавления контактов
- Использование API-ресурса Send prepared message
- Получение рекомендаций по API ресурсом Contact recommendations based on web tracking
- Использование API-ресурса Generate event
- Интеграция с API – частые вопросы
- Передача заказов с помощью ресурса Generate event
Смена системы
Документы
Интеграция
Отслеживание активности на сайте при помощи Generate event
Вы можете передавать и сохранять события, получаемые с вашего веб-сайта, с вашего бэкенда непосредственно в нашу систему, используя метод Generate event v2. Также, если вы настроили интеграцию с рекомендательной системой, вы можете сохранять данные в обоих сервисах.
Чтобы сделать запрос, отправьте следующие параметры в теле запроса на https://esputnik.com/api/v2/event:
Параметр | Описание |
---|---|
eventTypeKey | Обязательный. Идентификатор типа события. Если такого типа события с таким ключом не существует, то создается новое. |
keyValue | Обязательный параметр. Ключ события. Определяет уникальность события. |
params | Список параметров события, представленный в виде массива пар "ключ" - "значение". Ключи параметров произвольны. |
Вы можете передавать следующие события:
Событие | Описание |
---|---|
pageViewed | Просмотр страницы. |
productViewed | Просмотр карточки товара. |
productCategoryViewed | Просмотр категории товара. |
cartUpdated | Изменение позиций товаров в корзине. |
productImpressions | Товарные рекомендации, отображаемые посетителю вашего сайта. |
productAddedToWishlist | Посетитель вашего сайта добавил товар в список желаний. |
searchRequest | Данные о поисках товаров. |
pageViewed
Событие отправляется, когда контакт просматривает любую страницу или открывает мобильную ссылку на контент ("deeplink").
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип | Описание |
---|---|---|
phone | String | Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
String | Адрес электронной почты. Локатор для сопоставления события с контактом. | |
page | String | Расположение страницы. Обязательный для создания события. |
location | String | URL страницы или ссылка на контент ("deeplink"). Обязательный для создания события. |
Пример:
{
"eventTypeKey": "pageViewed",
"keyValue": "example@email.com",
"params": [
{
"name": "phone",
"value": "380501234567"
},
{
"name": "email",
"value": "example@email.com"
},
{
"name": "page",
"value": "{"location":"https://example.com"}"
}
]
}
productViewed
Событие отправляется, когда контакт просматривает определенный товар. Такую активность можно использовать в алгоритмах рекомендаций.
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип | Описание |
---|---|---|
phone | String | Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
String | Адрес электронной почты. Локатор для сопоставления события с контактом. | |
product | String | Обязательный. Данные товара. |
productId | String | Обязательный. Код товара. |
price | Double | Обязательный. Цена за единицу товара. |
isInStock | Int |
Необязательный. Наличие товара.
|
someProductProperty | Array of strings |
Необязательный. Разделенные запятыми значения свойств товара. |
currencyCode | String | Необязательный. Код валюты в формате ISO 4217. Если не задан, то используется значение по умолчанию для организации. |
Пример:
{
"eventTypeKey": "productViewed",
"keyValue": "example@email.com",
"params": [
{
"name": "phone",
"value": "411786452"
},
{
"name": "email",
"value": "example@email.com"
},
{
"name": "product",
"value": "{"productId":"WS01-L-Green","price":45.5,"isInStock":1,"someProductProperty":["green"]}]}"
},
{
"name": "currencyCode",
"value": "USD"
}
]
}
productCategoryViewed
Событие отправляется, когда контакт просматривает список товаров в указанной категории.
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип | Описание |
---|---|---|
phone | String | Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
String | Адрес электронной почты. Локатор для сопоставления события с контактом. | |
category | String | Описание категории. Обязательный для создания события. |
productCategoryId | String | Код категории. Требуется для создания события. |
Пример:
{
"eventTypeKey": "productCategoryViewed",
"keyValue": "example@email.com",
"params": [
{
"name": "phone",
"value": "7411324763"
},
{
"name": "email",
"value": "example@email.com"
},
{
"name": "category",
"value": "{"productCategoryId":"Mugs"}"
}
]
}
cartUpdated
Событие отправляется, когда контакт меняет товары в корзине. Полный список товаров в корзине передается с каждым запросом. Если корзина очищена, то список товаров будет пустым.
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип | Описание |
---|---|---|
phone | String | Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
String | Адрес электронной почты. Локатор для сопоставления события с контактом. | |
products | Array of strings | Обязательный параметр, если корзина не пуста. |
productId | String | Обязательный. Код товара. |
quantity | Double | Обязательный. Количество товаров в корзине. |
price | Double | Обязательный. Цена за единицу. |
name | String | Необязательный. Наименование товара. |
category | String | Необязательный. Категория товаров. |
discount | String | Необязательный. Скидка на единицу товара. |
someProductProperty | Array of strings | Необязательный. Разделенные запятыми значения свойств товара. |
currencyCode | String | Необязательный. Код валюты в формате ISO 4217. Если не задан, используется значение по умолчанию для организации. |
recycleStateId | String | Обязательный. Уникальный идентификатор, связывающий события корзины и покупки. Генерируется как набор случайных чисел и латинских букв. |
Пример:
{
"eventTypeKey": "cartUpdated",
"keyValue": "example@email.com",
"params": [
{
"name": "phone",
"value": "73456712"
},
{
"name": "email",
"value": "example@email.com"
},
{
"name": "products",
"value": "[{"productId":"WS01-L-Green","quantity":1,"price":45.5}]"
},
{
"name": "currencyCode",
"value": "USD"
},
{
"name": "recycleStateId",
"value": "d59c6e6d-4123-4b0e-8c32-15f0656a8c60"
}
]
}
productImpressions
Событие передает данные о товарном блоке, отображаемом на сайте. По умолчанию он отправляется через JS API. Вам не нужно отправлять его дополнительно.
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип | Описание |
---|---|---|
phone | String | Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
recomVariantId | String | Обязательный. Вариант рекомендации в формате r{recomId}v{variantId}. |
products | String | Обязательный. Содержит перечень товаров в формате JSON. |
productId | String | Обязательный. Код товара. |
Пример:
{
"eventTypeKey": "productImpressions",
"keyValue": "380501234567",
"params": [
// Locator or several locators to map an event to a contact
{
"name": "phone",
"value": Phone
},
{
"name" : "recomVariantId" // Required. Recom variant in r{recomId}v{variantId} format
"value" : string // Mer: container_type
},
{
"name": "products", // Required. Mer: ProductImpression.Products
"value": "[ // string contains JSON for a list
{
// Required product fields
"productId": string // Mer: product_id
},
...
]"
}
]
}
productAddedToWishlist
Событие передает данные о товарах, добавленных в список желаний (избранное).
Он используется для расчета и отображения рекомендаций и отправки триггеров, связанных со списком желаний.
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип | Описание |
---|---|---|
phone | String | Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
product | String | Обязательный. Содержит список товаров, добавленных в список желаний, в формате JSON. |
productId | String | Обязательный. Код товара. |
price | Decimal | Обязательный. Цена товара. |
isInStock | Int | Необязательный. Наличие на складе. Может принимать значение 0 (нет в наличии) или 1 (в наличии). |
someProductProperty | String | Значения свойств товара. Дополнительное поле товара. |
currencyCode | String | Необязательный. Код валюты в формате ISO 4217. Если не задан, используется значение по умолчанию для организации. |
Пример:
{
"eventTypeKey": "productAddedToWishlist",
"keyValue": "380501234567",
"params": [
// Locator or several locators to map an event to a contact
{
"name": "phone",
"value": Phone
},
{
"name": "product", // Required. Mer: AddToWishlist.Product
"value": "{ // string contains JSON for a product
// Product fields
"productId": string, // Required. Mer: product_key
"price": decimal, // Required. Mer: price
"isInStock": int, // Optional. 0 or 1; Mer: isInStock
// Extended product fields
"someProductProperty": [ string, ... ], // Mer: tag_someProductProperty
...
}"
}
{
"name": "currencyCode", // Optional
"value": CurrencyCode
}
]
}
searchRequest
Событие передает данные о поисковых запросах, отправленных из поисковой строки.
Это событие используется для триггеров. Отправляйте его, когда поиск не дает результатов. В триггере такие контакты будут получать персональные рекомендации (на данный момент рекомендации не основаны на значении, введенном в строке поиска).
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип | Описание |
---|---|---|
phone | String | Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
search | String | Обязательный. Значение, введенное в строке поиска. |
isFound | Int |
Необязательный. Если поиск не дает результатов, тогда значение равняется 0. Если поиск возвращает какие-либо результаты, тогда значение равняется 1. |
Пример:
{
"eventTypeKey": "searchRequest",
"keyValue": "380501234567",
"params": [
// Locator or several locators to map an event to a contact
{
"name": "phone",
"value": Phone
},
{
"name": "search", // Required. Mer: SearchRequest.search
"value": string
},
{
"name": "isFound", // 0 or 1. Optional, default 0. Mer: SearchRequest.isFound
"value": int
}
]
}