Разделы документации

Приём лидов из форм

Как передать имя, телефон и email из формы страницы в трекер и как вести журнал лидов локального оффера.

Трекер принимает данные из формы по двум адресам: /api/v1/lead закрепляет email, телефон и имя за кликом, /api/v1/lead-file дописывает лид строкой в журнал leads.php локального оффера. Оба адреса работают без авторизации на домене трекинга и на доменах кампаний, поэтому страница отправляет данные на свой же домен.

Что выбрать

СпособКуда попадают данныеКто видит
/api/v1/leadБлок Данные лида в окне кликаВладелец и администратор
/api/v1/lead-fileФайл leads.php в редакторе локального оффераВладелец, администратор и сотрудник, которому принадлежит оффер

Способы не зависят друг от друга: запись в журнал не заполняет блок Данные лида, и наоборот. Одна форма может отправлять данные на оба адреса.

В обоих запросах клик передаётся в параметре click_id, subid или aff_sub. На локальной странице, открытой по ссылке кампании, значение подставляет макрос {click_id}.

Привязка данных к клику

Адрес /api/v1/lead принимает GET и POST. Данные передаются в параметрах адреса или в теле запроса: обычной формой или FormData.

ПараметрЧто передать
click_id, subid или aff_subID клика. Обязателен
emailEmail
phoneТелефон
first_name, name или fnameИмя
last_name или lnameФамилия
secretСекрет источника, если он задан

Нужно хотя бы одно поле с данными. На POST трекер отвечает текстом ok, на GET — прозрачной картинкой 1×1.

Совет.

Отправляйте данные скриптом, как в заготовке ниже. В HTML-коде страницы, открытой по ссылке кампании, путь от корня в атрибутах action и src трекер направляет в папку страницы, и запись action="/api/v1/lead" до адреса не дойдёт — см. Локальный хостинг.

Готовая форма в редакторе

  1. Откройте Офферы или Лендинги.
  2. В строке локальной страницы нажмите Редактор.
  3. Нажмите + Файл.
  4. В блоке Заготовка выберите HTML + форма лида.
  5. Проверьте Путь файла. Редактор подставит index.html, а если такой файл уже есть — page.html.
  6. Нажмите Создать.

В файле появится страница с формой из полей first_name и phone и скриптом отправки:

html
<form id="lead-form">
  <input name="first_name" placeholder="Имя" required>
  <input name="phone" placeholder="Телефон" required>
  <button type="submit">Отправить</button>
</form>

<script>
  document.getElementById('lead-form').addEventListener('submit', function (e) {
    var fd = new FormData(e.target);
    fd.append('click_id', '{click_id}');
    navigator.sendBeacon('/api/v1/lead', fd);
  });
</script>

Макрос {click_id} заменяется ID клика на странице, открытой по ссылке кампании. По прямому адресу клика нет, и макрос остаётся текстом. Работа с файлами — на странице Редактор файлов, версии и экспорт.

Секрет источника и повторные отправки

Если у источника, с которого пришёл клик, заполнено поле Секрет постбэка/лида, адрес /api/v1/lead принимает запрос только с верным параметром secret. Иначе ответ — 401. Форма из заготовки секрет не передаёт. Как задать секрет — на странице Входящий постбек. Адрес /api/v1/lead-file секрет не проверяет.

Повторная отправка на /api/v1/lead по тому же клику:

  • секрет у источника не задан — заполняются только пустые поля, сохранённые значения не меняются;
  • секрет задан и передан верно — пришедшие поля заменяют прежние, а не переданные остаются как были.

Где видны данные лида

Блок видят владелец и администратор.

  1. Откройте статистику кампании.
  2. Перейдите на вкладку Лог кликов.
  3. Нажмите на строку клика.

В окне клика есть блок Данные лида со строками Email, Телефон, Имя, Фамилия. Пустые строки не показываются. Если форма по клику не отправлялась, в блоке написано «нет данных (лид не отправлял форму)». В карточке клика раздела Логи контакты не выводятся — там показано только время обновления данных формы.

Эти же данные трекер подставляет в событие Facebook Conversions API, когда email, телефон или имя не пришли в постбеке.

Каждый принятый запрос оставляет запись в Логи → Postbacks: «Данные лида закреплены за … (email/телефон/имя)». Если запрос не изменил сохранённые данные, запись другая: «Данные лида за … уже сохранены — без секрета источника не перезаписываются». На месте многоточия — ID клика.

Журнал лидов локального оффера

Адрес /api/v1/lead-file принимает только POST. Данные передаются в теле запроса: обычной формой, FormData или JSON-объектом с заголовком Content-Type: application/json.

ПараметрЧто передать
click_id, subid или aff_subID клика. Обязателен
offerID локального оффера. Обязателен. Должен совпадать с оффером этого клика
lead_idСвой номер лида, необязательно
emailEmail
name либо first_name и last_nameИмя
phone либо phonecc и phone_nationalТелефон целиком либо код страны и номер отдельно

ID оффера виден в адресе редактора: https://panel.example.com/offers/<ID оффера>/editor.

Нужно хотя бы одно из трёх: email, телефон или имя. Каждое значение обрезается до 256 символов. При успехе трекер отвечает ok и пишет в Логи → Postbacks: «Лид оффера … записан в leads.php».

Запрос отправляет скрипт страницы оффера — так же, как в заготовке выше, но на адрес /api/v1/lead-file и с полем offer. Обычный PHP страницы исходящих запросов не делает — см. PHP в локальных страницах и доступ в сеть.

Файл leads.php

Трекер создаёт журнал в корне оффера при первом лиде. Файл виден в дереве файлов редактора. Первая строка служебная, дальше одна запись — одна строка JSON:

json
{"ts":"2026-10-04T12:30:00Z","click_id":"k3m9x2pq7wzt","conversions_tracking":"abc123","lead_id":"1024","email":"[email protected]","name":"Иван Петров","phone":"+1 2025550123"}

Время в ts — UTC. В conversions_tracking попадает значение токена источника conversions_tracking, а если его нет — токена external_id.

  • Журнал открывают владелец, администратор и сотрудник, которому принадлежит оффер. Остальным он в редакторе не показывается.
  • По прямому адресу журнал не отдаётся: запрос к leads.php получает ответ 404, при выключенном PHP — 403.
  • Когда в leads.php набирается 5 МиБ, файл переименовывается в leads-<дата и время UTC>.php, запись продолжается в новый leads.php.
  • Хранится до 10 таких частей. После этого новые лиды не записываются, пока вы не удалите старые части в редакторе.
  • Переименовать журнал нельзя. Удалить можно. У оффера с флажком PHP с доступом в сеть журнал удаляют только владелец и администратор.
  • При загрузке нового ZIP журнал сохраняется. В копию оффера, в версии кода и в Экспорт ZIP он не попадает.
  • Не меняйте первую строку журнала и не кладите в корень архива свой файл leads.php. В файл без служебной первой строки трекер лиды не дописывает, запросы получают ответ 500.
Внимание.

Когда журнал заполнен, запросы получают ответ 500 и лиды не сохраняются. В Логи → Системный лог появляется запись «Журнал лидов оффера … достиг потолка — новые лиды не пишутся». Откройте старые части журнала в редакторе, скопируйте нужные записи и удалите эти файлы.

Лимиты

  • 600 запросов в минуту с одного IP — общий счётчик для обоих адресов.
  • 5 записей в час в журнал по одному клику одного оффера.
  • 1 МиБ на тело запроса.

Ошибки и их причины

Ответ с ошибкой — JSON с полями code и message. В таблице — значение message.

КодСообщениеПричина
400click_id (или subid) обязателенПараметр с ID клика не передан или пуст
404click not foundКлика с таким ID нет. Так же отвечает запрос, в котором макрос {click_id} остался текстом
401invalid secretУ источника задан секрет, а параметр secret не передан или не совпал. Только /api/v1/lead
422нет данных лида (email/phone/name)Все поля с данными пустые. Проверьте имена полей формы
404offer not foundПараметр offer не передан, оффер не локальный или не совпадает с оффером клика. Только /api/v1/lead-file
429слишком много лидов по этому кликуБольше 5 записей в час по одному клику. Только /api/v1/lead-file
429слишком много запросов, попробуйте позжеБольше 600 запросов в минуту с одного IP
500cannot save leadЗапись не сохранена. Для /api/v1/lead-file: журнал заполнен или в корне оффера лежит файл leads.php без служебной первой строки
503temporary error, retry later, try again laterВременный сбой. Повторите запрос позже
Обновлено Нужна помощь? ↗