Spintax для холодных рассылок

Сервисы рассылок поддерживают спинтакс — и все поддерживают одну и ту же его часть: {a|b|c}. Эта страница про то, что даёт остальной синтаксис, с замерами на одном настоящем письме и открытым методом, и как этим пользоваться, когда отправлялка понимает только скобки.

То, что за нас уже доказали

Холодная рассылка ломается о повторяющийся контент. Отправьте одно тело письма на тысячу адресов с одного домена — фильтры увидят один отпечаток тысячу раз. Ответ у всех вендоров одинаковый, и они его обосновали лучше, чем это сделали бы мы: Mailreach сообщает о переходе доставляемости во «Входящие» с 59% до 83% после добавления спинтакса в темы и первые строки, а Smartlead ссылается на разбор 12 миллионов писем от Backlinko с приростом ответов на 30,5% при персонализированной теме. Это их замеры, не наши — мы на них ссылаемся, а не выдаём за свои выводы.

Чего ни один из этих гайдов не отвечает — вопрос уровнем ниже: сколько вариаций их синтаксис вообще способен породить и чем за это платит текст.

Куда ставить вариативность

Гайды сходятся на одних и тех же пяти местах, и места выбраны верно: тема, первая строка, ценностное предложение, предложение с доказательством и призыв к действию. Обычный совет — от трёх до пяти групп на письмо.

Обратите внимание, что этот совет признаёт. Три-пять групп — это потолок, а не рекомендация: дальше подмена слов перестаёт быть безопасной.

Проблема словаря синонимов

Гайд Smartlead сам предостерегает от {increase|boost|amplify|skyrocket}, говоря, что это читается как взорвавшийся словарь синонимов. Именно так, и в этом предел плоского кручения: единственный способ добавить вариантов — добавить синонимов, а четвёртый синоним всегда хуже первого.

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

  • Варьируйте фразы, а не слова. {увидел, что вы нанимаете|заметил новые вакансии|наткнулся на ваши вакансии} читается как три разных человека; {увидел|заметил|наткнулся} — как один человек со словарём.
  • Ветвите минимальный кусок, который различается. Не повторяйте фиксированные слова в обеих ветках — следующая правка поменяет одну и забудет вторую.

Но настоящий выход не в том, чтобы подобрать синонимы получше. Он в том, чтобы варьировать не лексику.

Три вещи, которых ваша отправлялка не умеет

1. Перестановки меняют порядок и длину, а не формулировки

Перестановка перемешивает список и склеивает его, и ей можно велеть брать только часть элементов:

Мы помогаем командам [<minsize=2;maxsize=3;sep=", ";lastsep=" и ">как ваша|в вашей нише|на вашей стадии|с вашим стеком] выпускать быстрее.
→ «Мы помогаем командам в вашей нише и с вашим стеком выпускать быстрее.»
→ «Мы помогаем командам как ваша, на вашей стадии и в вашей нише выпускать быстрее.»

Четыре элемента, взятые по два или по три, с учётом порядка, дают 36 различных исходов. Те же четыре элемента в перечислении дали бы четыре. И каждый из 36 собран из фрагментов, которые автор написал и одобрил: ничего не подменялось синонимом, значит ничего не испортилось.

2. Условия меняют то, что предложение говорит

Мерж-тег подставляет значение или запасной текст, если значения нет. Условие решает, существует ли предложение вообще:

{?HasCareersPage?Увидел, что вы ищете %role%.|}
{?RecentFunding?Поздравляю с раундом.|}
→ строка есть у тех, про кого это правда, и отсутствует у остальных

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

3. Согласование с числом убирает «1 кампаний»

Сейчас у вас %n% {plural %n%: кампания|кампании|кампаний}.
→ «1 кампания» / «4 кампании» / «7 кампаний»

Любая мерж-рассылка рано или поздно выдаёт «1 кампаний». Мелочь, которая читается как небрежность ровно в тот момент, когда вы просите внимания у незнакомого человека.

Арифметика, с замерами

Одно реалистичное письмо в пять строк, написанное дважды. Вариант A — как учат гайды: десять перечислений по три варианта плюс мерж-теги. Вариант B — то же письмо, где два перечисления заменены перестановками четырёх элементов по два-три. Новой копирайтерской работы ноль: автор дал в списке четвёртый пункт вместо третьего.

КомбинацийПовторов тела на 20 000 отправок
A — плоское кручение59 049~3 035
B — то же письмо, две перестановки8 503 056~24

В 144 раза за две правки.

Второй столбец — тот, который важен, и тот, который никто не публикует. На вас влияет не сколько вариантов могло бы существовать, а сколько получателей получат тело, которое уже кто-то получил. Это задача о днях рождения: C · (1 − e−N/C), где C — число комбинаций, N — число отправок.

На веру мы это тоже не приняли. Модель предсказывает 16 965 уникальных тел для варианта A на 20 000 отправок; рендер 20 000 писем через @spintax/core дал 16 981. Для варианта B: предсказано 19 976, измерено 19 971. Воспроизвести можно в песочнице на том же шаблоне.

Сначала рендер, потом отправка

Теперь честная часть: ничего из этого не работает внутри Instantly, Smartlead, lemlist или Saleshandy. Они разбирают {a|b|c} и свои мерж-теги, и больше ничего. Перестановка, вставленная в их редактор, уедет получателю дословно, вместе со скобками.

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

  1. Напишите шаблон полным синтаксисом и проверьте его в песочнице.
  2. Отрендерите по одному телу на получателя локально — @spintax/core в скрипте или Spintax Studio, которая генерирует набор и выгружает его сразу в XLSX.
  3. Загрузите колонку вместе со списком и подставьте её как мерж-поле.

Побочно улучшаются две вещи. Варианты можно прочитать до отправки — при кручении на стороне платформы этого не сделать. И seed делает прогон воспроизводимым: тот же список соберётся точно так же, когда понадобится объяснить, что именно получил конкретный адресат.

Перед отправкой

  • Двадцать вариантов отрендерены и правда прочитаны, а не один.
  • Каждое условие увидено в обоих состояниях — и когда строка есть, и когда её нет.
  • Считаемые существительные идут через {plural …}, проверены на 1 и на 5.
  • Нет ни одной группы синонимов, четвёртый вариант которой вы не написали бы руками.
  • Каждая переменная шаблона есть в списке, иначе тег уедет дословно.
  • Ссылки — на своём домене.

Конструкции целиком

Перестановки — про порядок и длину. Условия — про строки, зависящие от данных. Согласование с числом — про считаемые существительные. Если первый черновик шаблона пишет модель, на это есть отдельная страница.