Skip to content

Отправка и трекинг

Как SOULVO отправляет сообщения и отслеживает их результаты.

Как работает отправка

Процесс

  1. Celery Beat (планировщик) каждые несколько минут проверяет активные кампании
  2. Для каждой кампании определяет, какие контакты готовы к следующему шагу
  3. Приоритизация: в зависимости от настройки — сначала follow-up или новые
  4. Выбор аккаунта: система выбирает аккаунт из пула кампании, который ещё не исчерпал дневной лимит
  5. Отправка: Email через SMTP, Telegram через Telethon
  6. Логирование: каждое сообщение записывается в журнал (MessageLog)

Окно отправки

Сообщения отправляются только в рабочие часы, заданные в настройках кампании:

  • По умолчанию: 09:00 - 18:00 по часовому поясу кампании
  • Если включена отправка в выходные — отправка идёт и в субботу/воскресенье
  • Между сообщениями соблюдается случайный интервал (не массовая пачка)

Ротация аккаунтов

Если в кампании несколько аккаунтов, система:

  1. Распределяет нагрузку равномерно
  2. Каждый аккаунт отправляет не больше своего безопасного лимита
  3. Если аккаунт исчерпал лимит — переключается на следующий
  4. Разные контакты получают письма с разных аккаунтов

Трекинг Email

Открытия (Open tracking)

В каждое email-письмо встраивается трекинг-пиксель — невидимое изображение (1x1 px). Когда получатель открывает письмо и загружает изображения, SOULVO фиксирует открытие.

Ограничения:

  • Некоторые почтовые клиенты блокируют загрузку изображений → открытие не зафиксируется
  • Apple Mail Privacy Protection может показать ложное открытие
  • Open rate обычно занижен на 15-20%

Клики (Click tracking)

Ссылки в письмах автоматически заменяются на трекинг-ссылки. Когда получатель кликает:

  1. Переход идёт через SOULVO
  2. Фиксируется клик
  3. Получатель перенаправляется на оригинальный URL

Ответы

Для отслеживания ответов нужен настроенный IMAP на email-аккаунте:

  1. Система периодически проверяет входящие
  2. Сопоставляет по Message-ID с отправленными
  3. Создаёт запись в Inbox
  4. Обновляет статус контакта в кампании

Трекинг Telegram

Ответы

Telethon-клиент автоматически получает входящие сообщения:

  1. Слушает события новых сообщений от контактов
  2. Сопоставляет по chat_id с отправленными
  3. Создаёт запись в Inbox
  4. Поддерживает пересланные контакты (MessageMediaContact)

Прочтения

Telegram не предоставляет информацию о прочтении личных сообщений через API. Поэтому метрика "прочитано" недоступна для TG-канала.

Статусы сообщений

СтатусОписание
PendingВ очереди на отправку
SentОтправлено
DeliveredДоставлено (email)
OpenedОткрыто (email, по трекинг-пикселю)
RepliedПолучен ответ
BouncedНе доставлено (email вернулся)
FailedОшибка отправки

Терминальные статусы контакта

Когда контакт переходит в один из этих статусов, ему больше не отправляются сообщения:

СтатусПричина
RepliedКонтакт ответил
UnsubscribedКонтакт отписался
InterestedКонтакт выразил интерес (AI или ручная метка)

Это защита от назойливых follow-up'ов после того, как контакт уже отреагировал.

Обработка ошибок

Email

ОшибкаДействие
SMTP timeoutПовтор через 5 минут
Authentication failedПауза аккаунта, уведомление
Mailbox full (recipient)Пропуск контакта
BouncedПометка контакта как невалидного

Telegram

ОшибкаДействие
FloodWaitПауза аккаунта на N секунд
UserBannedInChannelПропуск, аккаунт помечается
PeerFloodПауза аккаунта, снижение лимита
AuthKeyUnregisteredАккаунт забанен, уведомление

Критические vs Некритические

  • Критические ошибки (аккаунт забанен, авторизация сломана) → кампания ставится на паузу
  • Некритические (временный таймаут, один контакт недоступен) → контакт пропускается, кампания продолжается

SOULVO — B2B Outreach платформа