Передача заявок Instagram Lead Ads в CRM
Когда форма Lead Ads заполнена, Meta присылает событие leadgen для вашей страницы. В нём только идентификаторы (leadgen_id, form_id, page_id, ad_id) — ответы нужно забрать отдельным запросом к API с токеном страницы. Затем ваш бэкенд записывает заявку через API CRM и назначает менеджера. Meta даёт скачать заявки только 90 дней, поэтому полагаться на ручную выгрузку рискованно.
Опубликовано: Обновлено:
Почему CSV недостаточно
Выгрузка CSV делается вручную и создаёт задержку: при выгрузке раз в день заявка в среднем ждёт полдня. К тому же Meta позволяет скачать только заявки за последние 90 дней — пропущенная выгрузка может стоить данных. Интеграция решает обе проблемы.
Как строится поток
Получите разрешения
Запросите leads_retrieval, pages_show_list, pages_read_engagement, pages_manage_ads, pages_manage_metadata (для вебхука) и ads_management (поля рекламы). Для чужих страниц нужен Advanced Access через App Review.
Подпишитесь на событие leadgen
В App Dashboard подпишите объект Page на поле leadgen, затем установите приложение на каждую страницу: POST /{page-id}/subscribed_apps?subscribed_fields=leadgen (pages_manage_metadata).
Заберите содержимое заявки
По leadgen_id из события вызовите GET /{leadgen_id} с токеном страницы. В Socialift SDK это fb.lead(leadgen_id, page_token) — он же нормализует ответы.
Запишите в CRM
Ваш код создаёт лид через API CRM: сохраните источник и ID формы, назначьте ответственного менеджера.
Отделите дубли и тесты
Объединяйте по телефону или email; тестовые заявки помечайте отдельно.
Практические советы
- Сопоставьте вопросы формы с полями CRM заранее — менять потом дорого.
- Сохраняйте время поступления и время первого ответа: это ключевой KPI.
- Делайте дедупликацию по leadgen_id — Meta может прислать вебхук повторно, и одна заявка не должна записаться дважды.
- При отзыве доступа поток останавливается: поставьте мониторинг.
- Храните ID формы, а не название кампании — название может измениться.
- Если админ страницы настроил Leads Access Manager, выдайте доступ пользователю, чей токен используется, — иначе fb.lead() получит отказ.
Частые вопросы
За какое время заявка попадает в CRM?
Meta отправляет событие вскоре после отправки формы; остальное зависит от скорости загрузки заявки, вашей очереди и API CRM.
Заявки Instagram и Facebook идут одним потоком?
Да. Событие leadgen приходит на уровне страницы, поэтому одна интеграция покрывает обе платформы.
Можно ли получить старые заявки?
Да, через GET /{form-id}/leads (fb.leads(form_id, page_token, since=...)), но Meta даёт скачать заявки только в течение 90 дней после отправки.
Почему fb.lead() возвращает ошибку доступа?
Обычно причин три: у токена нет leads_retrieval или разрешений страницы; токен получен не от человека, который может размещать рекламу в рекламном аккаунте; либо админ страницы настроил Leads Access Manager и не выдал этому пользователю доступ к заявкам.
Открывает ли пробный токен Socialift методы Lead Ads?
Да. Первые 30 дней пробный токен открывает все возможности SDK, включая lead_forms, leads, lead и ad_context. Дальше токен продлевается 30-дневными периодами с баланса, и возможности зависят от плана токена — точный список показывает «Tekshirish va muhitlar» (проверка и окружения) в разделе «Tokenlar» (токены) кабинета. Playground в кабинете работает независимо от плана.