Автоматические email-рассылки: как настроить и не попасть в спам.

Как настроить автоматические email-рассылки для бизнеса. Триггерные письма, цепочки, сегментация аудитории. Технические настройки SPF, DKIM, DMARC чтобы письма доходили.

Email-рассылки работают. Даже в 2026 году

Каждый год кто-то объявляет, что "email мёртв". А потом оказывается, что email-маркетинг приносит $36 на каждый вложенный $1. Это один из самых прибыльных каналов маркетинга - выше, чем соцсети, контекстная реклама и SEO.

Почему? Потому что email - это прямой канал связи с клиентом. Письмо попадает в персональный почтовый ящик, не конкурирует с сотнями постов в ленте соцсетей и не зависит от алгоритмов Яндекса или Google.

Но есть нюанс: работают не все рассылки, а только правильно настроенные. Письмо "Дорогой клиент, у нас акция!!!" отправится в спам. А персональное письмо "Иван, вы смотрели кроссовки Nike - они подешевели на 20%" - принесёт продажу.

В этой статье разберём: какие письма отправлять, как настроить автоматические цепочки, и (самое важное) как сделать так, чтобы письма попадали во "Входящие", а не в "Спам".

Типы email-рассылок: какие бывают

Все рассылки делятся на два типа:

1. Триггерные (автоматические) письма - отправляются автоматически при определённом событии. Например: клиент зарегистрировался - получил приветственное письмо. Оформил заказ - получил подтверждение. Бросил корзину - получил напоминание через час.

2. Массовые (ручные) рассылки - отправляются вручную всей базе или сегменту. Например: "Чёрная пятница - скидки до 50%", "Новая коллекция весна-лето 2026", "Дайджест: 5 лучших товаров месяца".

Триггерные письма приносят в 3 раза больше продаж, чем массовые. Потому что они приходят в нужный момент с нужным содержанием.

Какие триггерные письма настроить в первую очередь:

ПисьмоКогдаЭффект
ПриветственноеСразу после регистрацииОткрываемость 50-60%
Подтверждение заказаСразу после оформленияСнижает нагрузку на поддержку
Брошенная корзинаЧерез 1 час после уходаВозвращает 5-15% покупателей
Отзыв о покупкеЧерез 7 дней после полученияУвеличивает количество отзывов в 5 раз
РеактивацияЧерез 30 дней без покупкиВозвращает 3-8% "спящих" клиентов
День рожденияВ день рожденияКонверсия до 25%

Приветственная цепочка: первое впечатление

Приветственная цепочка - это серия из 3-5 писем, которые клиент получает после регистрации. Цель: познакомить с вашим бизнесом и подтолкнуть к первой покупке.

// Приветственная цепочка из 4 писем
// Каждое письмо отправляется автоматически через заданный интервал

const welcomeChain = [
  {
    // Письмо 1: Сразу после регистрации
    delay: 0,  // 0 минут после регистрации
    subject: 'Добро пожаловать в МойМагазин! Ваш подарок внутри',
    // Тема с подарком повышает открываемость на 30%
    content: `
      Привет, {name}!

      Рады видеть вас в МойМагазин.

      В качестве приветственного подарка - промокод WELCOME15
      на скидку 15% на первый заказ.

      Промокод действует 7 дней.

      [Перейти в каталог]
    `
  },
  {
    // Письмо 2: Через 2 дня - рассказ о компании
    delay: 2 * 24 * 60,  // 2 дня (в минутах)
    subject: 'Как мы подбираем товары для вас',
    content: `
      {name}, хотим рассказать немного о себе.

      Мы работаем с 2018 года и за это время:
      - Обслужили 50 000+ клиентов
      - Средняя оценка 4.8 из 5
      - Доставляем по всей России за 2-5 дней

      Кстати, ваш промокод WELCOME15 ещё активен!

      [Использовать промокод]
    `
  },
  {
    // Письмо 3: Через 5 дней - популярные товары
    delay: 5 * 24 * 60,  // 5 дней
    subject: 'Топ-5 товаров этой недели',
    content: `
      {name}, вот что сейчас покупают наши клиенты:

      1. {product1} - {price1} руб.
      2. {product2} - {price2} руб.
      3. {product3} - {price3} руб.

      Промокод WELCOME15 действует ещё 2 дня!

      [Смотреть каталог]
    `
  },
  {
    // Письмо 4: Через 7 дней - последнее напоминание
    delay: 7 * 24 * 60,  // 7 дней
    subject: 'Последний день вашей скидки 15%',
    // Срочность повышает конверсию
    content: `
      {name}, промокод WELCOME15 истекает сегодня.

      Скидка 15% на любой товар. Не упустите!

      [Использовать скидку]
    `
  }
]

// Как это работает на сервере:
// 1. Клиент зарегистрировался
// 2. Система создаёт расписание отправки:
//    - Письмо 1: сейчас
//    - Письмо 2: через 2 дня
//    - Письмо 3: через 5 дней
//    - Письмо 4: через 7 дней
// 3. Если клиент купил (использовал промокод) -
//    остальные письма отменяются (цель достигнута)

Брошенная корзина: самый прибыльный триггер

70% покупателей бросают корзину, не завершив покупку. Письмо-напоминание возвращает от 5 до 15% из них. Если у вас 100 брошенных корзин в день со средним чеком 5000 руб - это 25 000-75 000 руб дополнительной выручки каждый день.

// Триггер "Брошенная корзина"
// Отправляется когда клиент добавил товар в корзину, но не оформил заказ

// Шаг 1: Отслеживаем добавление в корзину
// Когда клиент добавляет товар - создаём запись в базе данных
async function onAddToCart(userId, cartItems) {
  await prisma.cartAbandonment.upsert({
    where: { userId },
    update: {
      items: cartItems,      // Обновляем содержимое корзины
      updatedAt: new Date(),
      emailSent: false,       // Сбрасываем флаг отправки
    },
    create: {
      userId,
      items: cartItems,
      emailSent: false,
    }
  })
}

// Шаг 2: Обработчик - запускается каждые 15 минут
// Ищет корзины, которые не конвертировались в заказ
async function processAbandonedCarts() {
  const oneHourAgo = new Date(Date.now() - 60 * 60 * 1000)

  // Находим корзины, обновлённые больше часа назад
  // и по которым ещё не отправлено письмо
  const abandonedCarts = await prisma.cartAbandonment.findMany({
    where: {
      updatedAt: { lt: oneHourAgo },  // Прошёл минимум 1 час
      emailSent: false,                // Письмо ещё не отправлено
      converted: false,                // Заказ НЕ оформлен
    },
    include: { user: true }
  })

  for (const cart of abandonedCarts) {
    // Проверяем, что пользователь не оформил заказ за это время
    const recentOrder = await prisma.order.findFirst({
      where: {
        userId: cart.userId,
        createdAt: { gt: cart.updatedAt }
      }
    })

    if (recentOrder) {
      // Клиент уже купил - не отправляем
      await prisma.cartAbandonment.update({
        where: { id: cart.id },
        data: { converted: true }
      })
      continue
    }

    // Отправляем письмо "Вы забыли товары в корзине"
    await sendEmail({
      to: cart.user.email,
      subject: `${cart.user.name}, вы забыли кое-что в корзине`,
      template: 'abandoned-cart',
      data: {
        name: cart.user.name,
        items: cart.items,
        // Добавляем прямую ссылку на корзину
        // Клиент нажимает - и возвращается к оформлению
        cartUrl: `https://myshop.ru/cart?restore=${cart.id}`,
      }
    })

    // Помечаем, что письмо отправлено
    await prisma.cartAbandonment.update({
      where: { id: cart.id },
      data: { emailSent: true }
    })
  }
}

Сегментация: не отправляйте всё всем

Самая частая ошибка - отправлять одно и то же письмо всей базе. Мужчине не интересна скидка на женские платья. Клиенту, который покупал премиум-товары, не нужна рассылка про бюджетные товары.

Сегментация - это разделение базы клиентов на группы по определённым признакам. Каждая группа получает персонализированное письмо.

Основные сегменты:

  • По активности: активные (покупали за последние 30 дней), "засыпающие" (30-90 дней без покупки), "спящие" (90+ дней)
  • По среднему чеку: VIP (средний чек выше 10 000), стандартные, бюджетные
  • По категориям: покупатели электроники, одежды, спортивных товаров
  • По частоте: разовые покупатели, регулярные (3+ покупки)
// Сегментация клиентов для рассылок
// Разделяем базу на группы для персонализации

async function segmentUsers() {
  const now = new Date()
  const thirtyDaysAgo = new Date(now - 30 * 24 * 60 * 60 * 1000)
  const ninetyDaysAgo = new Date(now - 90 * 24 * 60 * 60 * 1000)

  // Сегмент 1: Активные клиенты (покупали за последние 30 дней)
  const activeUsers = await prisma.user.findMany({
    where: {
      orders: { some: { createdAt: { gt: thirtyDaysAgo } } }
    }
  })

  // Сегмент 2: "Засыпающие" (30-90 дней без покупки)
  const sleepingUsers = await prisma.user.findMany({
    where: {
      orders: {
        some: { createdAt: { gt: ninetyDaysAgo, lt: thirtyDaysAgo } },
        none: { createdAt: { gt: thirtyDaysAgo } }
      }
    }
  })

  // Сегмент 3: VIP (средний чек > 10 000 руб)
  // SQL: SELECT user_id, AVG(total) as avg_check
  //      FROM orders GROUP BY user_id HAVING avg_check > 10000
  const vipUsers = await prisma.$queryRaw`
    SELECT "userId", AVG(total) as avg_check
    FROM orders
    GROUP BY "userId"
    HAVING AVG(total) > 10000
  `

  return { activeUsers, sleepingUsers, vipUsers }
}

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

// Активным клиентам: "Новинки этой недели"
// (они уже лояльны, показываем новое)

// "Засыпающим": "Соскучились! Вот персональная скидка 10%"
// (мотивируем вернуться)

// VIP-клиентам: "Эксклюзивный предзаказ новой коллекции"
// (подчёркиваем особый статус)

// "Спящим": "Мы изменились! Посмотрите, что нового"
// (пытаемся реактивировать)

Доставляемость: как не попасть в спам

Вы написали идеальное письмо, но оно попало в папку "Спам". Клиент его не увидит. Деньги потрачены зря. По статистике, 20% коммерческих писем попадают в спам. Вот как этого избежать.

Техническая настройка (обязательно!):

Для того чтобы почтовые сервисы (Яндекс, Mail.ru, Gmail) доверяли вашим письмам, нужно настроить три DNS-записи:

// SPF, DKIM и DMARC - три "паспорта" для ваших писем
// Настраиваются один раз в DNS вашего домена

// 1. SPF (Sender Policy Framework)
// Говорит почтовым серверам: "Письма от myshop.ru могут
// отправляться ТОЛЬКО с этих серверов"
// Если спамер попытается отправить письмо от вашего имени
// с другого сервера - оно будет отклонено

// DNS-запись типа TXT для домена myshop.ru:
// v=spf1 include:_spf.resend.com include:_spf.yandex.net ~all
//
// Расшифровка:
// v=spf1 - версия SPF
// include:_spf.resend.com - разрешаем Resend отправлять от нашего имени
// include:_spf.yandex.net - разрешаем Яндекс.Почте
// ~all - все остальные серверы считать подозрительными

// 2. DKIM (DomainKeys Identified Mail)
// Цифровая подпись на каждом письме. Как печать на конверте:
// почтовый сервер проверяет подпись и убеждается, что
// письмо действительно от вас и не было изменено по пути

// DNS-запись типа TXT:
// resend._domainkey.myshop.ru -> v=DKIM1; k=rsa; p=MIGfMA0GCS...
//
// Ключ выдаёт сервис рассылок (Resend, Unisender, etc.)
// Вы просто добавляете его в DNS

// 3. DMARC (Domain-based Message Authentication)
// Указывает, что делать с письмами, которые не прошли
// проверку SPF и DKIM

// DNS-запись типа TXT:
// _dmarc.myshop.ru -> v=DMARC1; p=quarantine; rua=mailto:[email protected]
//
// p=quarantine - подозрительные письма отправлять в спам
// rua=mailto:... - отчёты о подозрительных письмах приходят на этот адрес

// Как проверить, что всё настроено правильно:
// 1. Отправьте тестовое письмо на mail-tester.com
// 2. Сайт покажет оценку от 1 до 10
// 3. Цель: оценка 9+ из 10

Правила контента (чтобы не попасть в спам):

  • Не используйте КАПС и восклицательные знаки - "СУПЕР СКИДКА!!!" - прямой путь в спам
  • Не пишите только ссылку без текста - это признак фишинга
  • Добавьте кнопку "Отписаться" - это обязательно по закону (152-ФЗ). Если клиент не может отписаться - он нажмёт "Спам", и это ударит по вашей репутации
  • Соблюдайте частоту - не чаще 2-3 писем в неделю (для массовых рассылок). Триггерные не считаются
  • Используйте настоящий адрес отправителя - "[email protected]", а не "[email protected]"

Инструменты для рассылок: что выбрать

СервисСтоимостьБесплатный планДля кого
UnisenderОт 588 руб/месДо 100 контактовРоссийский бизнес, русскоязычная поддержка
ResendОт $0/мес3000 писем/месРазработчики, API-first подход
SendpulseОт 510 руб/месДо 500 контактовМалый бизнес, визуальный редактор
Brevo (ex. Sendinblue)От $0/мес300 писем/деньМеждународный бизнес
MindboxИндивидуальноНетКрупный бизнес, CDP + рассылки

Для малого бизнеса мы рекомендуем Unisender или Sendpulse - русскоязычный интерфейс, простая настройка, доступные цены. Для технически продвинутых команд - Resend (лучший API, бесплатный план).

Пример: полная автоматизация для интернет-магазина

Вот как выглядит полностью автоматизированная email-система для интернет-магазина:

// Полная система автоматических email-рассылок
// Все письма отправляются без участия человека

// Настройка триггеров (один раз):
const emailTriggers = {
  // === Триггеры по действиям клиента ===

  // Регистрация -> Приветственная цепочка (4 письма)
  'user.registered': {
    chain: welcomeChain,  // см. выше
    // Условие: только если клиент подтвердил email
    condition: (user) => user.emailVerified
  },

  // Оформление заказа -> Подтверждение
  'order.created': {
    template: 'order-confirmation',
    subject: 'Заказ #{orderId} принят!',
    delay: 0,  // Мгновенно
  },

  // Заказ оплачен -> Подтверждение оплаты
  'order.paid': {
    template: 'payment-confirmation',
    subject: 'Оплата заказа #{orderId} прошла успешно',
    delay: 0,
  },

  // Заказ отправлен -> Трек-номер
  'order.shipped': {
    template: 'order-shipped',
    subject: 'Заказ #{orderId} отправлен - отслеживайте доставку',
    delay: 0,
  },

  // Заказ доставлен -> Просьба оставить отзыв
  'order.delivered': {
    template: 'review-request',
    subject: '{name}, как вам покупка? Поделитесь впечатлениями',
    delay: 7 * 24 * 60,  // Через 7 дней (дать время попользоваться)
  },

  // Брошенная корзина -> Напоминание
  'cart.abandoned': {
    template: 'abandoned-cart',
    subject: '{name}, вы забыли кое-что в корзине',
    delay: 60,  // Через 1 час
    // Условие: клиент не оформил заказ за это время
    condition: (user) => !hasRecentOrder(user.id, 60)
  },

  // === Триггеры по времени ===

  // 30 дней без покупки -> Реактивация
  'user.inactive_30d': {
    template: 'reactivation',
    subject: '{name}, мы соскучились! Вот скидка 10%',
    // Генерируем персональный промокод
    generatePromo: { discount: 10, expiresIn: '7d' }
  },

  // День рождения -> Поздравление со скидкой
  'user.birthday': {
    template: 'birthday',
    subject: 'С днём рождения, {name}! Подарок от нас',
    generatePromo: { discount: 20, expiresIn: '14d' }
  },

  // Товар из "Избранного" подешевел -> Уведомление
  'product.price_dropped': {
    template: 'price-drop',
    subject: '{productName} подешевел на {discount}%!',
    delay: 0,
    // Только для тех, у кого товар в избранном
    condition: (user, product) => userHasInFavorites(user.id, product.id)
  },
}

// Обработчик событий (Event Handler)
// Слушает все события и запускает нужные триггеры
async function handleEvent(eventType, data) {
  const trigger = emailTriggers[eventType]
  if (!trigger) return  // Нет триггера для этого события

  // Проверяем условие (если есть)
  if (trigger.condition && !trigger.condition(data.user, data)) {
    return  // Условие не выполнено - не отправляем
  }

  // Если есть задержка - планируем отправку на будущее
  if (trigger.delay > 0) {
    await scheduleEmail({
      userId: data.user.id,
      template: trigger.template,
      subject: fillTemplate(trigger.subject, data),
      sendAt: new Date(Date.now() + trigger.delay * 60 * 1000),
      data: data,
    })
    return
  }

  // Нет задержки - отправляем сразу
  await sendEmail({
    to: data.user.email,
    subject: fillTemplate(trigger.subject, data),
    template: trigger.template,
    data: data,
  })
}

// Подстановка переменных в шаблон
// "{name}, ваш заказ #{orderId}" -> "Иван, ваш заказ #12345"
function fillTemplate(template, data) {
  return template
    .replace('{name}', data.user?.name || 'Клиент')
    .replace('{orderId}', data.order?.id || '')
    .replace('{productName}', data.product?.name || '')
    .replace('{discount}', data.discount || '')
}

Как мы настраиваем email-автоматизацию для бизнеса

В Enot Software мы не просто "подключаем рассылки". Мы выстраиваем полную систему email-маркетинга, интегрированную с вашим сайтом и CRM:

  • Техническая настройка - SPF, DKIM, DMARC, прогрев домена. Ваши письма попадают во "Входящие", а не в "Спам". Проверяем через mail-tester.com - цель 9+ из 10
  • Триггерные цепочки - приветственная серия, брошенная корзина, реактивация, день рождения. Настраиваем 5-8 триггеров, которые работают 24/7 без вашего участия
  • Дизайн шаблонов - красивые, адаптивные письма в стиле вашего бренда, корректно отображающиеся в Яндекс.Почте, Mail.ru, Gmail, Outlook
  • Сегментация базы - делим клиентов на группы, каждая получает персонализированные письма. Не "дорогой клиент", а "Иван, кроссовки Nike Air Max, которые вы смотрели, подешевели на 20%"
  • Интеграция с CRM - если у вас наша кастомная CRM, email-рассылки запускаются автоматически по событиям из CRM. Менеджер перевёл сделку в "Отправлено КП" - клиент получает follow-up через 3 дня
  • Аналитика и оптимизация - ежемесячные отчёты по открываемости, кликам, конверсиям. A/B-тестируем темы, время отправки, контент для максимальной эффективности

Метрики рассылок: что отслеживать

Отправили рассылку - отлично. Но как понять, работает ли она? Вот ключевые метрики:

МетрикаЧто значитХороший показатель
Open Rate (открываемость)% получателей, открывших письмо20-30%
Click Rate (кликабельность)% открывших, кликнувших по ссылке3-5%
Unsubscribe Rate (отписки)% отписавшихся после рассылкиНиже 0.5%
Bounce Rate (возвраты)% писем, не доставленныхНиже 2%
Conversion Rate (конверсия)% получивших, совершивших покупку1-3%
Revenue per EmailДоход с одного отправленного письмаЗависит от ниши

Если Open Rate ниже 15%: проблема в теме письма (неинтересная) или в доставляемости (спам). Проверьте SPF/DKIM/DMARC.

Если Click Rate ниже 2%: проблема в содержании. Письмо открывают, но не кликают. Сделайте призыв к действию (CTA) заметнее, добавьте конкретику.

Если Unsubscribe Rate выше 1%: вы рассылаете слишком часто или не то, что интересно аудитории. Проверьте сегментацию.

A/B-тестирование: как улучшить результаты

A/B-тестирование - это когда вы отправляете два варианта письма разным группам клиентов и сравниваете, какой сработал лучше.

Что тестировать:

  • Тему письма - "Скидка 20% на кроссовки" vs "Nike Air Max за 9990 вместо 12490"
  • Время отправки - 10:00 утра vs 19:00 вечера
  • Кнопку CTA - "Купить со скидкой" vs "Посмотреть каталог"
  • Формат - длинное письмо с деталями vs короткое с одной ссылкой

Правило: тестируйте только один элемент за раз. Если изменить и тему, и кнопку, и время - вы не поймёте, что именно повлияло на результат.

Итого: email-рассылки - это инвестиция, а не расходы

Правильно настроенные email-рассылки приносят $36 на каждый вложенный $1. Это самый рентабельный канал маркетинга, и он работает в любой нише: от интернет-магазинов до B2B-услуг.

Начните с малого: настройте 3 триггерных письма (подтверждение заказа, брошенная корзина, просьба об отзыве) и техническую часть (SPF, DKIM, DMARC). Этого достаточно, чтобы увидеть первые результаты.

Мы в Enot Software настраиваем полные системы email-автоматизации: от технической настройки домена и DNS до цепочек триггерных писем и аналитики. Интегрируем рассылки с вашим сайтом, CRM и учётной системой, чтобы всё работало как единый механизм. Расскажите о вашей задаче - мы подберём оптимальное решение и настроим систему, которая будет продавать за вас 24/7.

Все статьи
Автоматические email-рассылки: как настроить и не попасть в спам | Enot Software