Імпорт даних із таблиць 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
Ви можете посилатися на кожне поле в повідомленні за допомогою синтаксису Velocity таким чином:
- Безпосередньо за параметрами (якщо ви знаєте, що масив має фіксовану довжину):
$!data.get('discount_codes').get(0).get('name') $!data.get('discount_codes').get(0).get('discount_code')
JSON
- Використовуючи цикл (для масивів гнучкої довжини):
#foreach($code in $!data.get('discount_codes')) $!code.get('name') $!code.get('discount_code') #end
JSON
2. Тригерна кампанія, заснована на кількості покупок
Щоб надсилати персоналізовані повідомлення, коли клієнти здійснюють певну кількість покупок, наприклад, 50.
1. Створіть динамічну групу, яка включатиме клієнтів, що відповідають певним умовам покупки (наприклад, зроблено 50-ту покупку).
2. Налаштуйте регулярний сценарій для цієї групи.
Коли сценарій запускається для контактів, які відповідають заданим умовам, система створює подію. Назва події генерується шляхом об’єднання статичного префікса regularEventType з ідентифікатором групи, наприклад — regularEventType-170531841.
Ця подія містить контактні дані, такі як ідентифікатор контакту в eSputnik (contactId), email-адреса (emailAddress) і дані, отримані із зовнішньої таблиці. Кожне поле з таблиці перетворюється на ключ і поміщається в масив, позначений числовим іменем, яке відповідає ідентифікатору джерела даних.
Цей масив серіалізується та зберігається як рядок у полі 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
При підставлянні даних у повідомлення номер джерела даних в eSputnik використовується як назва масиву:
{ "data": { "1043": [ { "id": "2", "email": "shopper@example.com", "name": "Jordan Lee", "lastPurchaseDate": "2023-10-15T10:00:00Z", "purchaseFrequency": 50, "averageBasketValue": 120 } ] } }
JSON
Якщо ви знаєте, що масив має фіксовану довжину, ви можете звертатися до полів безпосередньо:
$!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')
Якщо масив 1043 може містити кілька записів, використовуйте цикл для динамічного підставлення всіх значень:
#foreach($entry in $!data.get('1043')) $!entry.get('name') $!entry.get('lastPurchaseDate') $!entry.get('purchaseFrequency') $!entry.get('averageBasketValue') #end
JSON
Створення динамічного сегмента за допомогою параметрів BigQuery
1. У розділі “Контакти” → “Групи” створіть нову динамічну групу.
2. Виберіть умови включення в групу. У параметрах умови натисніть назву джерела, потім назву параметра та встановіть умову. Наприклад, purchaseFrequency → дорівнює → 50.
Зверніть увагу
Підключення до зовнішньої бази даних не передбачає імпорт контактів. Сегментація доступна лише для контактів, які є як у вашому обліковому записі eSputnik, так і у зовнішній базі даних. Синхронізуйте та оновлюйте контакти перед створенням кампаній.