5864
Никакой воды. Настройка Web2App в iOS. Интеграции с MMP. API, цены. Нужна помощь? Пишите: SiberianPaaanda
Как MMP отправляют события в Meta Conversion API: реверс-инжиниринг
Официальной информации о том, как внутри устроена отправка событий у MMP — нет. Зато у нас есть скриншот запроса к Meta Conversion API и немного логики. Погнали разбираться!
В прошлых постах я рассказывал, как работает Conversion API с точки зрения документации Meta. Сегодня — заглянем со стороны MMP и узнаем, какие данные они могут (и не могут) отправлять.
На скрине запроса к Meta CAPI можно выделить 3 блока данных:
1️⃣ SDK Data
Email, Phone — эти данные есть только у Facebook SDK. У Appsflyer, Adjust и прочих — их нет.
2️⃣ IP Address
Это ядро любого события. Откуда бы ни пришли данные, IP адрес есть всегда.
3️⃣ Client Data
Тип экрана, сеть и прочее — технически доступны из приложения, но MMP (например, Appsflyer и Adjust) их обычно не отправляют.
Вопросы, которые мы можем задать:
Какая MMP лучше всего подходит для Meta Web?
Facebook SDK + Серверная отправка данных. Потому что он отправляет все — и SDK Data, и Client Data.
Какой параметр самый важный?
client_ip_address. Даже если отправить только IP — до 70% событий дойдут до кабинета META и рекламной кампании. Проверено на практике.
Что с качеством событий?
Meta присваивает каждому событию score — он отображается в Event Manager:
3.0 — только IP
4.8 — IP + FBC. Такой результат у Adjust и Appsflyer.
>4.8 — только у связки с отправкой клиентских данных и Facebook SDK
Можно ли улучшить качество у Adjust и Appsflyer?
Почти нет. У них нет доступа к SDK Data.
Но важно:
• Appsflyer работает хуже, чем Adjust: он отправляет только те события которые сам сумел “привязать” к кампании (смотри переключатель к send this partner event). У кого есть контакты представителей Appsflyer - скиньте им статью. Выглядит как небрежность которую легко исправить.
• Adjust тупо отправляет все события приложения в META, оставляя возможность для META привязать 20-30% событий, который Adjust привязать не смог. Спросил суппорт - они подтвердили что все работает таким образом.
🚀 Как я это решаю в SmartAF META?
Мой кастомный продукт SmartAF META:
✔️ пересылает все события Appsflyer
✔️ увеличивает "чувствительность" SDK
✔️ умеет отправлять события на несколько пикселей
При этом score событий — как у MMP: 4.8
Пишите — подключим.
Какая лучшая связка для Meta Web?
Facebook SDK + кастомная отправка событий
С ней можно получить score 7.0–8.0
А как насчет Apphud?
Они работают в паре с Facebook SDK + своим SDK. Потенциально — могут выдавать хорошее качество событий, но сам не тестировал.
🔥 Вывод:
Даже если у вас из данных только IP Address и нет FBC, Meta Web Conversion API работает достаточно хорошо — до 70% событий доходят. А если вы хотите максимум — нужно идти через SDK.
Отчет по кампании: второй месяц
🔧 Сетап:
• Оптимизация: Purchase
• Период: 15 апреля — 15 мая
• Ниша: развлечения
📊 Результаты:
• ГЕО: US, CA, UK, AU, BR, DE
• CPM: $10
• CTR: 1.82%
• Spend: $2517
• Purchases: 110
• CPA: $23
• 3-Day ROAS: 83%
Это второй месяц работы кампании. В марте я искал рабочие креативы. Подробнее - в прошлом посте.
💡 Что поменял:
• Перезапустил кампанию с одним лучшим креативом, который дает больше покупок. Один адсет, один креатив.
• Изменил оптимизацию — с trial на purchase.
Predicted LTV: $25, CPA: $23, так что пролив был в небольшой плюс.
🔥Планы на май/июнь
• CPP в тематике креативов
• Большой апдейт приложения под лучшие креативы
Meta Conversion API - позволяет отправлять конверсии с вашего сервера в META
Что сделал
Отправил пару реальных purchase–событий через API.
Данные отлично «долетели» и закрепились за нужной кампанией.
Неожиданная проблема
На следующий день мой бизнес-аккаунт был заблокирован.
Мысли
• Для меня как разработчика — это головная боль, которая затрудняет интеграцию.
• Для рекламодателей это хорошая новость. Meta хранит чистоту своих данных.
Meta хочет быть уверенной, что каждый purchase — реальная покупка, а не тест или «спам». Если система вдруг увидит два одинаковых purchase сразу — она заподозрит фальсификацию и накажет отправителя.
Почему МЕТА ведет себя так радикально?
Когда пользователь запускает кампанию с оптимизацией на purchases - META приводит пользователей которые делали покупки в прошлом. Если META будет использовать фейковые данные, то эта кампания не будет такой эффективной.
А что в Google API?
Google API в этом смысле лояльнее. Можно загрузить сотни конверсий одним запросом — и он спокойно их «съест».
Выводы для UA-менеджера
Из моей практики, события Purchase и Lead - это не просто названия для META. ROAS у кампании оптимизированной на Purchase будет выше чем у кампании оптимизированной на LEAD. Исключения которые приходят в голову - приложения с рекламной монетизацией. Соответственно надо стремиться запускать кампании с оптимизацией на Purchase (или ROAS как произвольная величина)
Как META добивается эффективности этих кампаний?
🔥В том числе баня некорректные запросы к своей Conversion API.
Поговорили с Кириллом Макаровым @kmakar о Web2App. Кирилл - автор блога @gamingthetraffic
Обсудили:
• какие бывают схемы запуска рекламы для продвижения мобильных приложений
• в чем преимущества web2app перед закупкой напрямую на стор
• рассмотрели популярные рекламные сетки и особенности настройки под них
• обсудили ниши, в которых web2app наиболее популярен
Будет интересно в качестве полного обзора web2app.
Ссылка: https://youtu.be/AZoX2-6tFyEb
Кирилл, спасибо что позвал! 🔥
Кейс: льем трафик в META с нескольких кабинетов
Ко мне обратился заказчик с интересной задачей: запускают приложение на META и хотят лить трафик от разных Facebook кабинетов. При этом у каждого кабинета — свой пиксель.
❗️Проблема: Adjust и Appsflyer позволяют привязать приложение только к одному пикселю.
Решение: предложил использовать Apphud интеграцию с META поверх Appsflyer через Meta Conversion API — без обновления приложения.
💡 Как работает схема:
1. Appsflyer делится атрибуционными данными с Apphud внутри приложения в рамках стандартной интеграции
2. Apphud отправляет данные в мой сервис через webhook
3. Сервис по параметрам ссылки (fbclid и IP) определяет, в какой пиксель отправить событие
4. Отправляет атрибуционные данные через Conversion API
Результат:
Всё стабильно работает: конверсии привязываются к кампаниями.
Качество событий (event score) — 4.8. На уровне Appsflyer и Adjust
Апдейт приложения не потребовался
Пишите, если тоже нужно лить трафик на несколько пикселей.
🔥Запустимся без апдейтов!
Как я тестировал рекламу в Facebook: концепции
В апреле запускал тестовую кампанию, чтобы показать, как работает реклама в Facebook. Подробности были в апрельском посте. Завтра покажу результаты спустя месяц, а сегодня — разбор подхода.
Работа с креативами
Я не сторонник залива 100+ креативов в надежде, что Facebook сам найдёт победителя. Это может сработать краткосрочно, но:
Как скейлить успех?
Шанс, что 101-й креатив “перебьёт” остальных — всего 1%. Это чистая теория вероятности.
Вопрос: “Какова вероятность что из 100 креативов именно этот окажется лучшим?”.
Ответ: Одна сотая.
При таком подходе, многие команды, когда уже отлили 100 креативов, теряют стимулы создавать новые. Если отлили 500 - то вообще стимулов нет. Возможно, не все формулируют проблему в терминах тер. вера, но подсознательно тер. вер понимают все.
Альтернатива — мышление концепциями:
Что такое "концепция"?
Пример для приложения-видеоредактора (даже не пример. я бы действительно начинал с этих концепций)
• Тиктокеры
ЦА: молодёжь до 30
Продаём: показать себя в танце
Креатив: 16-летний танцор, заменяем лицо на ваше
• Родители
ЦА: фотают детей
Продаём: эффект "Миядзаки", мультяшное видео с ребёнком
• Нерды
ЦА: технарям важен функционал
Продаём: trim/upscale + выгрузка в Google Drive
Для каждой концепции — 2 креатива. Этого достаточно для теста.
Ожидания
Уже на этапе формулировки концепций оцениваем трафик:
• Тиктокеры
инсталлы будут дешевыми, конверсия в покупку невысокая.
• Нерды
инсталлы будут дорогими и конверсия в покупку высокая.
• Родители
Сложно сказать. Надо смотреть.
На какой аудитории сойдется экономика - покажет эксперимент.
Я не люблю мешать концепции в одном адсете
Для меня 6 таких креативов с пониманием целевой аудитории - это более сильная гипотеза по сравнению с “давайте 100 креативов наклепаем. что-то выстрелит!”.
Если в одном наборе объявлений тестируются разные концепции — данные усредняются и теряют смысл. А мне нужна экономика для каждой аудитории, чтобы примерно понимать, во что лить.
📊 Итоги
В начале запустил ~15 креативов на 3 концепции. Как и ожидалось:
• 90% бюджета ушло в топ-2 варианта
• Один из них выбрал как основную концепцию
• На неё и начал лить весь трафик
🔥Завтра — только цифры.
Когда я запускаю новую кампанию на Meta Web, первым делом смотрю, какие креативы используют крупные конкуренты. Делать креативы с нуля — тяжело. У конкурентов за плечами десятки неудачных тестов, а я вижу только лучшие из лучших.
Проблема в том, что в Facebook Ad Library сложно отличить удачные креативы от просто тестовых. Я ориентируюсь на дату: если объявление крутится уже несколько месяцев — значит, работает. Но этого мало. Оно может откручиваться на минимальном бюджете.
Хочется видеть реальный объём показов, а продавать квартиру за платный сервис не хочется.
Tyver решает эту задачу.
Он показывает для Европы:
• пол и возраст аудитории,
• количество показов (impressions) — а это самое ценное.
Откуда эти данные?
По законам Евросоюза - Meta обязана раскрывать такую информацию. Эти данные есть в Ad Library для кампаний нацеленных на Европу, но фильтр по количеству показов настроить нельзя. В Tyver такой фильтр есть. Очень удобно.
🔥Пользуйтесь!
Google запускает ICM — новую технологию отслеживания конверсий в приложениях
Google внедряет Integrated Conversion Measurement (ICM) — решение для точной атрибуции в iOS и Android-приложениях. Развёртывание начнётся с мая 2025 года.
Почему это важно
Сейчас в Google Ads есть два типа кампаний:
• UAC (приложения) — атрибуция 10–20%
• WEB (сайт) — атрибуция 70%
Низкий уровень атрибуции в UAC мешает обучению кампаний, особенно при небольших бюджетах. ICM должен это исправить, обеспечив UAC те же сигналы, что есть у Web-кампаний.
Как это реализовано
Google использует on-device API:
“Call the on-device measurement API with the email or phone number data you gathered”
“This update will incorporate additional signals, such as IP addresses”
По сути — это аналог probabilistic matching, похожий на Meta AEM (Advanced Event Matching).
Что нужно сделать
• Если вы используете Firebase — обновитесь до версии 11.14.0 и дождитесь активации фичи.
• Если вы на AppsFlyer / Adjust — напишите в поддержку после релиза, интеграция будет происходить «из коробки».
Где это не работает
ICM будет отключён в странах ЕЭЗ, Великобритании и Швейцарии (в целях соблюдения GDPR).
ATT и SKAdNetwork?
Google — последний крупный игрок, у кого UAC до сих пор не адаптирован под ATT. ICM — попытка догнать Web-кампании и Meta AEM, не нарушая политики Apple.
Доступность
Сейчас ICM доступен только в закрытой бете — для участников акселерационных программ Google. По слухам, новых участников в бету не берут, но список может расшириться, если релиз сдвинется.
🤔 Web2App умер?
Скорее — нет.
Как и Meta (Web vs AEM), Google будет развивать обе модели параллельно. Это альтернативные аукционы, и у каждой — своё место в стратегии UA.