Разбор

Email-цепочка с персонализацией через Claude: 7 писем которые продают без участия менеджера

Open rate в РФ — 18% в среднем по рынку. Персонализация под интерес подписчика поднимает его до 31–35%. Схема: Claude API + Python + Unisender, 7 писем за 30 дней, три варианта первого письма для разных сегментов и кейс онлайн-школы с ростом конверсии на 40%.

• 8 мин чтения

Средний open rate в России — 18%. Это значит, что 82 письма из каждых 100 отправленных никто не открывает. И маркетологи годами отправляют одно и то же всем подряд, удивляясь почему цифры не растут.

18%
средний open rate email-рассылок в РФ — по данным Unisender за 2025 год. Персонализированные цепочки дают 29–35%

Почему персонализация работает, но её никто не делает

Я периодически слышу: «у нас персонализация есть, мы имя подставляем». Это не персонализация. «Привет, Иван» — это просто шаблонная переменная. Настоящая персонализация — когда человек, который смотрел страницу с тарифами, получает письмо про ROI, а тот кто читал блог про инструменты — письмо с примерами кейсов.

Проблема простая: это невозможно делать руками в масштабе. База в 5 000 человек, 7 писем в цепочке — это 35 000 уникальных текстов. Даже если разбить на 4 сегмента по 4 письма — 16 уникальных сообщений, и это уже неделя работы копирайтера.

Claude это решает за часы, а не за неделю. Промпт описывает контекст подписчика, Claude генерирует письмо под него. Стоимость — около 1 рубля за письмо через API.

Open rate по типу рассылки, данные Unisender 2025
Персонализированные
по поведению
32%
Сегментированные
(без поведения)
26%
По интересам
(при подписке)
22%
Массовая рассылка
без сегментации
18%
Источник: Unisender, Email Marketing Benchmarks 2025. Данные по российскому рынку, B2C и B2B сегменты усреднены.

Структура цепочки: 7 писем за 30 дней

Это не произвольное число. 7 касаний за месяц — достаточно чтобы провести человека от «зашёл посмотреть» до «готов купить», не перегрузив его. Каждое письмо решает одну задачу.

День
1
Письмо приветствия — подтверждение ценности

Не «спасибо за подписку», а немедленная польза: конкретный совет или ссылка на материал релевантный источнику подписки. Если человек пришёл с лендинга про email — даём что-то про email.

Цель: open rate первого письма, первый клик
День
3
Образовательное письмо — проблема и контекст

Разворачиваем боль сегмента. Для e-commerce — про брошенные корзины. Для онлайн-школы — про низкую доходимость до курса. Конкретные цифры, узнаваемая ситуация.

Цель: вовлечённость, клик на материал
День
7
Кейс или доказательство — социальное доверие

Реальный результат клиента из того же сегмента. Если база сегментирована — читатель видит кейс похожего на него бизнеса, а не абстрактную «успешную историю».

Цель: доверие, переход на страницу кейса
День
12
Письмо с инструментом — практическая польза

Шаблон, чеклист или короткий гайд который можно применить сегодня. Это письмо пересылают и сохраняют — работает на расширение аудитории органически.

Цель: forward rate, сохранения
День
17
Вопрос или опрос — активация диалога

Короткое письмо с одним вопросом: «Что сейчас мешает вам с email-маркетингом?» Ответы идут в CRM, сегментируют базу дальше, дают материал для следующих писем.

Цель: reply rate, углубление сегментации
День
23
Сравнение и выбор — снятие возражений

Разбираем типичное возражение сегмента. Для тех кто смотрел страницу тарифов — про ценность vs цену. Для тех кто читал про конкурентов — прямое сравнение.

Цель: переход на страницу продукта
День
30
Финальный оффер — призыв к действию

Конкретное предложение с понятным дедлайном. Не «обращайтесь», а «до конца недели — бесплатная консультация» или «этот тариф только для подписчиков». Персонализированный под сегмент.

Цель: конверсия в заявку или покупку

Сегментация базы: четыре разреза

Перед тем как писать промпты для Claude — нужно понять какие данные есть о подписчике. Схема сегментации зависит от того, что можно собрать.

РазрезИсточник данныхСегментыВлияние на письмо
Источник подпискиUTM-метки формыРеклама, органика, партнёр, ивентТон первого письма, ожидания
Поведение на сайтеЯндекс.Метрика API, cookiesСмотрел тарифы, читал блог, был на странице «О нас»Тема и аргументы всей цепочки
Тип бизнесаПоле при подпискеE-commerce, онлайн-школа, SaaS, услугиПримеры, кейсы, отраслевая специфика
Этап воронкиCRM, история взаимодействийХолодный, тёплый, пробный, клиентЖёсткость CTA, степень «продажи»

Минимальный рабочий вариант — два разреза: источник подписки + тип бизнеса. Это даёт 8–12 комбинаций, для каждой из которых Claude генерирует отдельный вариант каждого письма.

Как устроена схема

👤Подписчиксегмент + поведение
🐍Pythonсборка контекста
🤖Claude APIгенерация текста
📧Unisender APIотправка письма

Python собирает профиль подписчика из базы данных или CRM, формирует промпт для Claude и передаёт JSON с данными. Claude возвращает HTML-текст письма. Python отправляет его через Unisender API как транзакционное сообщение с нужной задержкой.

Важный момент по архитектуре: Claude не обращается к Unisender напрямую и не работает с базой данных. Он получает готовый структурированный контекст и возвращает текст. Это упрощает отладку — если письмо получилось не то, понятно где искать проблему: в данных или в промпте.

Код: Python + Claude + Unisender

🐍 email_personalizer.py — pip install anthropic requests
import anthropic
import requests
import json

CLAUDE_API_KEY = "YOUR_CLAUDE_KEY"
UNISENDER_API_KEY = "YOUR_UNISENDER_KEY"

UNISENDER_URL = "https://api.unisender.com/ru/api/"

def build_subscriber_context(subscriber: dict) -> str:
  """Формируем контекст подписчика для промпта."""
  pages_visited = subscriber.get("pages_visited", [])
  page_summary = ", ".join(pages_visited[:5]) if pages_visited else "главная страница"

  return f"""
Данные о подписчике:
- Имя: {subscriber.get("name", "подписчик")}
- Тип бизнеса: {subscriber.get("business_type", "не указан")}
- Источник подписки: {subscriber.get("source", "органика")}
- Просмотренные страницы: {page_summary}
- Этап воронки: {subscriber.get("funnel_stage", "холодный")}
- Дней с подписки: {subscriber.get("days_since_signup", 1)}
"""

def generate_email(subscriber: dict, email_number: int) -> dict:
  """Генерируем персонализированное письмо через Claude."""
  client = anthropic.Anthropic(api_key=CLAUDE_API_KEY)

  email_types = {
      1: "приветственное письмо с немедленной пользой",
      2: "образовательное письмо — описание проблемы сегмента",
      3: "кейс или история успеха из того же типа бизнеса",
      4: "практический инструмент: шаблон или чеклист",
      5: "вопрос для активации диалога",
      6: "сравнение и снятие возражений",
      7: "финальный оффер с конкретным предложением",
  }

  context = build_subscriber_context(subscriber)
  email_type = email_types.get(email_number, "информационное письмо")

  prompt = f"""Ты email-маркетолог. Напиши {email_type} для подписчика.

{context}

Требования:
- Тема письма (subject): цепляющая, под контекст подписчика, до 60 символов
- Тело письма: 150-250 слов, живой разговорный тон
- Персонализация — не имя в начале, а содержание под тип бизнеса и поведение
- Один чёткий CTA в конце
- Формат ответа — JSON:
{{"subject": "тема письма", "body": "текст письма в HTML"}}

Пример: если подписчик из онлайн-школы смотрел страницу тарифов —
пиши про ROI обучения и возврат инвестиций, не про общие преимущества."""

  message = client.messages.create(
      model="claude-sonnet-4-6",
      max_tokens=1024,
      messages=[{"role": "user", "content": prompt}]
  )

  try:
      result = json.loads(message.content[0].text)
      return result
  except json.JSONDecodeError:
      # Claude иногда оборачивает JSON в markdown — чистим
      text = message.content[0].text
      start = text.find('{')
      end = text.rfind('}') + 1
      return json.loads(text[start:end])

def send_via_unisender(email: str, subject: str, body: str,
                     sender_name: str = "Лёха Маркетолог",
                     sender_email: str = "hello@axdigital.ru") -> dict:
  """Отправляем письмо через Unisender API."""
  params = {
      "format": "json",
      "api_key": UNISENDER_API_KEY,
      "email": email,
      "sender_name": sender_name,
      "sender_email": sender_email,
      "subject": subject,
      "body": body,
      "list_id": "YOUR_LIST_ID",  # ID списка в Unisender
  }
  r = requests.post(UNISENDER_URL + "sendEmail", params=params)
  r.raise_for_status()
  return r.json()

def process_subscriber(subscriber: dict, email_number: int):
  """Основной пайплайн: генерация + отправка."""
  print(f"Генерируем письмо #{email_number} для {subscriber['email']}...")

  email_content = generate_email(subscriber, email_number)

  result = send_via_unisender(
      email=subscriber["email"],
      subject=email_content["subject"],
      body=email_content["body"],
  )

  print(f"Отправлено: {email_content['subject']}")
  return result

# Пример запуска
if __name__ == "__main__":
  subscriber = {
      "email": "ivan@example.com",
      "name": "Иван",
      "business_type": "онлайн-школа",
      "source": "реклама Яндекс.Директ",
      "pages_visited": ["тарифы", "о нас", "кейсы"],
      "funnel_stage": "тёплый",
      "days_since_signup": 1,
  }

  process_subscriber(subscriber, email_number=1)

Несколько деталей из практики.

Unisender API принимает HTML в теле письма — Claude хорошо генерирует простой HTML без лишних стилей. Попросите его использовать только <p>, <b>, <a> — большинство почтовых клиентов это рендерят корректно.

JSON-парсинг иногда ломается, если Claude оборачивает ответ в markdown-блок. В коде выше есть обработка этого случая. Надёжнее — просить Claude отвечать строго JSON без преамбулы, добавив в промпт: «Отвечай только JSON, без объяснений и markdown».

Для запуска по расписанию — cron или n8n. Письмо 1 уходит в день подписки, письма 2–7 по расписанию через нужные интервалы.

Три варианта первого письма под разные сегменты

Вот как выглядит один и тот же «слот» цепочки для трёх разных подписчиков. Всё генерирует Claude — человек написал только промпт и описал сегменты.

E-commerceПришёл с рекламы, смотрел страницу «интеграции»
Тема: Ваш магазин теряет 15% заказов — вот где
Привет!

Большинство магазинов теряют заказы не в рекламе —
а в письмах после покупки. Клиент купил, получил
стандартное «заказ принят» и... больше ничего.

Мы проанализировали 200+ интернет-магазинов и обнаружили:
цепочка из 3 писем после покупки поднимает повторные
заказы на 23% в течение 60 дней.

Не потому что письма «напоминают» о бренде. А потому что
правильно выстроенная цепочка решает страхи покупателя
и предлагает следующий шаг в нужный момент.

Завтра пришлю шаблон такой цепочки — его можно
настроить за день в любой платформе.

— Лёха
Онлайн-школаОрганический трафик, смотрел кейсы студентов
Тема: Почему 68% студентов не доходят до диплома
Привет!

Исследование EdTech-рынка показало: 68% студентов
бросают курсы на втором модуле. Не потому что курс плохой.
А потому что нет правильной поддержки в первые 2 недели.

Email-цепочка онбординга — один из самых дешёвых способов
это исправить. Правильно выстроенные 5 писем в первые
14 дней поднимают доходимость на 34%.

Я собрал разбор трёх школ, которые это сделали —
с конкретными письмами и цифрами до/после.

Посмотреть разбор →

До связи,
Лёха
SaaS / инструментыПришёл с партнёрского материала, тёплый лид
Тема: 3 метрики email-воронки которые реально важны
Привет!

Большинство команд смотрят на open rate и кликабельность.
Это полезно, но не это делает воронку прибыльной.

Три метрики которые я слежу в первую очередь:
revenue per email, время до конверсии,
и unsubscribe rate по сегментам — не общий.

Последнее особенно показательно: если один сегмент
отписывается в 3 раза чаще других — у вас проблема
не с письмами, а с качеством трафика.

Завтра расскажу как настроить отслеживание этих трёх
метрик в Unisender и GetResponse без программирования.

Лёха

Обратите внимание: тема у каждого письма разная, аргументы разные, CTA разные. Это одна и та же «позиция» в цепочке — день 1, приветственное письмо. Claude сгенерировал три варианта за один запуск.

Как это работает: диагностика вашей базы

Готова ли ваша база к персонализации?

4 вопроса — поймём с чего начать

Вопрос 1 из 4
Знаете откуда пришёл каждый подписчик в базе?
Вопрос 2 из 4
Есть данные о поведении подписчиков на сайте?
Вопрос 3 из 4
Используете сейчас автоматические цепочки?
Вопрос 4 из 4
Знаете ваш текущий open rate и click rate?

Кейс: онлайн-школа, 2 месяца, open rate с 19% до 31%

Онлайн-школа по маркетингу, база 4 200 подписчиков. До запуска — одна универсальная цепочка из 5 писем, одинаковая для всех. Open rate 19%, конверсия в пробный урок — 3.2%.

Разбили базу на три сегмента по типу работы: наёмные маркетологи, собственники бизнеса, фрилансеры. Источник подписки добавили как второй разрез: платная реклама vs органика. Получили 6 комбинаций.

Для каждой написали промпт с описанием болей сегмента. Claude сгенерировал 42 уникальных письма (7 × 6 сегментов) за три часа работы. Редактор прошёлся по каждому — не переписывал, только проверял фактуру и убирал совсем уж шаблонные фразы. Всего правок на 4–5 часов.

Через два месяца: open rate вырос с 19% до 31%. Конверсия в пробный урок — с 3.2% до 4.5%, рост на 40%. Отписки упали с 0.8% до 0.4% за рассылку.

Что сработало сильнее всего: тема письма под сегмент. Собственник бизнеса открывал письмо с темой «Сколько стоит ваш email-маркетинг в пересчёте на заявку», а наёмный маркетолог — с «Как показать ROI email-маркетинга руководству». Одно и то же письмо внутри, разные темы — разный open rate.

152-ФЗ: что нужно учесть

Персонализация через поведенческие данные — это обработка персональных данных по смыслу 152-ФЗ. Три требования которые нужно закрыть.

⚖️ Правовая база для персонализированных рассылок
  • Согласие на обработку персональных данных (ФЗ-152, ст. 9) — должно быть получено при подписке. Текст согласия должен явно упоминать email-рассылку и обработку данных о поведении на сайте. Галочка «Принимаю политику конфиденциальности» не всегда достаточна — нужно прямое указание на цели.
  • Согласие на рекламные сообщения (ФЗ-38, ст. 18) — отдельная галочка для рекламных писем, не совмещённая с пользовательским соглашением. Транзакционные письма (подтверждение заказа) — без согласия, рекламные — только с явным opt-in.
  • Ссылка отписки в каждом письме — обязательна. Unisender добавляет её автоматически, но убедитесь что она работает и подписчик сразу исключается из всех цепочек, не только из одной.
  • Cookie-баннер — если собираете поведение на сайте через Метрику или собственный трекинг, нужно явное согласие на использование cookies для персонализации. Стандартный информационный баннер не достаточен — нужен opt-in.

Штрафы за нарушение: по КоАП ст. 14.3 (рассылка без согласия) — до 500 000 рублей для юрлиц. По ФЗ-152 (нарушение обработки ПД) — до 300 000 рублей. На практике проверки редки, но в 2024–2025 годах активность Роскомнадзора выросла.

Простое правило: две галочки при подписке (ПД + рекламные рассылки), рабочая отписка, cookie-баннер с настройками. Этого достаточно для базовой защиты.


Персонализация через Claude — не революция, а логичный следующий шаг после сегментации. Если база разбита на сегменты, данные о поведении собираются, а API-интеграция есть — Claude просто убирает человека из процесса генерации текста. Редактор остаётся, копирайтер — нет.

За три часа работы получаете 42 письма, которые раньше заняли бы неделю и стоили бы 150–200 тысяч рублей за копирайтинг. Open rate с 18–19% до 29–31% — это не магия, это просто релевантность.

Источники

Источники

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

Как Claude API персонализирует email-рассылки?
Claude получает данные о подписчике — источник подписки, просмотренные страницы, сегмент, этап воронки — и генерирует уникальный текст письма под каждый профиль. Не просто вставляет имя в шаблон, а меняет содержание: аргументы, примеры, призыв к действию. Стоимость одного письма через API — около 0.5–2 рублей.
Сколько стоит запустить персонализированную email-цепочку на Claude?
Разработка базовой интеграции — 4–6 часов на Python-скрипт. Расходы на Claude API для цепочки из 7 писем на 1 000 подписчиков — 500–1 500 рублей в зависимости от длины писем. Unisender берёт от 660 рублей в месяц за базу до 1 000 человек. Ручная персонализация тех же 7 000 писем — не реальна без автоматизации.
Какие данные нужны для персонализации через Claude?
Минимальный набор: источник подписки (откуда пришёл человек), сегмент аудитории (e-commerce, онлайн-школа, SaaS), этап воронки (холодный, тёплый, клиент). Расширенный набор дополняет это поведением на сайте — какие страницы смотрел, какие кнопки нажимал. Всё это передаётся в промпт Claude как структурированный JSON.
Как соблюдать 152-ФЗ при персонализированных email-рассылках?
Три обязательных требования: (1) согласие на обработку персональных данных при подписке — явное, с текстом про email-рассылку; (2) согласие на рекламные сообщения по ст. 18 ФЗ-38 «О рекламе» — отдельная галочка; (3) работающая ссылка отписки в каждом письме. Поведенческие данные (страницы сайта) — тоже персональные, нужен cookie-баннер с явным согласием.
Какие платформы поддерживают интеграцию с Claude API для email?
Через Python-скрипт и API работает с любой платформой у которой есть REST API: Unisender, GetResponse, DashaMail, Mindbox. Логика одна: Claude генерирует HTML-текст письма, Python передаёт его в API платформы как транзакционное или автоматическое письмо. Unisender и GetResponse имеют хорошую документацию API на русском.
Какой open rate реально даёт персонализация email в России?
По данным Unisender, средний open rate по всем отраслям в РФ — 18–20%. Сегментированные рассылки с релевантным контентом дают 28–35%. В кейсе онлайн-школы из статьи — рост с 19% до 31% за 2 месяца работы персонализированной цепочки, конверсия в покупку выросла на 40%.
Обсуждение

    Пока без комментариев. Будьте первым.

    Войдите, чтобы отправить комментарий

    Вы сможете комментировать статьи, сохранять материалы

    или войдите по email

    Бесплатная диагностика · 30 минут · без обязательств

    Маркетинг работает, но продажи не растут?

    Отвечу на 3–5 вопросов о вашем бизнесе — и мы вместе разберём, где именно теряются клиенты и что с этим делать.

    Без продаж. Без навязчивых звонков.