Сборка fbc fbp руками без поломки матчинга
В серверных воронках сборка fbc fbp руками - замена браузера: пиксель на собственном сайте собирал бы куки Meta _fbc и _fbp автоматически, но серверная воронка в момент конверсии браузера не видит, поэтому значения собираются из того, что снял клик. Формат документирован и прост; ошибки тихие. Кривой fbc не валит запрос - он просто матчит хуже, и оптимизация молча впитывает потерю. Разбираем форматы кук, конструкцию fbc из fbclid, правила хеширования и ошибки формата.
Зачем серверным событиям эти значения вообще - матчинг и его оценки - в полном гайде Meta CAPI; эта страница - инструкция по сборке.
Как выглядят две куки
Куки Meta в браузере идут с подчёркиванием, а в user_data вызова Conversions API едут - без подчёркиваний:
| Кука браузера | Поле user_data | Что хранит |
|---|---|---|
_fbc | fbc | Клик: версия, таймстамп и fbclid из URL объявления |
_fbp | fbp | Браузер: версия, таймстамп создания и случайное число в рамках домена |
Для арбитражных воронок различие критично: fbc - про клик, восстанавливаемый из URL объявления; fbp - про браузер конкретного домена, когда домен конверсии находится вне вашего контроля. Meta документирует, что серверные события несут их как fbp и fbc в user_data, и что _fbc собирается из URL-параметра fbclid (fbp and fbc parameters). Каждое значение сводится с кликом через свой click ID, поэтому решает время захвата.
Конструкция fbc из fbclid
Рецепт сборки по документированному формату:
- Снимите сырой параметр
fbclidиз URL назначения объявления в момент клика, до того как любой редирект его подрежет (где теряются fbclid и ttclid). - Запишите момент клика таймстампом.
- Затем соедините части в версионной форме:
fb.1.<timestamp>.<fbclid>.
URL объявления: your-tracker.example/landing?fbclid=IwAR0abc123
сохранённый fbc: fb.1.1790000000000.IwAR0abc123Собранное значение остаётся пригодным при двух правилах. Первое: точность таймстампа и сам fbclid - ровно то, что принёс клик; подрезка, URL-декодирование или пере-кодирование fbclid дают значение, которое Meta не сведёт с кликом. Второе: собирайте один раз в момент клика и храните результат в строке клика; пересборка потом по памяти приглашает дрейф.
Что едет хешированным - а что нет
Правила хеширования явные и несимметричные:
| Поле user_data | Отправляется |
|---|---|
fbc, fbp | Сырым - никогда не хешируется |
client_ip_address, client_user_agent | Сырым - никогда не хешируется |
em (email), ph (телефон), имена, гео-поля | SHA-256, с предварительной нормализацией |
Meta документирует список «никогда не хешировать» отдельно, и в нём ровно поля, которые собирает этот гайд (fbp and fbc parameters). Классическая ошибка - применить один хеширующий ко всему объекту user_data сразу и уничтожить только что собранные значения.
Ошибки, ломающие матчинг
- Подчёркивания в payload. Куки браузера -
_fbc/_fbp; поля user_data -fbc/fbp. Отправить подчёркнутые имена в JSON - самая частая ошибка формата. - Искажённый fbclid. URL-декодирование или усечение снятого параметра - значения fbclid содержат символы, выживающие только дословно.
- Хешированные поля идентичности. fbc и fbp, хешированные «для единообразия», перестают матчить полностью; правила хеширования - на поле, не на объект.
- Дрейф таймстампа. Сборка fbc с таймстампом, отличным от кликового, - значение сводится с кликом, а не с моментом отправки.
Все четыре ловит проверочный цикл: отправьте одно собранное событие через Test Events Meta, затем сверьте сигналы матч-качества в Events Manager (get started). Полевые правила сидят внутри более широкой картины матчинга гайда Meta CAPI, а потери клик-стороны за отсутствующим fbclid - в карте потерь прелендинга.
Сборка fbc и fbp: частые вопросы
Frequently asked questions
Источники
Sources
- Проверьте собранные значения: Pixel Activator бесплатно шлёт события с вашими fbc/fbp, чтобы увидеть движение матчинга.
- Собрано однажды - доставляется всегда: Most строит и прикладывает идентификаторы на клик в точном документированном формате.
