Інтеграція даних з eSputnik у Google BigQuery

Дані користувача

Email

Омніканальність

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

Інтеграція з Google BigQuery

BigQuery – це хмарна база даних, яка входить до складу Google Cloud Platform. Користувачі BigQuery можуть завантажувати великі обсяги даних із високою швидкістю, зберігати їх у вигляді двовимірних таблиць, звертатися до них, використовуючи SQL-запити, і вивантажувати результати обробки даних.

Інтеграція eSputnik із BigQuery буде корисною в таких ситуаціях:

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

eSputnik підтримує два варіанти інтеграції з Google BigQuery:

Для налаштування інтеграції необхідно:

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

Важливо

Зверніть увагу, що ця інтеграція платна. Зв’яжіться з нашим відділом продажів, щоб активувати функціональність.

Налаштування інтеграції eSputnik із BigQuery

Якщо ви вже маєте ключ проекту і налаштовані таблиці у BigQuery, ви можете взяти цей ключ і перейти одразу до пунктів:

Створення ключа проекту

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

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

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 

Створіть конектор:

  1. Введіть назву.
  2. Завантажте файл ключа.
  3. Клікніть “Перевірити підключення”, щоб впевнитися у коректності даних авторизації. Якщо підключення не відбудеться, перевірте введені дані та за потреби зверніться до вашого системного адміністратора.
  4. Задайте відповідність полів, що містять ключ унікальності. Завдяки цьому ключу унікальності система eSputnik асоціюватиме поля з контактами у BigQuery. Без ключа унікальності не можна буде ані побудувати сегмент за параметрами з BigQuery, ані підставити дані до повідомлення.
  5. Натисніть “Зберегти”.

Підключення BigQuery

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

Конектори

Експорт даних із системи eSputnik до таблиці BigQuery

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

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

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

Таблиці для експорту

Після налаштування один раз на добу ця інформація передаватиметься до 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, то система задіює лише цю тисячу контактів. Щоб оперувати всіма 10 000 контактів, їх необхідно спочатку додати до бази eSputnik шляхом ручного імпорту або методом API Add/update contacts. Пізніше ми додамо можливість використовувати всі контакти із зовнішнього джерела, а також автоматично зберігати їх до бази eSputnik і оновлювати дані вже наявних контактів.

Залишилися питання?
Спеціалісти обов'язково нададуть відповідь та допоможуть вирішити вашу проблему!
Зворотний дзвінок
Залишіть заявку – і наш спеціаліст зв'яжеться з вами в робочий час.
Відправити заявку
Консультація в чаті
Готові до ваших запитань!
Написати в чат
Електронна пошта
Напишіть в службу підтримки eSputnik.
Надіслати email