Перейти к основному содержимому

Сегментация профилей по внешним SQL таблицам

Возможность подключения внешних SQL баз данных позволяет более гибко подходить к вопросу сегментации профилей.

  • Нет необходимости держать все данные в Altcraft MP
  • Соответвенно нет необходимости в регулярной синхронизации и данные всегда актуальны
  • Можно использовать данные по сущностям, которые в Altcraft MP не предусмотрены
  • Не зависит от платформы и системы которую вы используете для хранения данных, необходим лишь доступ для выполнения SQL запросов

Коннекторы для подключения к внешним базам создаются в Административной панели Altcraft.

подсказка

Если вы пользуетесь облачным решением — передайте данные для подключения к базе данных нашей службе поддержки: team@altcraft.com.

Создание запроса к базе данных

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

Редактирование запросов в панели пользователя можно запретить настройкой конфигурации в main.json если это необходимо. Для этого нужно будет установить параметр "DISABLE_QUERY_EDITOR": true.

Запросы настраиваются в разделе Данные → Запросы сегментации. Перейдите в раздел и нажмите кнопку + Создать.

В основных настройках укажите имя запроса, короткое имя (уникально для каждого запроса, используется в переменных платформы и в API-запросах), срок кэширования результата, а также группу, теги и описание запроса:

Чтобы запрос сегментации работал правильно, он должен выбирать колонку с данными, которые уже есть в Altcraft MP. Например, если в Altcraft есть идентификатор клиента в базе профилей, то необходимо сформировать такой запрос, чтобы на выходе получился именно этот идентификатор, как минимум в одной из колонок:

Эти запросы будут использоваться внутри сегмента. Можно построить неограниченное количество таких запросов для уточнения сегмента. В каждом таком запросе вы можете выбирать по одному или нескольким параметрам, комбинируя запрос, делая подзапросы, JOIN, UNION итд.

Обязательно выберите колонку, которая будет использоваться для поиска профилей, используйте кнопку обновить, чтобы получить новый список колонок по вашему запросу:

В запрос можно добавлять параметры, чтобы запрос изменялся уже при использовании внутри сегмента. Для этого используйте произвольное, но уникальное имя вашего параметра в фигурных скобках, например {CITY}:

Как только вы его укажете в запросе, появится форма с настроками параметра:

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

Если мы хотим, чтобы в сегменте поле выбиралось из списка, мы используем настройку Задать опции. При ее включении выбираем, будем ли мы перечислять список опций или тоже выберем его из SQL:

При этом, если применяются идентификаторы, то SQL запрос должен возвращать две колонки, первая используется как идентификатор, а вторая будет отображаться пользователю:

В случае с заданным списком идентификатор и опции можно перечислить через запятую:

Для всех параметров конфигурируется порядок их отображения при построении сегмента. Порядок можно менять простым перетаскиванием элементов. Заголовки позиционируются отдельно, для более гибкого отображения.

Воспользуйтесь кнопкой предпросмотра выборки из базы данных, для того чтобы посмотреть как форма запроса будет выглядеть в сегменте и как будет выглядеть тестовая выборка:

Укажите базу данных и поле профиля для выборки, а также колонку если их несколько. В разделе Параметры запроса сформируется форма в том виде, как она потом будет выглядеть в сегменте. Нажав кнопку Применить, вы запустите запрос и он сразу покажет те профили, которые удовлетворили условию запроса:

После сохранения запроса его можно будет использовать в сегментах.

Использование запроса к внешней базе в сегменте

Перейдите в раздел Данные → Cегменты. Создайте новый сегмент или откройте существующий для редактирования.

Добавьте новое правило и выберите поле-идентификатор или поле по которому осуществляется поиск профиля запросом. Затем выберите один из вариантов:

  • В таблице данных — если хотите включить всех кто подойдет под данное условие.
  • Не в таблице данных — если хотите включить всех кто не подойдет под данное условие.

Затем выберите ваш запрос к таблице и заполните форму параметров запроса:

Теперь можете сохранить сегмент.

Условия в таблице данных \ не в таблице даных можно неоднократно применять в сегменте, в том числе внутри групп, обьедининяя их по И, если хотите чтобы каждое из них удовлетворяло условиям или по ИЛИ, если хотите чтобы любое из них удовлетворяло условиям.

Конечно, в сегментах с запросами можно обьединять любые условия: по полям в Altcraft MP, по действиям в сообщениях, по достижению целей итд.