
Коротко: для сегмента «Данные CRM» нужен CSV до 1 ГБ в UTF-8 или Windows-1251. В первой строке укажите названия полей, дальше разместите по одному клиенту в строке. В каждой записи должен быть телефон или email. Телефон пишите цифрами с кодом страны, email - строчными латинскими буквами. В файле должно быть не меньше 100 записей. Если хешируете контакты, используйте SHA-256: новые MD5-хеши Яндекс не принимает с января 2025 года.
Ниже разбираю только подготовку файла. Если нужен весь путь от создания сегмента до подключения в рекламе, откройте инструкцию по сборке сегмента в Яндекс.Аудиториях.
Экспортируйте данные в CSV. Размер файла не должен превышать 1 ГБ, кодировка - UTF-8 или Windows-1251. Первая строка содержит названия полей через запятую, каждая следующая строка описывает одного клиента. Минимум для загрузки - 100 записей.
Для CRM-сегмента обязательны не все столбцы, но в каждой строке нужен хотя бы один идентификатор: phone или email. Можно добавить external_id, чтобы сопоставить строку с карточкой клиента в своей CRM. Дополнительные поля допустимы, но не заменяют телефон или email.
79995551111, а не 7 (999) 555-11-11.@, домен и только нижний регистр. Например, mail@yandex.ru, а не Mail@yandex.ru.Это тестовые, выдуманные данные. Они показывают структуру файла, но двух строк недостаточно для загрузки: перед загрузкой добавьте не меньше 100 записей.
external_id,phone,email
crm-test-001,79995551111,anna.test@example.invalid
crm-test-002,79001234567,boris.test@example.invalid
Сохраните файл именно как CSV, не как XLSX. После экспорта откройте его в текстовом редакторе и проверьте: заголовки и значения разделены запятыми, телефон не превратился в научную запись, email не получил заглавные буквы. Русскоязычный Excel при сохранении CSV часто ставит разделителем точку с запятой (;): убедитесь, что в файле стоит именно запятая (,), при необходимости замените разделитель через поиск.
Причёсанные кейсы дозревают здесь, на сайте. А в канале работа идёт в моменте: цифры в тот же день, честные провалы, приколы из практики и шаблоны, которые я делаю себе и отдаю бесплатно.


Хешировать нужно уже нормализованное значение. Сначала получите 79995551111, затем хешируйте именно эту строку без перевода строки, пробелов и кавычек. Для этого тестового телефона SHA-256 равен 22846ab8f79870871eb44f653419a4a5069301827d8ae75b6c2a88e4989a364e.
В режиме «Данные CRM» заголовки остаются phone и email. При создании сегмента включите «Хешированные данные» и выберите SHA-256. Не добавляйте к этим заголовкам _SHA256: такой суффикс справка Яндекса указывает для универсального сегмента и ID мобильных устройств, а не для CRM-режима.
external_id,phone,email
crm-test-001,22846ab8f79870871eb44f653419a4a5069301827d8ae75b6c2a88e4989a364e,13cf0c4489d7f7b2e14cad2122c44f239cafc0024bbe1b1f7c1318d2ec6b24a1
crm-test-002,da3cc66efc5e1894feb632d7dc0d2426e15465775b88be1635a0cad3b8884415,21abf4aa04a871f1c471e6a79afab8922370af69b77aaba8b70ee8262a8457c2
В Google Таблицах нет штатной формулы SHA-256. Один раз откройте «Расширения - Apps Script», вставьте функцию и сохраните проект. Затем в ячейке рядом с нормализованным значением из A2 используйте формулу =ЕСЛИ(A2="";"";SHA256(A2)): она не передаст в функцию пустую ячейку.
function SHA256(value) {
if (!value || String(value).trim() === '') return '';
const bytes = Utilities.computeDigest(
Utilities.DigestAlgorithm.SHA_256,
String(value).trim(),
Utilities.Charset.UTF_8
);
return bytes.map(b => ('0' + (b & 0xff).toString(16)).slice(-2)).join('');
}
Проверьте результат на тестовом значении 79995551111: формула должна вернуть хеш из примера выше. Функция не хеширует пустые ячейки и удаляет пробелы по краям значения; передавать неочищенный телефон не нужно.
У обычной формулы Excel нет встроенной функции SHA-256. Формула вида =SHA256(A2) сработает только если её добавил ваш VBA-надстройка или корпоративный шаблон. Если такой функции нет, безопаснее выгрузить нормализованный CSV и применить проверяемый скрипт ниже, чем получить не тот алгоритм из случайной надстройки.
import csv
import hashlib
def sha256(value):
return hashlib.sha256(value.encode('utf-8')).hexdigest()
with open('crm.csv', encoding='utf-8', newline='') as source, \
open('crm-sha256.csv', 'w', encoding='utf-8', newline='') as target:
reader = csv.DictReader(source)
fields = reader.fieldnames
writer = csv.DictWriter(target, fieldnames=fields)
writer.writeheader()
for row in reader:
for field in ('phone', 'email'):
if row.get(field) and row[field].strip():
row[field] = sha256(row[field].strip())
writer.writerow(row)
Скрипт предполагает, что crm.csv уже содержит нормализованные телефон и email. Он удаляет пробелы по краям значения и не хеширует строку из одних пробелов, но не исправляет регистр или формат телефона. Если исходный файл CRM сохранён в кодировке Windows-1251, укажите при чтении encoding='cp1251' вместо utf-8.
printf '%s' '79995551111' | sha256sum
На macOS вместо sha256sum используйте printf '%s' '79995551111' | shasum -a 256. Важно использовать printf, а не обычный echo: перевод строки меняет хеш. Команда выводит 22846ab8f79870871eb44f653419a4a5069301827d8ae75b6c2a88e4989a364e.
phone или email.Если файл не проходит эти пять пунктов, не загружайте его «на проверку»: сначала исправьте экспорт. После подготовки файла переходите к общей инструкции о CRM-сегменте и его использовании.
CSV размером до 1 ГБ в кодировке UTF-8 или Windows-1251. В первой строке указывают названия полей, затем размещают по одной записи в строке. Минимум для файла - 100 записей.
Телефон пишут цифрами с кодом страны, без пробелов и других символов: 79995551111. Email пишут латиницей, с символом @ и доменом, только строчными буквами: mail@yandex.ru.
Нет, не для режима «Данные CRM». Если значения хешированы, при создании сегмента включают «Хешированные данные» и выбирают SHA-256. Суффикс _SHA256 справка указывает для универсального сегмента и ID мобильных устройств.
Нет. С января 2025 года загрузка новых MD5-хешей не поддерживается. Для хешированных данных используйте SHA-256.
Да. В каждой записи CRM должен быть хотя бы один из двух идентификаторов: phone или email. Оба поля в одной строке не обязательны.
Кейс Директа: цена подписки в телеграм-бот минус 65% за шесть недель, работа с ИИ
Я давно заметил: в настройке рекламы проблема почти никогда там, где её […]
Открыть дело →
ЯНДЕКС.ДИРЕКТ
Как сделать рекламу: с чего начать и сколько это стоит
Привет! Я Евгений Вязников, эксперт по performance-маркетингу - в маркетинге с 2017
Открыть дело →
ЯНДЕКС.ДИРЕКТ
Контекстная реклама: как работает и сколько стоит
Контекстная реклама - формат продвижения в интернете, при котором коммерческие объяв
Открыть дело →
ЯНДЕКС.ДИРЕКТ
Что такое Яндекс Директ и как он работает
Что такое Яндекс Директ, как работают поиск, РСЯ и ЕПК, аукцион и запуск первой камп
Открыть дело →
ЯНДЕКС.ДИРЕКТ
Медийная реклама: баннеры, охваты и когда не нужна
Клиент звонит: «Клип залетел, просмотры полетели, заявок ноль». Открываю статистику:
Открыть дело →
ЯНДЕКС.ДИРЕКТ
Гео-реклама: показ по региону без слива
Запустил объявления «на весь город», заявки посыпались из районов, куда бизнес физич
Открыть дело →
ЯНДЕКС.ДИРЕКТ
РСЯ или поиск: чем отличается реклама в Директе
Сколько раз ни настраивал деление бюджета между РСЯ и поиском, каждый раз […]
Открыть дело →
ЯНДЕКС.ДИРЕКТ
Яндекс.Аудитории: как собрать сегмент под рекламу
Яндекс.Аудитории нужны не вместо Директа, а для ответа на простой вопрос: кому [&hel
Открыть дело →
Причёсанные кейсы дозревают здесь, на сайте. А в канале работа идёт в моменте: цифры в тот же день, честные провалы, приколы из практики и шаблоны, которые я делаю себе и отдаю бесплатно.


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