Интеграция данных из eSputnik в Google BigQuery

Пользовательские данные

Email

Омниканальность

Автоматизация

Интеграция с Google BigQuery

Google BigQuery – это облачная база данных, входит в состав Google Cloud Platform. Пользователи BigQuery могут загружать большие объемы данных с высокой скоростью, хранить их в виде двумерных таблиц, обращаться к ним, используя SQL-запросы и выгружать результаты обработки данных.

Интеграция eSputnik с BigQuery будет полезна в таких ситуациях:

  • у вас есть CRM, где хранится большое количество информации о контактах;
  • создавать множество допполей в системе eSputnik и поддерживать актуальную информацию о контактах затруднительно;
  • вместо нескольких баз вы хотите, чтобы данные хранились в одном месте и не было необходимости постоянно хранить одну и ту же информацию в разных местах;
  • вы хотите строить кастомные отчеты в BQ с использованием данных из eSputnik.

eSputnik поддерживает два варианта интеграции с Google BigQuery:

Для настройки интеграции нужно:

  • Зарегистрировать аккаунт в Google Cloud Platform;
  • создать ключ проекта с правами администратора;
  • создать таблицы с данными в Google BigQuery;
  • настроить передачу данных в/из eSputnik из/в Google BigQuery.

Важно

Обратите внимание, что это интеграция платная. Свяжитесь с нашим отделом продаж, чтобы активировать функциональность.

Настройка интеграции eSputnik c BigQuery

Если у вас уже есть ключ проекта и настроены таблицы в BigQuery, то вы можете взять этот ключ и перейти сразу к пунктам

Создание ключа проекта

1. Авторизуйтесь в аккаунте Google Cloud Platform.

2. Выберите нужный проект → перейдите в раздел APIs & Services → Credentials.

Credentials

3. Нажмите +Create credentials → Service account.

Создание учетных данных сервисного аккаунта

4. Введите название аккаунта. Затем нажмите Create and continue.

Название сервисного аккаунта

5. Назначьте роль BigQuery Admin, затем Done.

Настройка роли нового сервисного аккаунта

6. На главной странице раздела Credentials нажмите на ссылку Manage service accounts.

Управление сервисными аккаунтами

7. Напротив только что созданного аккаунта нажмите три точки и выберите опцию Manage keys.

Управление ключами

8. Вы попали в раздел Keys. Нажмите на кнопку Add key и выберите вариант Create new key.

Создание ключа

9. В появившемся диалоговом окне выберите тип ключа JSON и нажмите CREATE.

Выбрать тип ключа JSON

После этого браузер автоматически скачает ключ в папку для загрузки.

Потом в настройках eSputnik вы загрузите этот ключ.

Подключение BigQuery

Чтобы подключить BigQuery к eSputnik, перейдите в “Настройки”① → “Коннекторы”② и нажмите “Подключить BigQuery”③.

Подключение BigQuery

В открывшемся окне настроек впишите название①, загрузите ключ проекта② и задайте соответствие полей, содержащих ключ уникальности③. Благодаря этому ключу уникальности система eSputnik будет ассоциировать поля с контактами в BigQuery. Без ключа уникальности нельзя будет построить ни сегмент по параметрам из BigQuery, ни подставить данные в сообщение. 

Настройки

После сохранения настроек подключение будет отображаться в разделе “Настройки” → “Коннекторы”. Кликнув на название, вы сможете зайти в настройки и редактировать параметры. Например, изменить правило сопоставления уникальных полей, если идентификатор контактов в BQ поменялся.

Коннекторы

Экспорт данных из системы eSputnik в таблицу BigQuery

Чтобы регулярно актуализировать в BigQuery информацию об аудитории, активности контактов в виджетах, заказах и результатах рассылок, настройте экспорт данных в таблицы. Например, это могут быть ответы на NPS-опрос, история покупок, дата последнего перехода из рассылки и т. д.

Доступные наборы данных для экспорта:

  • broadcasts;
  • contactActivities;
  • contacts;
  • devices;
  • messages;
  • orderItems;
  • orders;
  • revenue.

Таблицы для экспорта

После настройки 1 раз в сутки данная информация будет передаваться в BigQuery и обновлять данные в таблицах.

Важный момент

Предварительно создавать таблицы в BigQuery не нужно. Они создаются автоматически при первом экспорте и в дальнейшем информация в них будет обновляться. Названия таблиц будут соответствовать наборам данных (contactActivities, contacts, orderItems, orders).

Список параметров данных для экспорта

Broadcasts

Параметр

Тип данных Описание
createdDate timestamp

Дата и время создания сообщения (формат: '2021-10-08 11:11:02')

groupId int

ID групп, участвовавших в рассылке

id int

ID рассылки

mediaType string

Медиатип (SMS, Email, Web Push, Viber, Mobile Push, AppInbox, Widget)

messageId int

ID сообщения

name

string

Название рассылки

startedDate

timestamp

Дата и время отправки рассылки (формат: '2021-10-08 11:11:02')

status string

Статусы рассылки:

  • IDLE - завершена;
  • RUNNING - началась;
  • PAUSED - приостановлена (если рассылка не была остановлена вами вручную, обратитесь в службу поддержки для уточнения деталей);
  • SCHEDULED - запланирована;
  • UNCONFIRMED - в очереди на модерацию;
  • CONSIDERATION - на модерации;
  • BLOCKED - заблокирована модератором.
updatedDate  timestamp Дата и время обновления рассылки (формат: '2021-10-08 11:11:02')

ContactActivities

Параметр Тип данных Описание
activity (activityStatus)* string Статус активности:
  • DELIVERED – сообщение доставлено.
  • UNDELIVERED – сообщение не доставлено (содержит причину statusDescription).
  • RECEIVED – сообщение открыто.
  • UNSUBSCRIBED – контакт отписался от рассылки.
  • CLICKED – контакт кликнул ссылку в сообщении.
  • SPAM – контакт сообщил о спаме.
  • SUBSCRIPTION_CHANGED – контакт изменил категорию подписки.
  • PUSH_SUBSCRIBED — контакт подписался на push-уведомления.
workflowInstanceId string Идентификатор отдельного запуска сценария. Используйте его для группировки рассылок в рамках запуска одного сценария.
broadcastId int ID рассылки
campaignType string

Тип рассылки: 

  • ​​​​​​IM — триггерное сообщение, 
  • Group — массовая рассылка.
clickEventLink string Содержит ссылку, которую кликнул контакт (статус CLICKED)
contactId int ID контакта в eSputnik (Внутренний)
errorCode (statusDescription)* string Ошибка доставки SMTP и описание
eventKey string Ключ события
eventTypeKey string Ключ типа события
externalCustomerId string ID контакта в вашей системе (Внешний)
mediaType string Медиатип (SMS, Email, Web Push, Viber, Mobile Push, AppInbox, Widget, In-App)
messageInstanceId int Служебное поле
messageLanguageCode string Код языка сообщения
messageName string Название сообщения в аккаунте eSputnik
messageId int ID сообщения
messageTags string Метки сообщения
messageURL string Содержит ссылку на веб-версию email
senderName string Имя отправителя в Viber
started (activityDateTime)* timestamp Дата и время отправки сообщения (формат: '2021-10-08 11:11:02')
utmCampaign string UTM-метка рассылки
workflowId string ID сценария
workflowBlockId string ID блока сценария

* Поле будет удалено как устаревшее; используйте поле, указанное в скобках.

Contacts

Параметр Тип данных Описание
contactId int ID контакта в eSputnik (Внутренний)
contactSource string Источник контакта:
  • SITE_AUTOMATED - привязка email к push-подписчику (скрипт сбора web push), 
  • I_MESSAGE - отправка одного сообщения, 
  • CAMPAIGN - сценарий (блок “Создать контакт” или блок “Добавить в группу”), 
  • IMPORT - импорт файла или метод “Add contacts”, 
  • MANUAL - создан вручную, 
  • SUBSCRIPTION - форма подписки (API метод “Subscribe a contact”), 
  • API метод “Add contact”, 
  • ORDER - заказ на сайте (API метод “Add orders”).
createdDate timestamp Дата и время создания контакта (формат: '2021-10-08 11:11:02')
email string Email контакта
emailDomain string Домен email
emailStatus string Статус email
externalCustomerId string ID контакта в вашей системе (Внешний)
firstName string Имя контакта
languageCode string Код языка сообщений
lastClickedDate timestamp Дата и время последнего клика (формат: '2021-10-08 11:11:02')
lastName string Фамилия контакта
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 string Номер телефона
totalClicked int Общее количество кликов
totalReceived int Общее количество полученных сообщений
totalSent int Общее количество отправленных сообщений
totalViewed int Общее количество просмотренных сообщений

Devices

Параметр Тип данных Описание
appVersion string Версия приложения
applicationId int ID приложения
category string Категория
contactId int ID контакта
deviceId string ID устройства
deviceModel string Модель устройства
externalCustomerId string Внешний ID контакта
languageCode string Код языка
osType string Тип ОС
osVersion string Версия ОС
pushToken string Пуш-токен
timeZone string Часовой пояс                                                          

Messages

Параметр Тип данных

Описание

annoyanceLevel int Уровень беспокойства сообщения
language string Язык основной версии сообщения
mediaType string Медиатип (SMS, Email, Web Push, Viber, Mobile Push, AppInbox, Widget, In-App)

messageId

int ID сообщения
name string Название сообщения
replyTo string Адрес для ответов
sender string Отправитель
subject string Тема
tags string Метки
translations string Языковые версии сообщения
updateDate timestamp Дата и время обновления сообщения (формат: '2021-10-08 11:11:02')

OrderItems

Параметр Тип данных Описание
cost float Стоимость продукта
description string Описание продукта
externalProductId string Внешний ID продукта
imageUrl string Ссылка на изображение продукта
name string Название продукта
orderDate timestamp Дата создания заказа (формат: '2021-10-08 11:11:02')
orderId int ID заказа в eSputnik (Внутренний)
quantity int Количество продукта
url string URL-адрес продукта

Orders

Параметр Тип данных Описание
contactId int ID контакта в eSputnik (Внутренний)
deliveryAddress string Адрес доставки
deliveryMethod string Способ доставки
discount float Скидка
email string Email
externalOrderId string Внешний ID заказа
firstName string Имя контакта
lastName string Фамилия контакта
orderCreatedDate timestamp Дата создания заказа в eSputnik (формат: '2021-10-08 11:11:02')
orderDate timestamp Дата создания заказа (формат: '2021-10-08 11:11:02')
orderId int ID заказа в eSputnik (Внутренний)
paymentMethod string Способ оплаты
phone string Номер телефона
status string Статус заказа:
  • INITIALIZED,
  • IN PROGRESS,
  • DELIVERED, 
  • CANCELED.
totalCost float Общая стоимость заказа

Revenue

Параметр Тип данных Описание
activity (activityStatus)* string Статус активности:
  • DELIVERED – сообщение доставлено.
  • UNDELIVERED – сообщение не доставлено (содержит причину statusDescription).
  • RECEIVED – сообщение открыто.
  • UNSUBSCRIBED – контакт отписался от рассылки.
  • CLICKED – контакт кликнул ссылку в сообщении.
  • SPAM – контакт сообщил о спаме.
  • SUBSCRIPTION_CHANGED – контакт изменил категорию подписки.
  • PUSH_SUBSCRIBED — контакт подписался на push-уведомления.
campaignType string Тип рассылки:
  • IM — триггерное сообщение, 
  • Group — массовая рассылка.
clickEventLink string Содержит ссылку, которую кликнул контакт (статус CLICKED)
contactId int ID контакта в eSputnik (Внутренний)
currency string Валюта
externalCustomerId string ID контакта в вашей системе (Внешний)
externalOrderId string ID заказа внешний
mediaType string Медиатип (SMS, Email, Web Push, Viber, Mobile Push, AppInbox, Widget)
messageInstanceId int Служебное поле
messageName string Название сообщения в аккаунте eSputnik
messageTags string Метки сообщения
messageUrl string Содержит ссылку на веб-версию email
orderDate timestamp Дата создания заказа (формат: '2021-10-08 11:11:02')
senderName string Имя отправителя в Viber
started (activityDateTime)* timestamp Дата и время отправки сообщения (формат: '2021-10-08 11:11:02')
totalCost float Общая стоимость заказа
utmCampaign string UTM-метка рассылки
eventKey string Ключ события
eventTypeKey string Ключ типа события
messageLanguageCode string Код языка сообщения
orderId int ID заказа в eSputnik (Внутренний)
workflowId int ID сценария
broadcastId int ID рассылки

* Поле будет удалено как устаревшее; используйте поле, указанное в скобках.

Примечание

Существующие записи в таблице Revenue (для заказов, сделанных после 08.03.2024) можно обновлять вместе с выгрузкой новых заказов. Обновление может понадобиться, например, если изменилась общая стоимость заказа.

Настройка источника данных для экспорта

1. Перейдите в “Настройки”① → “Коннекторы”② и нажмите “Новый источник”③.

Добавление нового источника в eSputnik

2. Загрузите файл ключа и отметьте галочками те наборы данных, которые хотите выгружать. Затем нажмите “Сохранить”.

Настройки передачи данных

Подключение отобразится в разделе “Коннекторы” → “Экспорт в BigQuery” и, зайдя в него, вы сможете редактировать настройки.

Экспорт в BigQuery

Подключение таблиц BigQuery как источника данных для рассылки

Данный вариант подходит, когда нужно выделить сегмент пользователей и сделать по ним рассылку, как одноразово, так и на регулярной основе. Работает следующим образом:

  • в BigQuery есть таблица, где хранятся данные о контактах, которые вы передаете туда, например, из CRM;
  • вы хотите выделить определенный сегмент клиентов и отправить им рассылку с персонализированным контентом;
  • в системе eSputnik выбираете, по каким полям вы хотите сделать сегментацию. Например, нужно настроить регулярную рассылку для тех контактов, у кого день рождения сегодня. В этом случае при настройке вы выбираете из таблицы поле “День рождения”;
  • Подключаете таблицу с нужным контентом в eSputnik в раздел Настройки - Источники данных и создаете условную группу;
  • при редактировании вы задаете условия отбора, как и в обычной условной группе (День рождения → сегодня), только используете наборы данных из таблиц BigQuery. Они будут находиться в списке условий чуть ниже стандартных полей, в том виде, в котором они названы в источнике данных;
  • теперь можете подключить полученную группу к регулярному сценарию, чтобы автоматизировать отправку письма на день рождения.

Пройдемся по-порядку по пунктам настройки.

Настройка источника внешних данных

Чтобы сформировать группу по данным из BigQuery, нужно сначала настроить источник.

Для этого перейдите в раздел “Настройки” → “Источники данных”. Затем нажмите на кнопку “Новый источник” → “Внешние источники данных”.

Настройка источника внешних данных

В открывшемся диалоговом окне выберите источник данных BigQuery, который вы настраивали в разделе “Коннекторы”. В нашем примере это esputnik.

Выбор источника внешних данных

Настройка данных

  1. Выберите из списка dataset, в котором содержится нужная таблица.
  2. Определите таблицу с нужным набором данных.
  3. Назовите источник любым понятным названием.
  4. Нажмите “Сохранить”.

Настройка источника данных в eSputnik

После сохранения вас перебросит на страницу со списком подключенных источников. Вы можете перейти к редактированию настроек, нажав на название источника.

Список источников

Создание условной группы по параметрам из BigQuery

Для создания такой группы необходимо иметь хотя бы один внешний источник данных.

1. Перейдите в раздел “Контакты” → “Группы”. На странице списка групп выберите  “Условная”.

Условная группа

2. Задайте группе название (обязательно), описание и метку (по желанию).

3. Выберите условия для включения в группу. В параметрах условий нажмите на название источника, затем название таблицы и задайте условие. Например, DR date сегодня.
DR – это источник данных, date – столбец с датами рождения клиентов, сегодня – условие вхождения контакта в группу по данному параметру.

Условия для включения в группу

Сейчас в группу будут входить только те контакты, которые уже есть в базе eSputnik.

Например, если во внешнем источнике находятся 10 000 контактов, а в базу eSputnik из этих контактов добавлена только 1 000, то система задействует только эту 1 000 контактов. Для того чтобы оперировать всеми 10 000 контактов, их нужно сначала добавить в базу eSputnik через ручной импорт либо методом API Add/update contacts. Позже мы добавим возможность использовать все контакты из внешнего источника, а также автоматически сохранять их в базу eSputnik и обновлять данные уже существующих контактов.

Остались вопросы?
Специалисты обязательно ответят и помогут решить вашу проблему!
Обратный звонок
Оставьте заявку – и наш специалист свяжется с вами в рабочее время.
Отправить заявку
Консультация в чате
Готовы к вашим вопросам!
Написать в чат
Электронная почта
Напишите в службу поддержки eSputnik.
Отправить email