Интеграция данных из 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③.

Путь для добавления ключа проекта

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сохранение ключа на компьютере

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

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

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

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

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

Настройки

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

Коннекторы

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

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

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

  • contactActivities;
  • contacts;
  • orderItems;
  • orders;
  • revenue.

Экспорт

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

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

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

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

ContactActivities

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

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

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

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 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)
messageInstanceId int Служебное поле
messageName string Название сообщения в аккаунте eSputnik
messageTags string Метки сообщения
messageUrl string Содержит ссылку на веб-версию email
orderDate timestamp Дата создания заказа (формат: '2021-10-08 11:11:02')
senderName string Имя отправителя в Viber
started timestamp Дата и время отправки сообщения (формат: '2021-10-08 11:11:02')
totalCost float Общая стоимость заказа
utmCampaign string UTM-метка рассылки

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

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

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

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

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

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

Экспорт в BigQuery

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задать название группы

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

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

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

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

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