Elido
11 мин чтенияТуториалы

Пересылка конверсий в Meta CAPI через короткие ссылки Elido

Как восстановить 30–40% событий конверсии, которые Meta Pixel теряет из-за ITP: настройка CAPI, ключи сопоставления, дисциплина дедупликации и чеклист валидации

Ana Kowalska
Marketing solutions engineering
Diagram showing browser Meta Pixel losing events with strikethrough on one side and Elido server-side CAPI forwarding recovering them on the other

Собственное руководство Meta, опубликованное на странице начала работы с Conversions API (доступ от 2026-05-12), рассматривает браузерный пиксель как дополнение к CAPI, а не наоборот. Этот сдвиг произошел примерно во время выхода iOS 14.5: App Tracking Transparency снизил качество сигналов Meta, ITP отъел еще кусок, а количество установок блокировщиков рекламы продолжило расти. К 2026 году команды, запускающие рекламу в Meta на аудиторию с преобладанием iOS, регулярно сталкиваются с потерей 30–40% событий конверсии до того, как они попадут в отчеты.

CAPI - это серверный канал, который обходит все эти ограничения. Ваш сервер напрямую общается с Meta graph API. ITP здесь не применяется. Блокировщики рекламы его не перехватывают. Коэффициент сопоставления (match rate) растет, потому что вы можете отправлять хешированные email и номера телефонов вместе с идентификатором клика; а благодаря общему ключу дедупликации для браузерных и серверных событий Meta засчитывает конверсию один раз, даже если сработали оба пути.

Это пошаговое руководство по настройке CAPI через короткие ссылки Elido. Обзор отслеживания конверсий на стороне сервера охватывает более широкую архитектуру (GA4, TikTok, Mixpanel, семантика повторных попыток). Руководство по сквозному отслеживанию UTM стоит прочитать первым, если ваша разметка кампаний все еще хаотична.

TL;DR#

  • Meta Pixel теряет 30–40% событий конверсии на трафике с iOS из-за ITP и блокировщиков рекламы; CAPI отправляет эти события напрямую с вашего сервера, восстанавливая большую часть пробела.
  • Ключ дедупликации - event_id - должен быть идентичным для вашего браузерного пикселя и события CAPI. Отсутствие этого ключа приводит к двойному учету, что нарушает распределение бюджета оптимизации Meta.
  • Более высокая плотность ключей сопоставления (хешированный email, телефон, ID клика fbc, куки fbp) напрямую улучшает коэффициент сопоставления атрибуции; Elido фиксирует fbclid в момент клика и связывает его с каждой последующей конверсией.
  • Валидация занимает около 10 минут: в Meta Events Manager есть панель Test Events, которая показывает события CAPI, поступающие в течение 30 секунд, задолго до того, как обновится дашборд коэффициента сопоставления за 24 часа.

Что вам понадобится перед началом#

Три вещи, все из Meta Business Manager.

Pixel ID. У каждого рекламного аккаунта Meta есть как минимум один пиксель. Найдите его в Events Manager в разделе Data Sources. Числовая строка - например, 1234567890 - это то, что вы вставите в настройки интеграции Elido.

Токен доступа системного пользователя. Это учетные данные, которые позволяют Elido записывать события в ваш пиксель. Перейдите в Business Settings, затем в Users, далее в System Users. Создайте системного пользователя с доступом Standard, назначьте его пикселю (права Manage) и сгенерируйте токен с областями доступа ads_management и business_management. Токен долговечен; обновляйте его при ротации других сервисных учетных данных, а не по расписанию. Храните его как секрет воркспейса - не в исходном коде и не в таблицах.

Шаблон URL источника события. Каждое событие CAPI несет event_source_url, который сообщает Meta, на какой странице произошла конверсия. Для событий покупки это обычно URL подтверждения заказа. Для лидов - страница отправки формы. Вам не нужно прописывать их жестко; они берутся из вебхука заказа или контекста запроса вашего бэкенда в момент конверсии.

Ключи сопоставления: почему важна плотность#

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

Четыре ключа, которые важнее всего:

em (SHA-256 хешированный email). Самый ценный сигнал. Если у вас есть email клиента в момент конверсии (а при покупках он есть почти всегда), отправляйте его. Справочник параметров информации о клиенте Meta (доступ от 2026-05-12) определяет правила нормализации: нижний регистр, обрезка начальных/конечных пробелов, никаких изменений в домене. Хешируйте уже нормализованную строку. Отправка напрямую хешированного [email protected] выдаст неверное значение; хешировать нужно [email protected].

ph (SHA-256 хешированный телефон). Та же дисциплина нормализации. Формат E.164: код страны, без пробелов, без тире, без скобок. +4915123456789 хешируется в то, что Meta может сопоставить; 015123456789 - нет.

fbc (Facebook click ID). Когда пользователь кликает по рекламе в Meta, целевой URL получает параметр запроса fbclid. Ваша лендинг-страница или обработчик редиректа Elido считывает и сохраняет его. Поле fbc строится на его основе: fb.{version}.{creationTime}.{fbclid}, где версия - 1, а время создания - Unix-таймштамп в миллисекундах. Elido фиксирует fbclid из URL редиректа в момент клика и сохраняет его в записи о клике. Когда вы отправляете POST-запрос конверсии с click_id, значение fbc уже прикреплено и пересылается автоматически.

fbp (Facebook browser pixel cookie). Это кука _fbp, которую Meta Pixel JS устанавливает на вашем домене. С точки зрения вашего домена это основная (first-party) кука. Ваш сервер считывает ее из заголовков запроса в момент оформления заказа и включает в данные конверсии. Без нее качество сопоставления Meta для резервного браузерного пути снижается.

Практический порядок приоритетов: сначала em (доступен почти всегда), затем fbc (предоставляется Elido для конверсий из кликов), потом fbp (считывается из куки на странице подтверждения), в последнюю очередь ph (часто не фиксируется). Данные с em + fbc будут сопоставляться значительно лучше, чем пустые.

Лестница коэффициента сопоставления: от 38% только с пикселем до 87% по мере добавления хешированного email, ID клика fbc, куки fbp и хешированного телефона в качестве ключей сопоставления Meta CAPI

Настройка в Elido#

Интеграция находится в Workspace Settings, в разделе /integrations, далее Meta CAPI.

Вставьте ваш Pixel ID и токен доступа системного пользователя. Elido немедленно проверяет токен через Meta graph API - ошибка 400 здесь означает, что токен сформирован неверно или ему не хватает прав; проверьте разрешения системного пользователя перед продолжением. После валидации интеграция становится активной для воркспейса. Все отслеживаемые ссылки в воркспейсе участвуют в ней; переключателя для отдельных ссылок нет.

Когда по отслеживаемой ссылке совершается клик, обработчик Elido на границе (edge) считывает fbclid из строки запроса (если он есть) и записывает его в запись о клике. Это происходит на уровне редиректа, до того как пользователь попадет на ваш сайт, поэтому фиксация надежна независимо от того, сработал ли JavaScript на вашем целевом сайте.

Когда происходит событие конверсии, отправьте его через POST на /v1/conversions:

curl -X POST \
  https://api.elido.app/v1/conversions \
  -H "Authorization: Bearer $ELIDO_TOKEN" \
  -d '{
    "click_id":   "clk_01HYZ7T8WV6KQX3M",
    "event_name": "Purchase",
    "event_id":   "ord_98231",
    "value":      89.50,
    "currency":   "EUR",
    "user": {
      "email":  "[email protected]",
      "phone":  "+4915123456789"
    }
  }'

При получении Elido находит запись о клике, считывает сохраненный fbclid для создания fbc, нормализует и хеширует email и phone, собирает полный пакет данных CAPI и отправляет POST на https://graph.facebook.com/v21.0/{pixel_id}/events. API немедленно возвращает ID конверсии; передача в Meta происходит в фоновом режиме и доступна для наблюдения через GET /v1/conversions/{id}.

Необработанный пакет CAPI, который формирует Elido, выглядит так:

{
  "data": [
    {
      "event_name": "Purchase",
      "event_time": 1747047600,
      "event_id": "ord_98231",
      "action_source": "website",
      "event_source_url": "https://shop.example.com/checkout/thanks?order=98231",
      "user_data": {
        "em": ["a3b6e2f4...sha256 of [email protected]"],
        "ph": ["c7d9f1a3...sha256 of +4915123456789"],
        "fbc": "fb.1.1747040000.AbCdEfGhIj",
        "fbp": "fb.1.1747040000.987654321",
        "client_user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 ...)",
        "client_ip_address": "203.0.113.42"
      },
      "custom_data": {
        "currency": "EUR",
        "value": 89.5,
        "content_ids": ["sku-spring-jeans-32-blue"],
        "content_type": "product",
        "num_items": 1
      }
    }
  ],
  "access_token": "EAAxxxxxxx"
}

Поля event_source_url и action_source производятся из целевого URL записи о клике и параметра source запроса конверсии (по умолчанию website). Если вы пересылаете конверсии из приложения, передайте "source": "app" в теле POST-запроса.

Дисциплина дедупликации#

Прочитайте документацию Meta по дедупликации событий (доступ от 2026-05-12), прежде чем работать с боевым трафиком. Если вкратце: Meta сопоставляет события браузерного пикселя и события CAPI по паре event_id + event_name в течение 48-часового окна. Если оба события содержат одну и ту же пару, второе событие просто отбрасывается.

Из этого следует операционное требование: событие Purchase вашего браузерного пикселя и ваше серверное событие CAPI должны иметь один и тот же event_id. Самый надежный выбор - ID заказа: обе стороны его видят, он стабилен и не пересоздается при повторных попытках.

Где это ломается на практике: сервер генерирует UUID во время отправки вместо использования ID заказа. Или браузерный пиксель использует одну схему ID (ord_98231), а бэкенд - другую (order-98231). В итоге оба события принимаются. Ни одно не дедуплицируется. Ваша отчетная конверсия удваивается. Алгоритм Meta перераспределяет бюджет на кампанию на основе раздутых цифр. Анализ бюджета три недели спустя показывает: «наш ROAS почему-то в 2,5 раза выше реальной выручки», и разбирательства будут неприятными.

Диаграмма последовательности ниже показывает, как event_id проходит через систему:

Последовательность событий от клика пользователя через фиксацию на границе Elido до POST-запроса конверсии мерчанта в Meta CAPI - fbclid фиксируется на границе, event_id передается для дедупликации

Вызов браузерного пикселя происходит на стороне клиента при загрузке страницы подтверждения. Серверная пересылка CAPI происходит при срабатывании вебхука вашего заказа. Оба должны передавать event_id: ord_98231 (или другой ваш идентификатор заказа). Временной разрыв между ними не важен, пока оба события приходят в течение 48 часов.

Если вы не используете браузерный пиксель (удален из-за согласия GDPR или из-за того, что ваша аудитория массово использует блокировщики рекламы), дедупликация не имеет смысла. Отправляйте только через CAPI. Но большинство команд используют оба способа; браузерный пиксель обеспечивает резервный сигнал для пользователей, когда события CAPI не могут нести ключи сопоставления (email не зафиксирован, нет fbclid).

Валидация#

Цикл валидации короток и должен быть пройден до запуска боевого трафика.

Шаг первый: установите код тестового события. В настройках интеграции Elido Meta CAPI есть поле для кода тестового события. Возьмите код из Meta Events Manager в разделе Test Events. Вставьте его. Пока этот код установлен, каждое событие CAPI, которое отправляет Elido, направляется в тестовую панель - оно никогда не попадет в боевые отчеты.

Шаг второй: запустите тестовую конверсию. Кликните по одной из ваших отслеживаемых ссылок в браузере (это зафиксирует fbclid, если URL ссылки пришел из рекламы Meta или если к ссылке вручную добавлен fbclid для теста). Отправьте POST конверсии для этого click_id с реалистичным ID заказа, суммой и email-адресом.

Шаг третий: проверьте Test Events. В Meta Events Manager тестовое событие должно появиться в течение 30 секунд. Убедитесь, что event_name совпадает с тем, что отправляет ваш браузерный пиксель. Убедитесь, что event_id - это ID заказа, а не UUID. Проверьте, что em, fbc или fbp отображаются в разделе user_data - должен присутствовать хотя бы один ключ сопоставления.

Шаг четвертый: удалите код тестового события. После проверки очистите поле кода тестового события и сохранитесь. Боевые события начнут поступать. Дашборд коэффициента сопоставления в Events Manager заполняется значимыми данными через 24 часа.

На что смотреть через 24 часа: коэффициент сопоставления выше 60% - это приемлемо; выше 75% - хорошо; выше 85% означает, что плотность ключей сопоставления высока и атрибуция будет надежной. Если показатель ниже 60%, наиболее вероятная причина - отсутствие fbc (fbclid не было в URL лендинга) или ошибка нормализации хеширования.

Типичные ошибки#

Отсутствие event_source_url. События CAPI без этого поля принимаются, но пенализируются в логике сопоставления Meta. Поле должно содержать URL страницы, на которой произошла конверсия: ваш URL подтверждения заказа, лендинг формы лида или эквивалент в приложении. Elido берет его из целевого URL записи о клике, если он не переопределен; передавайте его явно в POST-запросе конверсии, если ваш URL подтверждения отличается от адреса редиректа.

Хешированный ключ не в нижнем регистре или с пробелами. [email protected] и [email protected] дают разные значения SHA-256. Серверы Meta хешируют каноническую форму, хранящуюся в их графе пользователей. Если ваш хеш не совпадает, событие помечается как несопоставленное. Требование нормализации касается и номеров телефонов: уберите вариации форматирования кода страны, принудительно используйте E.164. Маршрутизация через эндпоинт /v1/conversions в Elido означает, что нормализация выполняется за вас; вы передаете необработанные email и телефон, а Elido хеширует их по спецификации.

Несоответствие action_source. Конверсии, инициированные в вебе, используют "action_source": "website". Конверсии в мобильных приложениях используют "app". Если вы пересылаете покупку, совершенную в вашем приложении на iOS, но отправляете action_source: "website", модель атрибуции Meta может ухудшить сигнал. Передавайте "source": "app" в POST-запросе конверсии Elido для событий из приложений.

fbc отсутствует, так как в URL не было fbclid. Это происходит, когда целевой URL объявления не содержит fbclid - либо потому что в кампании не включено «Автоматическое расширенное сопоставление», либо потому что URL был собран вручную без него, либо пользователь пришел по пути ретаргетинга, который не нес этот параметр. Когда fbc отсутствует, конверсия все равно пересылается, но коэффициент сопоставления падает только до email/телефона. Проверьте настройки кампании в Meta Ads Manager; fbclid должен присутствовать в целевых URL для стандартных трафиковых кампаний.

Двойные схемы event_id. Браузерный пиксель и событие CAPI используют разные форматы для одного и того же ID заказа. Это почти всегда случается, когда конфиг GTM на фронтенде и интеграция вебхука заказов на бэкенде принадлежат разным командам. Договоритесь о каноническом формате до запуска. ID заказа в виде строки (ord_98231) подходит. Только числовой формат тоже подходит. Если пиксель выдает "ord_98231", а сервер - "98231", они считаются разными событиями: ни одно не дедуплицируется.

Пример результата#

Ecommerce-бренд из ЕС, запускающий рекламу в Meta на Германию и Австрию, сообщил о 38% коэффициента сопоставления при отслеживании только через пиксель. Safari на iOS составлял примерно 45% трафика сайта; уровень отказа от ATT в демографии 25–44 лет составлял около 72%.

После настройки CAPI через Elido с em + fbc в качестве основных ключей сопоставления, коэффициент сопоставления вырос до 76% в течение первой недели. fbc теперь присутствовал при каждой конверсии, источником которой был клик по рекламе в Meta (Elido фиксирует fbclid на уровне редиректа, а не на уровне браузера), а пересылка хешированного email обеспечила второй путь сопоставления для конверсий, где срок действия куки _fbp истек.

CPA снизился на 18% в течение следующих четырех недель. Отчетный ROAS изменился с 2.1 до 2.6. Снижение CPA на 18% отражает лучшую атрибуцию, а не улучшение эффективности кампании: кампании всегда работали с ROAS 2.6; просто пиксель в одиночку занижал показатели.

Место в пайплайне атрибуции#

CAPI - это один из каналов в более широкой настройке серверной пересылки. Обзор отслеживания конверсий на стороне сервера охватывает GA4 Measurement Protocol и TikTok Events API с такой же глубиной, как этот пост - Meta. Объяснение бескуковой атрибуции стоит прочитать, если вам нужны фундаментальные причины: ITP, защита от отслеживания ссылок и последовавшие за этим сдвиги в моделях атрибуции.

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

Настройка, описанная выше, достижима за одно утро. Основные вложения - это время на валидацию: 30 минут в Meta Test Events перед запуском боевого трафика. Эти 30 минут того стоят; альтернатива - обнаружить ошибку конфигурации через три дня, когда алгоритм уже сработал на неверных цифрах.


Источники

  • Meta Conversions API: Getting Started. developers.facebook.com/docs/marketing-api/conversions-api/get-started/ (доступ от 2026-05-12)
  • Meta Conversions API: Deduplicate Pixel and Server Events. developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events/ (доступ от 2026-05-12)
  • Meta Conversions API: Customer Information Parameters. developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters/ (доступ от 2026-05-12)

Попробуйте Elido

Вставьте URL - получите короткую ссылку

Без регистрации. Ссылка живёт 30 дней. Зарегистрируйтесь, чтобы оставить её навсегда.

Бесплатно, без регистрации · 2 в день

Попробуйте Elido

URL-сокращатель с хостингом в ЕС: собственные домены, глубокая аналитика, открытый API. Бесплатный тариф - без банковской карты.

Теги
meta capi conversion
meta conversions api
capi server side
facebook capi tutorial
server side tracking
elido conversions

Читать дальше