Расскажу, как у нас на проде перестали расходиться цифры между трекером, рекламным кабинетом и партнёркой. Сценарий банальный: команда лила Meta Ads на нутру в DE, бюджет ~$400/день, payout на оффере $35. В Keitaro было видно 1200 кликов в сутки, в рекламном кабинете 1450, у партнёрки по тем же кампаниям висело 47 конверсий, а в трекере подтянулось только 31. Расхождение 34% по конверсиям, в кабинете оптимизатор учится на мусоре, бид-стратегия плывёт. Когда команда лезет смотреть, что пошло не так, выясняется банальщина: click id терялся на двух связках из шести, naming в URL у разных байеров разный, а часть постбеков прилетала без sub-параметров. Ниже разберу схему, которую мы прогнали через ~5М кликов за квартал и больше к ней не возвращались.
- Архитектура до запуска: 3 параметра, без которых трекер слепой
- Слой бизнес-меток отдельно от технического
- Naming rules: одна строчка спасает 40 часов разборок
- Что фиксируем в naming
- Парсинг в Keitaro
- Шаблон ссылки: что проверить до первой залива
- Postback: как сделать так, чтобы конверсии не разъезжались
- 2-3 контрольные конверсии перед заливом
- S2S, а не пиксель
- Сверка с Meta и партнёркой: что должно совпадать
- Чек-лист запуска связки
Архитектура до запуска: 3 параметра, без которых трекер слепой
Перед тем как клеить ссылки и подключать постбеки, я фиксирую слой технических данных. Если этого не сделать, через 2 недели в отчётах будет каша из cmp, campaign, camp_id и пустых строк. В Keitaro живая статистика — это просто набор колонок, и трекер не догадается, что {{ad.name}} и adset_name у тебя про одно и то же.
Минимальный набор, который должен прилетать в каждую ссылку с любого источника:
- Источник трафика — Meta, push-сетка, native, TG Ads, прямой деал. Без этого поля невозможно сегментировать отчёты, когда у тебя одновременно крутятся 4-5 каналов.
- Геолокация — в одном формате на всех связках. Только ISO-код:
DE,BR,ID. НикакихGermany,de-DEили внутренних кодов команды. - Click id — уникальный идентификатор клика, который партнёрка вернёт обратно в постбеке. Без него атрибуция конверсии работает по совпадению времени, а это уже не атрибуция, а угадайка.
На эти три параметра потом наращивается всё остальное: campaign id, ad set id, creative id, placement, устройство. Но если хотя бы один из базовых трёх плавает — дальше можно не строить.
Слой бизнес-меток отдельно от технического
Частая ошибка — смешать в одной ссылке параметры для атрибуции и параметры для аналитики. Технический слой (sub1=click id, sub2=campaign id) должен жить отдельно от бизнес-меток (название связки, бандл лендинга, тип крео). Когда правишь шаблон ссылки, легко случайно сломать постбек партнёрке, потому что у тебя sub1 разъехался с тем, что в постбек-урле партнёрской платформы.
Naming rules: одна строчка спасает 40 часов разборок
У меня в проекте была история: байер за месяц залил $12k, отчёты в Keitaro показывали 8 топ-связок, а когда сел их выписывать в шит для масштабирования — оказалось, что 3 из 8 это одна и та же связка, просто названная по-разному в разных кампаниях. Часов 6 ушло, чтобы это распутать. После этого ввели жёсткие naming rules, и подобных эпизодов больше не было.
Что фиксируем в naming
Один формат на campaign, один на ad set, один на креатив. Минимум — гео, оффер-код, тип воронки, дата запуска. Разделитель один на всех — подчёркивание или дефис, но не оба сразу. Пример рабочего шаблона для кампании: DE_nutra-skin_PWA_2026-03-09. Видно гео, вертикаль, тип лендинга, дату.
Парсинг в Keitaro
Keitaro умеет вытаскивать значения из названия кампании регуляркой. Если naming единый, ты один раз настраиваешь правило в Tokens и получаешь автоматическую разбивку по вертикалям и гео без ручной правки. Когда у тебя 60 кампаний — это перестаёт быть удобством и становится единственным способом не утонуть.
Шаблон ссылки: что проверить до первой залива
Финальная ссылка должна собираться по одному шаблону на источник. Никаких «тут я руками подставлю». Минимальный чек до того, как заливать бюджет:
- Прогнать 3-5 тестовых кликов с реальной интеграции (не из админки Keitaro, а через настоящий рекламный кабинет).
- Открыть лог клика и убедиться, что все обязательные параметры долетели, ни один не пуст и не равен макросу
{{ad.id}}в сыром виде. - Проверить, что редирект не режет query string. Бывает на лендингах с агрессивным cleanup URL — пушит юзера на чистый домен и теряет click id.
- Сверить значения с тем, что показывает источник: campaign id в Keitaro = campaign id в Meta Ads Manager.
Когда лили на $400/день в гео ID на гемблу, у нас 1 раз click id обрезался iOS Safari через рефер-policy лендинга. Симптом был такой: в трекере кликов ровно столько же, сколько в кабинете, а постбеки приходят только с Android. 2 дня искали, оказалось — мета-тег referrer на лендосе. С тех пор тест на оба устройства — обязательный пункт.
Postback: как сделать так, чтобы конверсии не разъезжались
Постбек — это связь между событием на стороне партнёрки и конкретным кликом в трекере. Если click id где-то по дороге теряется или приходит с задержкой больше 24 часов, конверсия уйдёт в «unknown» или прицепится к чужой кампании.
2-3 контрольные конверсии перед заливом
Прежде чем включать большой бюджет, делаю 2-3 контрольные конверсии вручную или через тестовый трафик. Смотрю:
- Долетел ли постбек до Keitaro за разумное время (у нас норма — до 5 минут, всё что выше 15 — повод дёрнуть саппорт партнёрки).
- Совпадает ли click id в постбеке с тем, что был на клике.
- Корректно ли пробросился payout и статус конверсии — approved, hold, trash. Если статус не передаётся, потом нельзя будет строить отчёты по апруву.
S2S, а не пиксель
Серверный постбек надёжнее пикселя. Пиксель режется блокировщиками, ITP на iOS, фаерволами корпоративных сетей. S2S работает между серверами и не зависит от того, что происходит в браузере юзера. У нас доля потерь по пиксельной схеме доходила до 18% на iOS-трафике из US — после перехода на S2S просадка ушла практически в ноль.
Сверка с Meta и партнёркой: что должно совпадать
После запуска связки в первые 24-48 часов идёт обязательная сверка трёх цифр: клики у источника, клики в Keitaro, конверсии у партнёрки vs конверсии в трекере. Норма расхождения по кликам — до 5-7% (есть боты, есть отвалившиеся редиректы, есть adblock). Если расхождение больше 15% — что-то сломано в шаблоне ссылки или в редиректе.
По конверсиям расхождение должно быть в пределах 1-3%, и почти всегда — в пользу партнёрки (она видит чуть больше, потому что некоторые постбеки прилетают с задержкой). Если в Keitaro конверсий заметно больше, чем у партнёрки — это уже тревожно: либо двойные постбеки, либо мисмэтч click id и трекер прицепляет конверсию не туда.
Чек-лист запуска связки
- Единые naming rules зафиксированы в доке и доступны всей команде.
- Шаблон финальной ссылки собран один раз на источник и не правится руками.
- 3 базовых параметра (источник, гео, click id) гарантированно долетают на каждом клике.
- Технический слой и бизнес-метки разнесены логически, не путаются в постбек-урле.
- 2-3 контрольные конверсии прогнаны через S2S-постбек до залива бюджета.
- Сверка кликов и конверсий с источником и партнёркой сделана в первые 48 часов.
- Документация по схеме лежит в одном месте — чтобы новый байер не сломал её на следующей неделе.
Дисциплина параметров — это не про «делать красиво», а про то, чтобы при $400-1000/день не сжечь бюджет на оптимизацию по битым данным. Один раз настроить, проверить на 3-5 связках и держать схему — дешевле, чем потом неделями искать, где именно разъехались цифры.





