Руководства и туториалы
6 мин чтения

Как создать динамический сегмент в Trigly

Пошаговая инструкция: rule builder, условия, операторы, preview, автообновление. Создайте сегмент за 2 минуты.

К
Команда Trigly
Руководство по продукту

Сегментация — краеугольный камень персонализированного маркетинга. Отправлять одно и то же сообщение всей базе — расточительство бюджета и терпения клиентов. Динамические сегменты в Trigly решают эту задачу автоматически: вы задаете правила один раз, и состав сегмента обновляется каждые 30 минут, отражая актуальное состояние клиентской базы.

В отличие от статических сегментов (фиксированный список контактов), динамические сегменты — это живые аудитории, которые растут и изменяются вместе с поведением ваших клиентов.

Как работает Segment Engine

Прежде чем создавать сегмент, полезно понять механизм работы. Trigly Segment Engine преобразует правила, заданные в визуальном Rule Builder, в SQL-запросы к PostgreSQL. Каждые 30 минут Celery-задача refresh_dynamic_segments пересчитывает все активные динамические сегменты: выполняет запрос, определяет, какие контакты входят в сегмент, и обновляет связи в таблице CustomerSegment.

Это означает, что:

  • Контакты автоматически входят в сегмент, когда начинают соответствовать правилам
  • Контакты автоматически выходят, когда перестают соответствовать
  • Счетчик customer_count всегда актуален

Шаг 1: Создайте сегмент

Перейдите в CDP, затем в Сегменты и нажмите "Создать". Выберите тип: Динамический.

Укажите название, которое четко описывает аудиторию. Хорошие примеры: "VIP Москва 50K+", "At-risk 30 дней без активности", "Telegram без email". Избегайте общих названий вроде "Сегмент 1" — через месяц вы не вспомните, что он означает.

Шаг 2: Добавьте правила в Rule Builder

Rule Builder — визуальный конструктор условий. Каждое правило состоит из трех частей: поле, оператор, значение. Правила объединяются логическими связками AND (все условия выполняются) и OR (хотя бы одно).

Доступные поля

Trigly позволяет строить правила по более чем 45 полям контакта:

Контактные данные: email, phone, first_name, last_name, city, country, language, timezone

Финансовые метрики: total_revenue, total_orders, avg_order_value, days_since_last_purchase, purchase_frequency_days

Активность: last_activity_at, first_purchase_at, last_purchase_at, created_at

Скоринг: ai_score, rfm_score, rfm_segment, data_quality_score, lifecycle_stage

Каналы: telegram_chat_id, whatsapp_phone, push_subscription, preferred_channel, is_unsubscribed

Другие: tags (JSONB), custom_fields, source, utm_source, utm_medium, utm_campaign

Доступные операторы

  • =, != — точное совпадение
  • >, <, >=, <= — числовые сравнения
  • contains, not_contains — поиск подстроки
  • IS NULL, IS NOT NULL — проверка заполненности
  • IN, NOT IN — вхождение в список значений
  • days_ago — относительная дата (например, last_activity_at < 30 days ago)

Практические примеры

Рассмотрим реальные маркетинговые задачи и правила для них:

Пример 1: VIP-клиенты Москвы Высокодоходные клиенты для эксклюзивных предложений:

  • city = "Москва" AND total_orders > 5 AND total_revenue > 50000

Пример 2: Клиенты в зоне риска (at-risk) Ранее активные покупатели, которые могут уйти:

  • last_activity_at < 30 дней назад AND total_orders > 1 AND is_unsubscribed = false

Пример 3: Пользователи Telegram без email Контакты, доступные только через мессенджер:

  • telegram_chat_id IS NOT NULL AND email IS NULL

Пример 4: Высокий AI-скоринг, но нет покупок Потенциально ценные контакты, которых нужно конвертировать:

  • ai_score > 70 AND total_orders = 0

Пример 5: Низкое качество данных Контакты, которые нужно обогатить:

  • data_quality_score < 30 AND last_activity_at > 90 дней назад

Пример 6: RFM Champions Лучшие клиенты по RFM-скорингу:

  • rfm_segment = "champions" AND lifecycle_stage = "active"

Совет: Начните с простых правил (1-2 условия) и постепенно усложняйте. Сложные сегменты с 5+ условиями часто оказываются слишком узкими и содержат мало контактов.

Шаг 3: Предпросмотр (Preview)

Перед сохранением нажмите "Предпросмотр". Trigly выполнит запрос и покажет:

  • Количество контактов в сегменте — убедитесь, что размер достаточен для ваших целей. Для email-кампании с A/B тестом нужно минимум 1000 контактов.
  • Первые 10 профилей — проверьте, соответствуют ли они вашим ожиданиям. Если в сегмент попали неожиданные контакты, пересмотрите правила.
  • Процент от общей базы — здоровый сегмент обычно составляет 5-30% базы. Если сегмент включает 90% контактов — правила слишком широкие.

Предпросмотр не сохраняет сегмент и не влияет на данные. Экспериментируйте свободно.

Шаг 4: Сохранение и автообновление

После сохранения сегмент начнет автоматически пересчитываться каждые 30 минут. Также можно запустить ручной пересчет в любой момент кнопкой "Обновить".

Каждый пересчет обновляет:

  • Список контактов в сегменте (добавляет новых, убирает несоответствующих)
  • Поле customer_count — актуальное количество
  • Поле last_calculated_at — время последнего расчета

Шаг 5: Использование сегментов

Динамические сегменты — основа для большинства маркетинговых операций в Trigly:

Кампании и рассылки

Выберите сегмент при создании кампании. На момент отправки Trigly использует актуальный состав сегмента, а не тот, что был при создании кампании. Подробнее о запуске кампаний — в руководстве по email-рассылке.

Триггерные цепочки (Flows)

Привяжите сегмент к потоку как условие входа. Например: "Запускать цепочку реактивации для контактов из сегмента at-risk". Подробнее — в статье про триггерные цепочки.

Анализ пересечений (Overlap)

Проверьте, насколько ваши сегменты пересекаются. Перейдите в CDP, далее Сегменты, далее Overlap. Выберите два сегмента и увидите:

  • Количество общих контактов
  • Процент пересечения
  • Уникальные контакты в каждом сегменте

Если два сегмента пересекаются на 80%+ — возможно, один из них избыточен.

Аналитика сегмента

На странице сегмента доступна аналитика: средний revenue, распределение по городам, динамика размера за последние 30 дней, распределение по RFM-скорингу.

Статические vs Динамические сегменты

Характеристика Статический Динамический
Состав Фиксированный список ID Определяется правилами
Обновление Ручное Каждые 30 минут
Когда использовать Разовые акции, точечные рассылки Постоянные аудитории, автоматизация
Добавление контактов Вручную или через bulk-операции Автоматически по правилам
Производительность Моментально (список в БД) Запрос при каждом пересчете

Рекомендация: для постоянных аудиторий (VIP, at-risk, новые) используйте динамические сегменты. Для разовых акций ("участники вебинара 15 марта") — статические.

Частые ошибки при создании сегментов:

  • Слишком много мелких сегментов — усложняет управление. Начните с 5-7 ключевых сегментов.
  • Правила без is_unsubscribed = false — вы можете создать сегмент и отправить рассылку контактам, которые отписались. Trigly проверяет suppression-списки при отправке, но лучше исключить таких контактов на уровне сегмента.
  • Забывают про IS NOT NULL — условие total_revenue > 50000 не включит контакты, у которых поле total_revenue не заполнено (NULL). Добавьте total_revenue IS NOT NULL AND total_revenue > 50000.
  • Не проверяют preview — сохраняют сегмент, не убедившись в его размере и составе.

Часто задаваемые вопросы

Сколько динамических сегментов можно создать? Ограничений на количество нет. Однако каждый динамический сегмент создает нагрузку на базу данных при пересчете. На практике 50-100 активных сегментов работают без проблем. Если сегмент больше не нужен — деактивируйте его (is_active = false), а не удаляйте. Деактивированные сегменты не пересчитываются.

Можно ли использовать данные из ClickHouse (события) в правилах сегмента? Segment Engine работает с полями PostgreSQL (таблица Customer). Однако агрегированные данные из ClickHouse доступны через вычисляемые поля: rfm_recency, rfm_frequency, rfm_monetary, ai_score, preferred_channel. Они рассчитываются из событий ClickHouse и записываются в профиль контакта, после чего доступны для правил.

Как создать сегмент на основе тегов? Поле tags хранится как JSONB-массив. Используйте оператор contains для поиска контактов с определенным тегом. Например: tags contains "VIP". Для исключения: tags not_contains "churned". Теги можно назначать вручную, при импорте или через массовые операции.


Итог

Динамические сегменты — это «живые» аудитории, которые обновляются автоматически каждые 30 минут по заданным правилам. В отличие от статических списков, они всегда актуальны и идеально подходят для автоматизации: привяжите триггерную цепочку к сегменту «at risk», и каждый клиент, попавший в группу риска, автоматически получит реактивационную серию. Начните с 5-7 базовых сегментов и развивайте по мере роста данных.


Попробуйте Trigly бесплатно и создайте свой первый динамический сегмент за 2 минуты. Регистрация на trigly.ru/register.

how-toсегментыrule builderдинамическиеCDP

Готовы автоматизировать маркетинг?

Email, Telegram, SMS, Push из одного окна. AI-копирайтинг. Предикция оттока.

Записаться на аудит

Читайте также