MashaGPT
Нейросети
Возможности
СообществоБизнесуВопросыЦеныСкачатьБлогОбучениеНовости
ПопробоватьВойти

Проверяем персонализацию рассылки с помощью ИИ

Автор: MashaGPT • 9 октября 2026 • Нейросети
Получатель разворачивает письмо дома
Прочитайте готовое письмо и проверьте, как оно выглядит, когда имя не указано.

«Здравствуйте, !» выглядит как мелочь, пока не оказывается первой строкой отправленного письма. Ещё неприятнее получить письмо с чужим именем или увидеть {name} там, где должно стоять ваше. Нейросеть поможет заметить нелепое обращение и подобрать приветствие на случай, когда имя неизвестно. А проверить, что сервис действительно подставит нужные данные, можно только в редакторе рассылки.

Возьмём письмо с подборкой материалов по уходу за комнатными растениями. Все имена, реплики и сообщения в этом примере вымышлены; реальных отправок не было. Проверим обращение к получателю, подстановку данных и условия показа отдельных частей письма. Затем подготовим несколько записей с разными значениями, чтобы посмотреть результат в сервисе рассылки.

Приветствие должно работать без имени

Получатель: «В начале письма стоит запятая и сразу восклицательный знак. Похоже, сообщение не дочитали перед отправкой».

В шаблоне автор оставил место для имени. Если данных нет, сервис должен выбрать запасной текст. Такой текст называют fallback. Проверяйте всё предложение: приветствие, запятую, предлог и следующую фразу. Если заменить пустое имя словом «клиент», получится «Здравствуйте, клиент!». Часто обычное «Здравствуйте!» звучит лучше.

Если имя есть: «Здравствуйте, Анна! Собрали подборку материалов по уходу за комнатными растениями».
Если имени нет: «Здравствуйте! Собрали подборку материалов по уходу за комнатными растениями».

Получателю не нужно знать, что в базе не заполнено имя: второе приветствие выглядит законченным. Если имя неизвестно или его нельзя использовать, уберите его вместе с запятой и лишними пробелами. Настроить это нужно в вашем ESP - сервисе рассылки. У Mailchimp, Brevo и Customer.io разные правила записи переменных и условий, поэтому один готовый код для всех трёх не подойдёт.

В приглашении можно обойтись без имени. В уведомлении о заказе пропущенный номер или неизвестный статус уже меняет смысл. Замена на «ваш заказ» может скрыть сбой, а получатель увидит неверное уведомление. Если без этих данных нельзя понять, о чём письмо, остановите его отправку для такой записи и выясните причину. Запасной текст не должен выдавать неизвестное за факт.

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

Проверьте переменные своего сервиса

Перед правками запишите, в каком сервисе и редакторе собрано письмо, какую базу контактов выбрали и какая версия языка шаблонов используется. В Mailchimp база контактов называется audience, в Customer.io рабочее пространство с данными и настройками - workspace. Скопируйте названия полей из настроек или меню вставки. В одном аккаунте имя может храниться в FIRSTNAME, в другом - в FIRST_NAME. Если дать ИИ только текст письма, он не узнает, какое поле у вас существует.

Сервис или данныеКак записана переменная
Mailchimp*|FNAME|*: метка подстановки, или merge tag, поля выбранной базы контактов. У вас она может называться иначе.
Brevo{{ contact.FIRSTNAME }}: поле контакта. Проверьте, что FIRSTNAME есть в вашей базе.
Customer.io{{ customer.first_name }}: поле в записи человека. Сверьте название поля и версию языка шаблонов Liquid у этого сообщения.
Данные событияДанные о действии, например покупке, хранятся отдельно от имени. В Customer.io к ним обращаются через event; в Brevo есть отдельные данные событий и параметры транзакционных сообщений.
Служебные ссылкиСсылки на отписку, веб-версию письма и настройки подписки имеют собственные служебные переменные. Не меняйте их как поле имени.
Сервис или данные
Mailchimp
Как записана переменная
*|FNAME|*: метка подстановки, или merge tag, поля выбранной базы контактов. У вас она может называться иначе.
Сервис или данные
Brevo
Как записана переменная
{{ contact.FIRSTNAME }}: поле контакта. Проверьте, что FIRSTNAME есть в вашей базе.
Сервис или данные
Customer.io
Как записана переменная
{{ customer.first_name }}: поле в записи человека. Сверьте название поля и версию языка шаблонов Liquid у этого сообщения.
Сервис или данные
Данные события
Как записана переменная
Данные о действии, например покупке, хранятся отдельно от имени. В Customer.io к ним обращаются через event; в Brevo есть отдельные данные событий и параметры транзакционных сообщений.
Сервис или данные
Служебные ссылки
Как записана переменная
Ссылки на отписку, веб-версию письма и настройки подписки имеют собственные служебные переменные. Не меняйте их как поле имени.

Brevo и Customer.io используют двойные фигурные скобки, но команды внутри них различаются. В Brevo запасной текст можно задать в Value if empty, то есть «значение, если поле пусто», или через фильтр default. В Customer.io сначала проверьте версию Liquid у самого сообщения: от неё зависит, какие команды сработают. Изменение версии в настройках рабочего пространства не обновляет все старые письма автоматически.

В Mailchimp у поля базы контактов можно задать default merge value - значение на случай, когда собственных данных нет. Оно подставится в письмо, но не заполнит имя в записи контакта. Если нужно полностью убрать обращение с именем, используйте условие. Ниже показан код для тела письма Mailchimp, где имя хранится в FNAME. Его всё равно нужно проверить в вашем редакторе; здесь он не исполнялся.

Условие для приветствия в Mailchimp: *|IF:FNAME|*Здравствуйте, *|FNAME|*!*|ELSE:|*Здравствуйте!*|END:IF|*

Начало и конец условия должны быть в одном блоке редактора. Само условие не удаляет пробелы и не распознаёт текст-заглушку вместо имени: такие данные нужно проверить отдельно. Условные метки Mailchimp не работают в теме письма и уникальных URL сервиса. Поэтому код приветствия из тела нельзя просто скопировать туда. Если вы сомневаетесь в качестве имён, для темы проще выбрать текст без обращения.

Если в письме осталось {name}, выясните, что это: пометка автора, команда другого сервиса или обычный текст. Оно не станет рабочей переменной только из-за сходства с нужной записью. Вставьте имя через меню вашего сервиса и проверьте результат. Служебные метки сохраняйте: например, *|UNSUB|* в Mailchimp отвечает за ссылку отписки.

Имя подставилось, но падеж неверный

Было: «Меня зовут Анна. Почему в письме написано “Подборка для Анна”?»

Переменная берёт имя из поля и вставляет его как есть. От неё нельзя ждать склонения, определения пола или согласования соседних слов. Если в базе записано «Анна», после «для» нужна другая форма. Поручать ИИ склонение всех имён без проверки рискованно: есть несклоняемые и составные имена, инициалы и обращения, которые человек выбрал сам.

Стало: «Анна, посмотрите подборку материалов по уходу за растениями».
Если имени нет: «Посмотрите подборку материалов по уходу за растениями».

Теперь имя стоит в той форме, в которой его сохранили, и выбирать окончание не нужно. Если вам обязательно нужна фраза «для Анны», отдельно храните проверенную форму для этой фразы и обычное имя. Не заменяйте исходное имя ответом нейросети. Исправление одного письма не должно менять данные человека во всей базе.

Прочитайте и соседние слова. «Уважаемый Анна» останется ошибкой, даже если имя подставилось верно. «Здравствуйте, Анна!» не требует определять пол получателя. Не угадывайте по имени или email, как человек предпочитает, чтобы к нему обращались, если он этого не указал.

Передайте Claude в MashaGPT обезличенный текст и несколько придуманных записей для проверки. Попросите прочитать готовые фразы, сохранить переменные и предложить обращение без имени. Редактор должен решить, какие имена и обращения можно использовать. Предложенный моделью код отдельно проверяют в сервисе рассылки.

Промпт
Проверить, как подставляются данные в письмо

Проверь персонализацию одного письма. Не расширяй задачу до всей стратегии email-маркетинга. Сервис рассылки, редактор и версия языка шаблонов: [данные]. Переменные: [точные записи, откуда берётся каждое поле и какие значения допустимы]. Шаблон: [обезличенный текст, включая тему и прехедер - текст рядом с темой до открытия письма]. Записи для проверки: [придуманные значения и текст, который должен получиться в каждом случае]. Прочитай готовые фразы глазами получателя. Для каждой ошибки укажи место и причину. Объясни, что нужно сделать: переписать фразу, исправить данные в поле, заменить переменную или изменить условие показа. Предложи короткий исправленный текст и приветствие без имени. Не меняй служебные метки, не склоняй неизвестные имена и не придумывай сведения о заказах. Не предлагай один код для разных ESP. Если не знаешь, как сервис обработает запись, укажи, что проверить в предпросмотре. Не утверждай, что ты отправлял письмо или исполнял шаблон.

После правок сверьте переменные с настройками сервиса и снова откройте предпросмотр. Удачный результат на придуманных данных не доказывает, что реальные записи заполнены так же.

Проверьте пустые значения и лишние пробелы

Для сервиса отсутствие поля, специальное значение null, пустая строка и строка из пробелов могут быть разными случаями. null означает, что значения нет; это не текст «null». Проверьте каждый случай отдельно. В таблице мы пишем обозначения символов, чтобы они были видны: U+0020 - обычный пробел, U+00A0 - неразрывный, U+200B - символ нулевой ширины. В самих примерах скрытые символы не вставлены.

Значение в записи для проверкиЧто должно получиться в письме
first_name отсутствуетПриветствие без имени, с правильной пунктуацией.
first_name = nullПриветствие без имени. Проверяйте отдельно от записи, где поля вообще нет.
first_name = пустая строкаПосле удаления имени не остаются лишние запятая, пробел и восклицательный знак.
first_name = только U+0020 или табуляцияПосле удаления лишних знаков строка пустая: используется приветствие без имени.
first_name = Анна с пробелами по краямВ приветствии нет лишних пробелов до и после имени.
first_name = только U+00A0 или U+200BНевидимые знаки не принимаются за имя. Проверьте, удаляет ли их ваша функция обрезки пробелов, например trim.
first_name = {name}, null как текст или тестПолучатель не видит заглушку вместо имени. Запись проверяет ответственный за данные.
first_name = Анна-Мария или O'ConnorДефис и апостроф сохраняются: это часть имени.
Значение в записи для проверки
first_name отсутствует
Что должно получиться в письме
Приветствие без имени, с правильной пунктуацией.
Значение в записи для проверки
first_name = null
Что должно получиться в письме
Приветствие без имени. Проверяйте отдельно от записи, где поля вообще нет.
Значение в записи для проверки
first_name = пустая строка
Что должно получиться в письме
После удаления имени не остаются лишние запятая, пробел и восклицательный знак.
Значение в записи для проверки
first_name = только U+0020 или табуляция
Что должно получиться в письме
После удаления лишних знаков строка пустая: используется приветствие без имени.
Значение в записи для проверки
first_name = Анна с пробелами по краям
Что должно получиться в письме
В приветствии нет лишних пробелов до и после имени.
Значение в записи для проверки
first_name = только U+00A0 или U+200B
Что должно получиться в письме
Невидимые знаки не принимаются за имя. Проверьте, удаляет ли их ваша функция обрезки пробелов, например trim.
Значение в записи для проверки
first_name = {name}, null как текст или тест
Что должно получиться в письме
Получатель не видит заглушку вместо имени. Запись проверяет ответственный за данные.
Значение в записи для проверки
first_name = Анна-Мария или O'Connor
Что должно получиться в письме
Дефис и апостроф сохраняются: это часть имени.

Убирайте только то, что действительно мешает подстановке: случайные пробелы по краям и переносы строк. Сохраняйте дефисы, апострофы и диакритические знаки, например знаки над буквами в имени. Не переводите все буквы в строчные. Если вместо имени записано прозвище или компания, сначала решите, подходит ли такое обращение для вашей рассылки. ИИ не должен решать за человека, как его называть.

В Customer.io фильтр strip удаляет пробелы, табуляцию и переносы строк по краям значения. Это не означает, что он удалит любой невидимый символ Unicode. Не вставляйте strip в Brevo, не проверив, поддерживается ли там такая команда. Если в полях много случайных знаков, попросите специалиста очищать значения до подстановки в письмо. Исходные данные и список изменений нужно сохранить.

Если расстояние между словами выглядит странно, сравните значение поля с HTML-кодом письма. За одинаковым пустым местом могут скрываться разные символы. Создайте отдельную запись для проверки, скопируйте в неё проблемный фрагмент и укажите номера символов, как в таблице выше. Затем проверьте результат после исправления. Не удаляйте все пробелы внутри имени из-за одного лишнего зазора.

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

Кому показывать текст о покупке

Получатель: «Письмо обращается ко мне по имени, но благодарит за покупку, которой не было».

Имя здесь подставилось правильно. Ошибка в другом: условие разрешило показать благодарность за покупку. Проверьте отдельно, кому отправляется письмо и кому видна эта часть текста. Заполненное first_name не доказывает, что человек что-то купил, оформил нужную подписку или участвует в программе.

Перед проверкой запишите правило обычными словами: благодарность показываем только при подтверждённой покупке; если данных нет, оставляем общую подборку. Укажите, какое поле или событие подтверждает покупку, какого типа должно быть значение и как долго оно актуально. Логическое true, текст «true», «yes» и «VIP» не означают одно и то же. Сервис должен проверять именно то значение, которое предусмотрено вашим правилом.

Если покупка подтверждена: «Анна, спасибо за покупку. В этой подборке есть материалы по уходу за вашим растением».
Если о покупке ничего не известно: «Здравствуйте! В подборке есть материалы по уходу за комнатными растениями».

Первую фразу можно использовать, только если известно, что купил человек, и подборка подходит к этому растению. Одной отметки «клиент» мало. Если таких сведений нет, второй текст позволяет отправить полезную подборку без выдуманной благодарности и объяснений о незаполненных полях.

Посмотрите письмо для человека, который подходит под условие, для того, кто не подходит, и для записи без нужного поля. Ещё проверьте получателя, которому подходят сразу два условия: он может увидеть оба текста, даже если они противоречат друг другу. Решите заранее, какой текст показывать в таком случае. В Brevo после настройки Content visibility, то есть видимости содержимого, часть письма может скрыться из-за отсутствующих данных. Прочитайте оставшийся текст: он должен быть законченным.

Условия зависят от сервиса

В Mailchimp метки контактов для группировки, или audience tags, нельзя использовать как поля в условных метках подстановки. Запись AND/OR внутри IF тоже нельзя копировать из другого языка. В Brevo условия Content visibility можно соединять через and/or. Укажите модели сервис и способ настройки условия: одинаковые по смыслу команды записываются по-разному.

Откуда берутся повторы

Иногда имя повторяется в одном письме: приветствие уже подставило «Анна», а следующий блок добавил его ещё раз. Если проверять части отдельно, можно пропустить «Анна, Анна» на их границе. Прочитайте всё письмо и уберите повтор в шаблоне. Имя в записи контакта менять не нужно.

Стало: «Здравствуйте, Анна! Собрали подборку материалов по уходу за растениями. Начните с памятки о поливе».

Бывает и другая ошибка: на один почтовый ящик приходят письма с разными именами. Возможно, есть две записи с одним email или сообщение запустилось дважды. В Customer.io несколько профилей могут иметь одинаковый email, если адрес не выбран уникальным идентификатором в рабочем пространстве. Сравните идентификаторы записей и историю отправки. Одного совпадения адреса недостаточно. В других сервисах правила хранения контактов и удаления дублей могут отличаться.

Семейным или рабочим ящиком могут пользоваться разные люди. Не поручайте ИИ выбрать одно «правильное» имя, объединить записи или перенести согласие на рассылку. Ответственный за данные должен выяснить, как появились записи. Перед отправкой отметьте, какие из них относятся к общему адресу и какое обращение допустимо, пока вопрос не решён.

Два конверта в одном отделении
Одинаковый адрес не доказывает, что два профиля принадлежат одному человеку.

Проверьте специальные знаки в HTML

В значении «Анна & Илья» есть знак &, который называют амперсандом. В HTML-коде он может быть записан как &, а в готовом письме должен выглядеть как обычный &. Если получатель видит буквальное &, проверьте, не закодировали ли знак дважды: сначала в данных, потом при подстановке в HTML. Запись в коде и видимый символ в письме различаются.

Проверьте отдельную запись с именем «Анна <b>Петрова</b>». Так можно заметить, не принимает ли сервис содержимое поля за HTML-разметку. Не разрешайте HTML в имени ради жирного шрифта: лучше пока не использовать такое обращение и проверить данные. Имя, надпись на кнопке, адрес ссылки и готовый HTML обрабатывают по-разному. Кодирование для URL не защищает текст от превращения в HTML.

Brevo по умолчанию экранирует содержимое переменных: записывает специальные знаки так, чтобы они отображались как текст, а не превращались в HTML-разметку. Фильтр safe и отключение autoescape меняют это поведение. Не применяйте их к имени, которое ввёл пользователь. В Customer.io способ экранирования выбирают с учётом версии Liquid. Совет «добавьте escape везде» без проверки сервиса может создать новую ошибку.

После правки отдельно прочитайте HTML-письмо, его текстовую версию и тему. Кавычки, апострофы и амперсанды должны выглядеть как задумано, а угловые скобки не должны создавать тег или ломать запись HTML. Если переменная стоит в ссылке, проверьте и получившийся адрес, который хранится в href. Верное приветствие не подтверждает, что ссылка тоже работает. Не передавайте нейросети персональные токены и приватные ссылки.

Чьи данные показаны в предпросмотре

Можно отправить проверочное письмо себе и увидеть в нём имя другого человека. Адрес, на который приходит тест, не всегда определяет, чьи данные подставятся. Запишите отдельно адрес доставки и контакт, выбранный в предпросмотре. Если вместо данных контакта используете придуманные значения, тоже отметьте это.

  • Mailchimp: в Preview, то есть предпросмотре, включите Enable live merge tag info и проверьте значения выбранных контактов. Обычная тестовая отправка не подставляет их данные в контактные метки. Если нужна проверка отправкой, после разрешения ответственного запустите обычное письмо только на отдельную группу внутренних тестовых контактов.
  • Brevo: выберите конкретный контакт в Preview. Перед тестовой отправкой сверьте данные контактов в тестовом списке. Если письмо использует сведения о событии, например покупке, откройте предпросмотр, который умеет подставлять данные этого события. Обычная тестовая отправка их не проверит.
  • Customer.io: выберите человека в Sample Data, разделе данных для проверки. Тестовая отправка подставит его значения, даже если письмо придёт на другой адрес. Для автоматического письма по событию нужно соответствующее событие у выбранного человека. Не заменяйте отсутствующие данные придуманными, чтобы скрыть ошибку.

В предпросмотр Brevo можно передать придуманные данные события в JSON и проверить условие и текст. Но затем отдельно нужно убедиться, что подключённый сервис передаёт при реальной покупке такие же названия полей и значения. В Customer.io выберите человека с нужным событием. Не считайте образец из документации или созданную вами запись доказательством, что реальные данные приходят в том же виде.

Что проверить перед отправкой

  1. Запишите версию шаблона, сервис и переменные. Для каждого случая укажите, какой текст должен получиться. Сохраните письмо до правок.
  2. Посмотрите письмо с обычным именем, без имени, со значением null, пустой строкой, пробелами, специальными знаками и одновременно выполненными условиями. Проверяйте то, что может сломаться именно в вашем шаблоне; лишние записи только усложнят проверку.
  3. Прочитайте тему, прехедер, поле получателя, основной текст, текстовую версию и подпись; проверьте ссылки. Прехедер - короткий текст рядом с темой в списке писем. Заглушка в нём видна ещё до открытия.
  4. Сравните ожидаемый текст с предпросмотром. Если они различаются, запишите причину или отметьте «не выяснено». Один удачный просмотр не заменяет проверку остальных случаев.
  5. Найдите оставшиеся {name}, {{...}}, *|...|*, null/undefined и пометки автора вроде «ВСТАВИТЬ ИМЯ». Для каждого совпадения выясните, это случайно оставленная переменная или образец кода, который намеренно показан читателю.
  6. Если изменили данные, запасное приветствие или условия показа, снова проверьте записи, которых касается правка, и остальные варианты, на которые она может повлиять. Результат по прежнему шаблону уже не подтверждает новую версию.
  7. Перед отправкой сверьте базу и выбранную группу получателей. Исключите записи, созданные для проверки, и уберите тестовую пометку из темы. Запуск должен разрешить ответственный за рассылку.

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

Промпт
Найти пропуски в проверке письма

Посмотри, что мы забыли проверить в персонализации. Не исполняй шаблон и не отправляй письмо. Сервис и версия языка шаблонов: [данные]. Переменные и условия показа: [проверенные записи]. Текст письма: [обезличенный шаблон]. Что уже проверяем: [придуманные записи и ожидаемый текст для каждой]. Найди пропущенные случаи: поле отсутствует, в нём null или пустая строка; есть лишние пробелы или невидимые знаки Unicode; вместо имени осталась заглушка; обращение двусмысленное; подходят сразу несколько условий; текст повторяется; специальные знаки превращаются в HTML; в предпросмотре выбраны не те данные. Добавляй только случаи, которые относятся к этому письму. Для каждого предложи запись с минимумом нужных полей, ожидаемый текст и способ проверить его в сервисе рассылки (ESP). Не утверждай, что проверка уже выполнена, и не суди о реальной базе по придуманным значениям.

Запрос поможет заметить пропущенный случай. Чтобы отметить его как проверенный, человек должен посмотреть результат в сервисе.

Когда письмо можно отправлять

Перед отправкой вы должны знать, откуда берётся каждая переменная, увидеть нормальное приветствие без имени и проверить, что текст о покупке показан только нужным людям. В предпросмотре разные записи должны давать тот текст, который вы запланировали. Если имя подставилось, но данные события, повторная запись или служебная ссылка всё ещё вызывают вопросы, письмо пока не готово.

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

Погрузись в мир ИИ

Подготовка перезаписи устаревшей видеоинструкцииВидеоинструкция устарела: составляем правки с ИИ
8 октября 2026
Съёмка упаковки керамической кружкиПочему зрители уходят в начале видео? Разбираем с нейросетью
7 октября 2026
Телефон, конверты и гарнитура поддержкиКлиент пишет снова: ищем причины с ИИ
6 октября 2026
Место записи после завершения вебинараИщем пропущенные вопросы вебинара с нейросетью
5 октября 2026
MashaGPTMashaGPT

Mashagpt - интерфейс для работы сЧат GPTонлайн в России.

Телеграм новостиГруппа в ВК

Информация

ЦеныЧто такое токены?Вопросы и ответыОфертаПолитика конфиденциальностиСогласие на обработку персональных данныхСогласие на использование cookiesСогласие на рассылкуКонтакты и реквизиты

Продукты

Приложение для телефонаРасширение для браузераПартнерская программаБизнесуПеревод текстовБлогОбучениеНовости AI

Нейросети

Все нейросетиChatGPT (OpenAI)Claude (Anthropic)Gemini (Google)Grok (xAI)MidjourneyNano Banana Pro

Генерация

Seedance 2.5 (видео)Sora 2 (видео)Kling 3.0 (видео)Gemini Omni (видео)Grok Imagine 1.5 (видео)Kling (обзор)Veo 3.1 (видео)Veo (обзор)Minimax Hailuo (видео)Suno (музыка)Flux 2 (картинки)Seedream 5.0 Pro (картинки)Flux (картинки)ElevenLabs (озвучка)

Возможности

AI VisionCanvasДокументыПоиск в интернетеПроектыАнализ файловДля задачВсе инструменты

Инструменты

Написать текстГенератор картинокГенерация видеоСоздать музыкуДизайн интерьераНаписать кодСравнение нейросетей

© 2026 ИП Тимочкин Ю.А. · ИНН 772271029508 · ОГРНИП 316774600448725 · 119180, Россия, Москва, ул. Якиманка Б., д. 17/2, стр. 2, кв. 4 · support@mashagpt.ru