Олег Линьков
Олег Линьков
Агротех-эксперт по digital-инфраструктуре и маркетингу АПК
Получить консультацию
Цели Яндекс Метрики на сайте производителя семян: как разделить заявки

Цели Яндекс Метрики на сайте производителя семян: как разделить заявки

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

Источники

  1. Разбор открытого кода сайта производителя семян: подключение счётчика, вызовы целей, обработчики форм и телефонных ссылок; сентябрь 2026.
  2. Официальная документация системы веб-аналитики: цели, параметры визита, офлайн-конверсии и сроки их сопоставления.
  3. Официальная документация рекламной системы: окна атрибуции по первому и последнему значимому переходу.
  4. АРИР, исследование 2024–2025: оценка доли трафика без стабильных cookie.
  5. WebKit, Tracking Prevention: удаление созданного скриптами хранилища в Safari после семи дней без взаимодействия.

разбор одного сайта из открытого кода · готовая карта целей · сроки платформ на сентябрь 2026

Таблица или график 1
Показать данные текстом
1
общий вызов цели для двух разных форм в доступном коде
12
целей в рабочей карте, по стадиям: интерес, попытка контакта, обращение
21 день
срок загрузки офлайн-конверсии в Метрику от последнего визита
~40 %
трафика уже без стабильных cookie — оценка АРИР, 2024–2025
Показать картинкуТаблица или график 1

Оговорка, без которой дальше нельзя

Это разбор одного сайта, а не статистика по отрасли. Мы не утверждаем, что так устроено у всех: сегментного замера настроек аналитики мы не делали, потому что из открытого кода их видно не всегда.

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

Что ломается от одной цели

Одна цель на все формы: заявка и отзыв попадают в одно событие
Показать данные текстом
что происходит, когда все формы бьют в одну цель Заявка на продукт обращение Отзыв о компании не обращение Вопрос агроному возможно, обращение Подписка на рассылку не обращение одна цель submit_form на все формы сразу Достижений цели больше, чем обращений в них попадают отзывы и подписки Стоимость обращения занижена делится на раздутый знаменатель Из аналитики прошлое не разделить в событии не сохранено, чем оно было Каналы сравнить нельзя у каждого своя доля отзывов Главное следствие: запускать платный трафик на такую разметку — значит через месяц не суметь ответить, какой канал дал заявку, а какой отзыв В событии не записано, чем оно было. Из аналитики прошлое не разделить; частично — только по другим журналам, если они есть. Поэтому разметка целей ставится до рекламы, а не после первых отчётов.
Если отчёт строится по общей цели, прошлое из аналитики не разделить. В событии не сохранено, чем именно оно было. Частично восстановить период иногда можно по другим журналам — журналу заявок, CRM, адресам страниц, где сработала форма. Есть ли такие данные у разобранного сайта, по открытому коду неизвестно.
Показать картинкуОдна цель на все формы: заявка и отзыв попадают в одно событие

Разберём на конкретном примере. Форма вопроса по продукту и форма отзыва о компании отправляются на разные адреса обработчика — то есть технически они уже различаются. Но в доступном коде обе вызывают одно и то же событие аналитики. Есть ли в кабинете дополнительные цели и какие из них идут в отчёты, без доступа к кабинету не проверить.

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

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

Рабочая карта целей

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

Карта целей на три очереди: семь целей первой недели, пять второй очереди и четыре механизма атрибуции
Показать данные текстом
двенадцать целей и четыре механизма — в три очереди Первая неделя ставится сразу, на существующих страницах form_question заявка или вопрос по продукту form_review отзыв о компании phone_click_federal клик по федеральному номеру phone_click_manager клик по номеру менеджера в регионе messenger_click переход в мессенджер catalog_card открытие карточки продукта buy_page переход в раздел «где купить» Второй поток когда появятся страницы, на которых это можно измерить pdf_download скачивание каталога или даташита filter_apply применение фильтра подбора article_read дочитывание материала region_select выбор региона contact_scroll доскролл до контактов Параллельно не цели, а то, без чего цели не читаются параметры визита регион и культура — приходят с каждым визитом UTM в скрытых полях источник подставляется в форму автоматически первый источник в браузере и в CRM при первом обращении офлайн-конверсии статус от менеджера возвращается в аналитику Единственное правило, из которого следует всё остальное: одно действие — одна цель Заявка и отзыв разделяются на уровне события, а не отчёта. Клик — ещё не обращение: стоимость обращения считается по дедуплицированным полученным обращениям, у кликов по телефону и мессенджеру — своя цена микроконверсии. Отзывы остаются в отчёте: это тоже результат, просто другой.
Правило одно: одно действие — одна цель. Заявка и отзыв разделяются на уровне события, а не отчёта. Клик по федеральному номеру и по номеру регионального менеджера — разные цели, чтобы видеть, куда звонят; разные номера сами по себе не доказывают разные стадии решения.
Показать картинкуКарта целей на три очереди: семь целей первой недели, пять второй очереди и четыре механизма атрибуции
Таблица или график 4
Показать данные текстом
ЦельЧто означаетСтадия
form_questionзаявка или вопрос по продуктуполученное обращение
form_reviewотзыв о компаниине обращение
phone_click_federalклик по федеральному номерупопытка контакта
phone_click_managerклик по номеру регионального менеджерапопытка контакта
messenger_clickпереход в мессенджерпопытка контакта
catalog_cardоткрытие карточки продуктаинтерес
buy_pageпереход в раздел «где купить»интерес
pdf_downloadскачивание каталога или даташитаинтерес
filter_applyприменение фильтра подбораинтерес
article_readдочитывание материалаинтерес
region_selectвыбор регионаинтерес
contact_scrollдоскролл до блока контактовинтерес
Показать картинкуТаблица или график 4

Стоимость обращения считается только по полученным обращениям после дедупликации. Попытки контакта — отдельная цена микроконверсии: клик может не закончиться звонком, а один звонок может дать несколько кликов. Дальше по воронке — квалифицированное обращение и продажа; они живут уже в CRM.

Разделить формы

Минимальная правка, дающая максимум. Вместо одного события на обе формы — два, плюс параметры визита.

<!-- было: обе формы бьют в одну цель -->
ym(COUNTER_ID, 'reachGoal', 'submit_form');

<!-- стало: разные события и параметры визита -->
ym(COUNTER_ID, 'reachGoal', 'form_question', {
  region: visitRegion,      // регион из формы или из выбора на сайте
  culture: visitCulture,    // культура, по которой пришёл интерес
  src_first: firstSource    // первый источник из localStorage, см. ниже
});

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

Поймать телефонные клики одним обработчиком

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

// один обработчик на все телефонные ссылки
document.addEventListener('click', function (e) {
  var a = e.target.closest('a[href^="tel:"]');
  if (!a) return;
  var goal = a.dataset.scope === 'federal'
    ? 'phone_click_federal'
    : 'phone_click_manager';
  ym(COUNTER_ID, 'reachGoal', goal, {
    region: a.dataset.region || ''
  });
});

Разделение на федеральный номер и номер менеджера нужно, чтобы видеть, куда звонят. Возможно, клик по региональному менеджеру означает более позднюю стадию — но разные номера сами по себе этого не доказывают; проверяется это уже по CRM.

Запомнить первый источник

Самая недооценённая правка из трёх, и она про следующий раздел. Код ниже — заготовка, а не готовое решение: он хранит источник в localStorage, а не в cookie, и предполагает, что на странице есть форма со скрытым полем src_first. Подключение к конкретной форме и CMS — отдельная работа.

// первый источник запоминается один раз и переживает новые визиты
if (!localStorage.getItem('src_first')) {
  var p = new URLSearchParams(location.search);
  localStorage.setItem('src_first', JSON.stringify({
    source:   p.get('utm_source')   || document.referrer || 'direct',
    medium:   p.get('utm_medium')   || '',
    campaign: p.get('utm_campaign') || '',
    ts: new Date().toISOString()
  }));
}
// и подставляется в скрытое поле формы перед отправкой
form.querySelector('[name=src_first]').value =
  localStorage.getItem('src_first') || '';

Почему источник надо сохранять в CRM

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

Три разных ограничения: хранилище браузера, загрузка офлайн-данных и окна атрибуции — рядом с циклом сделки по семенам
Показать данные текстом
три разных ограничения, в днях 0 30 60 90 120 150 180 дней Safari: хранилище скриптов 7 Метрика: загрузка офлайн-данных 21 Метрика: правка загруженного заказа 111 Директ: последний значимый переход 90 Директ: первый переход, кросс-девайс 180 Цикл сделки по семенам: 2–6 месяцев 60–180 дней 111 дней — не добавка к 21: это срок правки заказа, который уже успел привязаться к визиту Окна 90 и 180 дней покрывают часть цикла. Часть длинных сделок выходит за ограничения отдельных механизмов. По оценке АРИР (2024–2025), около 40 % трафика уже без стабильных cookie — ограничения браузеров, VPN и другое. Октябрьская работа, давшая февральский договор, в браузерной атрибуции часто выглядит как прямой заход.
Три разных ограничения, которые часто сливают в одно «окно». Срок жизни метки в браузере, срок загрузки офлайн-данных (21 день от последнего визита) и окна атрибуции Директа (90 и 180 дней от перехода) — разные вещи с разным началом отсчёта. Часть длинных сделок выходит за каждое из них.
Показать картинкуТри разных ограничения: хранилище браузера, загрузка офлайн-данных и окна атрибуции — рядом с циклом сделки по семенам

К этому добавляется то, что происходит с идентификаторами. По оценке АРИР (2024–2025), около 40 % трафика уже фактически без стабильных cookie — из-за ограничений браузеров, VPN и других причин. Safari удаляет созданное скриптами хранилище после семи дней без взаимодействия с сайтом.

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

Два механизма атрибуции: хранилище браузера ловит короткий возврат, источник в CRM — длинный цикл
Показать данные текстом
два механизма закрывают разные отрезки одного цикла окт ноя дек янв фев мар первый контакт договор хранилище браузера и скрытое поле: возврат с того же устройства источник в CRM с первого обращения: доживает до договора Условие: источник сохранён в CRM до того, как метка потерялась. Анонимный октябрьский визит CRM сама не восстановит. Что даёт хранилище браузера возврат через месяц-два поведение внутри сессии связь визита и формы Что даёт источник в CRM сделку длиной в полгода переход с другого устройства дедупликацию хозяйств когорты по месяцу первого контакта Что не даёт ни один анонимный визит до первого обращения канал, если формы бьют в одну цель офлайн-контакт без записи в CRM
Хранилище браузера ловит короткий возврат, источник в CRM — длинный цикл. Механизмы не заменяют друг друга и ставятся оба. «Первый источник компании» — не то же, что первый источник конкретной сделки: у хозяйства бывает несколько сотрудников и несколько сделок.
Показать картинкуДва механизма атрибуции: хранилище браузера ловит короткий возврат, источник в CRM — длинный цикл

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

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

Предпосылка, которая часто уже есть

Есть приятная деталь, которую стоит проверить у себя до того, как закладывать бюджет на коллтрекинг и сквозную аналитику.

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

Наличие вызова в коде проверяется за пять минут: открыть исходный код страницы и поискать обращение к методу получения идентификатора клиента. Работает ли вся цепочка — проверяется только тестовой заявкой и тестовым звонком.

Порядок работ

Неделя первая

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

Неделя вторая

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

До запуска рекламы

Реклама не включается, пока цели не приняты. Гнать трафик на неразмеченный сайт — это тратить бюджет на подтверждение проблемы, которая уже известна.

Сразу после запуска — регулярно

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

Через квартал

Первая аналитическая сверка когорт.

Чего этот разбор не доказывает

Это один сайт, а не статистика по отрасли. Мы не утверждаем, что так устроено у всех производителей семян: сегментного замера настроек аналитики не проводилось.

Разметка из кода видна не полностью. Часть событий и автоцели настраиваются в интерфейсе счётчика, и в исходном коде страницы их не видно. Мы фиксируем только то, что читается снаружи; вывод об искажении фактической стоимости обращения можно делать только после проверки кабинета.

Сроки платформ меняются. Все интервалы приведены на сентябрь 2026 года по официальной документации и требуют перепроверки перед внедрением.

Доля трафика без стабильных идентификаторов — отраслевая оценка, а не замер конкретного сайта. Свою долю видно только в собственной аналитике.

Частые вопросы

Почему нельзя ставить одну цель на все формы?

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

Сколько целей нужно сайту производителя семян?

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

Зачем разделять клик по федеральному номеру и по номеру менеджера?

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

Почему браузерной атрибуции недостаточно?

Потому что цикл сделки по семенам — от двух до шести месяцев, а ограничения механизмов разные: офлайн-конверсию в Метрику загружают в пределах 21 дня от последнего визита, модели атрибуции Директа смотрят на 90 или 180 дней назад. Плюс, по оценке АРИР, около 40 % трафика уже без стабильных cookie. Часть длинных сделок выходит за эти ограничения, и октябрьская работа, давшая февральский договор, часто выглядит как прямой заход.

Как связать февральский договор с октябрьским первым контактом?

Сохранить первый источник в браузере, подставить его в скрытое поле формы и записать в CRM при первом обращении — тогда он хранится у карточки хозяйства независимо от браузера и устройства. Анонимный визит до первого обращения CRM сама не восстановит, поэтому хозяйство идентифицируют как можно раньше. Отчёт строится когортами по месяцу первого контакта, а не сквозным итогом за период.

Может ли часть сквозной аналитики быть уже построена?

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

Данные к материалу

Таблицы, на которых построены числа статьи, — в формате CSV (разделитель «;», UTF-8):

Материал подготовлен ООО «Группа компаний ВФ» · webformula-agro.ru

Одна цель на все формы считает не то. Разделить потом нельзя

Разложим цели и CRM так, чтобы заявка и отзыв больше не били в одно событие