Импорт данных из таблиц 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')
JSON
Если массив 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, так и во внешней базе данных. Перед созданием кампаний синхронизируйте и обновляйте контакты.