Імпорт даних із таблиць BigQuery

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

Email

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

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

Відстеження подій та поведінки

Імпорт даних із таблиць BigQuery

Розглянемо створення джерела даних BigQuery і його використання для сегментації та персоналізації в eSputnik.

Налаштування джерела для імпорту даних в eSputnik

1. Перейдіть до розділу “Налаштування” → “Джерела даних” і натисніть “Нове джерело” → “Зовнішні джерела даних”.

Зовнішні джерела даних

2. Виберіть створений конектор.

Конектор

3. Укажіть набір даних і таблицю та введіть назву джерела. Натисніть “Зберегти”.

Зберегти

Використання даних BigQuery для персоналізації розсилок

Дані BigQuery можуть використовуватися для таргетованих кампаній із залученням клієнтських даних, таких як історія покупок, рівень залучення та обрані категорії товарів. 

1. Масова кампанія з даними BigQuery

Розглянемо, як запустити кампанію, націлену на клієнтів, які нещодавно придбали певні категорії продуктів, пропонуючи персоналізований промокод. Нижче наведено приклад налаштування даних для контакту jdoe@example.com із використанням джерела даних discount_codes:

{
  "data": {
    "discount_codes": [
      {
        "id": "3",
        "email": "jdoe@example.com",
        "name": "John Doe",
        "recent_purchase_category": "Home Appliances",
        "discount_code": "SAVE20-HOME",
        "expiry_date": "2023-12-31T23:59:59Z"
      }
    ]
  }
}
JSON
COPY

Ви можете посилатися на кожне поле в повідомленні за допомогою синтаксису Velocity таким чином:

  • Безпосередньо за параметрами (якщо ви знаєте, що масив має фіксовану довжину):
$!data.get('discount_codes').get(0).get('name')
$!data.get('discount_codes').get(0).get('discount_code')
JSON
COPY
  • Використовуючи цикл (для масивів гнучкої довжини):
#foreach($code in $!data.get('discount_codes'))
  $!code.get('name')
  $!code.get('discount_code')
#end
JSON
COPY

2. Тригерна кампанія, заснована на кількості покупок

Щоб надсилати персоналізовані повідомлення, коли клієнти здійснюють певну кількість покупок, наприклад, 50.

1. Створіть динамічну групу, яка включатиме клієнтів, що відповідають певним умовам покупки (наприклад, зроблено 50-ту покупку).

2. Налаштуйте регулярний сценарій для цієї групи.

Коли сценарій запускається для контактів, які відповідають заданим умовам, система створює подію. Назва події генерується шляхом об’єднання статичного префікса regularEventType з ідентифікатором групи, наприклад — regularEventType-170531841.

Ця подія містить контактні дані, такі як ідентифікатор контакту в eSputnik (contactId), email-адреса (emailAddress) і дані, отримані із зовнішньої таблиці. Кожне поле з таблиці перетворюється на ключ і поміщається в масив, позначений числовим іменем, яке відповідає ідентифікатору джерела даних.

ID ідентифікатора

Цей масив серіалізується та зберігається як рядок у полі jsonParam. Приклад тіла події може виглядати так:

{
  "params": [
    {
      "name": "contactId",
      "value": "123456789"
    },
    {
      "name": "jsonParam",
      "value": "{\"1043\":[{\"id\":2,\"email\":\"shopper@example.com\",\"name\":\"Jordan Lee\",\"lastPurchaseDate\":\"2023-10-15T10:00:00Z\",\"purchaseFrequency\":50,\"averageBasketValue\":120}]}"
    },
    {
      "name": "emailAddress",
      "value": "shopper@example.com"
    }
  ]
}
JSON
COPY

При підставлянні даних у повідомлення номер джерела даних в eSputnik використовується як назва масиву:

{
  "data": {
    "1043": [
      {
        "id": "2",
        "email": "shopper@example.com",
        "name": "Jordan Lee",
        "lastPurchaseDate": "2023-10-15T10:00:00Z",
        "purchaseFrequency": 50,
        "averageBasketValue": 120
      }
    ]
  }
}
JSON
COPY

Якщо ви знаєте, що масив має фіксовану довжину, ви можете звертатися до полів безпосередньо:

$!data.get('1043').get(0).get('name')
$!data.get('1043').get(0).get('lastPurchaseDate')
$!data.get('1043').get(0).get('purchaseFrequency')
$!data.get('1043').get(0).get('averageBasketValue')
COPY

Якщо масив 1043 може містити кілька записів, використовуйте цикл для динамічного підставлення всіх значень:

#foreach($entry in $!data.get('1043'))
  $!entry.get('name')
  $!entry.get('lastPurchaseDate')
  $!entry.get('purchaseFrequency')
  $!entry.get('averageBasketValue')
#end
JSON
COPY

Створення динамічного сегмента за допомогою параметрів BigQuery

1. У розділі “Контакти” → “Групи” створіть нову динамічну групу.

2. Виберіть умови включення в групу. У параметрах умови натисніть назву джерела, потім назву параметра та встановіть умову. Наприклад, purchaseFrequency → дорівнює → 50.

Умовна група

Зверніть увагу

Підключення до зовнішньої бази даних не передбачає імпорт контактів. Сегментація доступна лише для контактів, які є як у вашому обліковому записі eSputnik, так і у зовнішній базі даних. Синхронізуйте та оновлюйте контакти перед створенням кампаній.

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