Что могут SQL шаблоны

Наталья Вишанкова

Эксперт по цифровому маркетингу

ExpertSender может не только отправлять сообщения в разные каналы, но и хранить в себе всю информацию о клиентах, товарах, мероприятиях и деталях заказов. Иногда вся информация хранится в разных таблицах, и её нужно связать между собой для построения сегмента или подстановки нужного товара в письмо.

Для этого есть шаблоны для сегментации и динамического контента. Они создаются с помощью SQL.

SQL (Structured Query Language) — это язык программирования для управления данными, которые хранятся в нескольких таблицах, состоящих из столбцов и строк.

Эти шаблоны можно найти во вкладке «Таблицы данных» → «Шаблоны».


Тут можно посмотреть список динамических шаблонов и шаблонов сегментации или создать их

Как это работает

Представим, что у нас есть три таблицы. Первая с заказами, в которой хранятся ID чека, код модели, артикул, цена, информация, по скидке был куплен товар, или нет, и ещё много параметров. В другой таблице есть полное описание каждого товара, с указанием модели, бренда, размера, наличия на складе, акционной цены и описания. В третьей Id подписчика и детали заказа. И есть твёрдое намерение отправить письмо всем, кто покупал полгода назад определённый товар.

Получить такой сегмент поможет SQL запрос. Для этого:

1. Заходим в шаблоны: «Таблицы данных» → «Шаблоны» → «Создать шаблон для сегментации».

2. Выбираем «главную таблицу» в выпадающем списке. В нашел случае это «purchases» в которой хранятся ID подписчика.

3. В поле «SELECT» пишем через запятую названия столбцов, которые мы хотим получить в итоговой таблице. В этом поле по умолчанию прописывается либо емейл, либо ID. Это зависит от того, что хранится в «главной таблице».

4. Далее пишем сам шаблон, например:
INNER JOIN
dt_purchase_details AS pd WITH(NOLOCK)
ON p.ticket_id=pd.ticket_id

В примере выше к главной таблице «purchases», которую мы выбрали в пункте №2 мы присоединяем таблицу «purchase_details», которые связаны столбцами «ticket_id».

5. Добавляем дополнительную связи между таблицами «catalog» и «purchase_details» по полям «model_code» и «vendorCode»
INNER JOIN
dt_catalog AS c WITH(NOLOCK)
ON pd.model_code = c.vendorCode

Пример SQL шаблона

6. После того, как мы связали все нужные таблицы, можно добавить фильтр:
WHERE googleProductCategory=@sport

В данном примере мы добавили фильтр по стоблцу «googleProductCategory» значением фильтра будет являться «Параметр» @sport который мы можем изменять каждый раз при создании/редактировании шаблона.

После этого сегментом мы быстро найдём клиентов, которые соответствуют заданным параметрам в шаблоне, и отправим им письмо.

Пример сегмента с использованием SQL шаблона

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

Пример кода для добавления товаров в письмо

В одной статье не уместить весь синтаксис языка, а за 5 минут его не освоить. Но у нас есть целый технический отдел, готовый прийти на помощь, обучить и подсказать. Только напишите 🙂

Согласен

Мы используем файлы cookie для записи информации о сеансе, например, прошлой активности на сайте, чтобы обеспечить лучший сервис, когда посетители возвращаются на наш сайт или настраивают содержимое веб-страницы на основе типа браузера посетителей. Используя веб-сайт, вы выражаете свое согласие с нашей политикой cookie. Вы можете изменить настройки файла cookie в своем веб-браузере.