В предыдущей статье я рассказывал о MMP.
ОК, определились с MMP и теперь переходим к настройке рекламной кампании. Настроим web2app кампанию в goolge ads так, чтобы она направляла web traffic на приложение. При обычной настройке, кампания будет работать, но Google Ads не будет обучаться. Наша задача - передавать покупки пользователей из приложения в google ads. Тогда google ads приведет лучших (платящих) пользователей.
Чтобы передавать данные, задайте 2 параметра в MMP:
1. Link ID
Link ID - это текстовое значение типа “1260A71AF4B76FD8928C09D929597123”. Вы получаете его в Goolge Ads и проставляете в MMP. После этого MMP отправляет события из приложения в Google Ads
2. Mapping событий
Допустим в приложении есть событие purchase, которое вы отправляете в MMP. Для MMP - это просто набор букв “purchase”. С тем же успехом "purchase" мог бы быть "event1". Если MMP отправит такое событие в google ads, то google ads не поймет что мы “говорим” ему о платящих пользователях. Чтобы goolge ads “понял”, что пользователей платящий, мы заявлем что:
Purchase = in_app_purchase
Или другими словами: “Эй, гугл адс! Этот пользователь заплатил!”
Теоретическая часть закончена. В аттаче схема. Вопросы
Я все настроил как написано. Но нет конверсий. Пурчи по нулям!
После того как вы настроили передачу событий в MMP - все на совести MMP. Если вы видите конверсии в MMP, но не их нет в рекламной сетке - пишите в поддержку MMP.
А если у меня бесплатный Firebase?
Да, это проблема беспланого Firebase. Такая же проблема у Appsflyer, несмотря на то что он, мягко говоря, не бесплатный. В Tenjin и Adjust - отличная поддержка.
А SDK сеток ставить в приложение?
Нет. Только SDK вашего MMP.
ОК. Что говорить разработчикам если пурчи по нулям? Они говорят что сделали все по инструкции!
Разработчики правы. Интеграция с MMP - это одна строчка кода: trackEvent(‘purchase’, 10, “USD”). Разработчики сделали все что могли. Дальше - UA менеджеры и суппорт.
ОК, определились с MMP и теперь переходим к настройке рекламной кампании. Настроим web2app кампанию в goolge ads так, чтобы она направляла web traffic на приложение. При обычной настройке, кампания будет работать, но Google Ads не будет обучаться. Наша задача - передавать покупки пользователей из приложения в google ads. Тогда google ads приведет лучших (платящих) пользователей.
Чтобы передавать данные, задайте 2 параметра в MMP:
1. Link ID
Link ID - это текстовое значение типа “1260A71AF4B76FD8928C09D929597123”. Вы получаете его в Goolge Ads и проставляете в MMP. После этого MMP отправляет события из приложения в Google Ads
2. Mapping событий
Допустим в приложении есть событие purchase, которое вы отправляете в MMP. Для MMP - это просто набор букв “purchase”. С тем же успехом "purchase" мог бы быть "event1". Если MMP отправит такое событие в google ads, то google ads не поймет что мы “говорим” ему о платящих пользователях. Чтобы goolge ads “понял”, что пользователей платящий, мы заявлем что:
Purchase = in_app_purchase
Или другими словами: “Эй, гугл адс! Этот пользователь заплатил!”
Теоретическая часть закончена. В аттаче схема. Вопросы
Я все настроил как написано. Но нет конверсий. Пурчи по нулям!
После того как вы настроили передачу событий в MMP - все на совести MMP. Если вы видите конверсии в MMP, но не их нет в рекламной сетке - пишите в поддержку MMP.
А если у меня бесплатный Firebase?
Да, это проблема беспланого Firebase. Такая же проблема у Appsflyer, несмотря на то что он, мягко говоря, не бесплатный. В Tenjin и Adjust - отличная поддержка.
А SDK сеток ставить в приложение?
Нет. Только SDK вашего MMP.
ОК. Что говорить разработчикам если пурчи по нулям? Они говорят что сделали все по инструкции!
Разработчики правы. Интеграция с MMP - это одна строчка кода: trackEvent(‘purchase’, 10, “USD”). Разработчики сделали все что могли. Дальше - UA менеджеры и суппорт.
👍7❤1
Часть 1: Где мои конверсии?
Проблема:
Вы настроили первую google ads кампанию для iOS приложения. Видите инсталлы в Firebase/Adjust/Appslyfer. Даже подписки/покупки есть. Но почему-то google ads не показывает конверсии.
😢 Плохие новости: конверсии не появятся в google ads.
😁 Хорошие новости: вы не одиноки и решение есть.
Давайте разбираться по порядку:
Как все работает:
В аттаче схема.
3 источника трафика: facebook, органика и google ads.
1. Приложение запрашивает разрешение на доступ к идентификатору устройства у пользователя через ATT диалог.
2. Приложение отправляет ВСЕ конверсии в Google Ads.
3. Google Ads в дашборде отображает только конверсии:
Которые пришли от Google Ads
И которые дали согласие ATT.
Пункт 3 важен для понимания. Google Ads слушает все конверсии, но показывает в дашборде только атрибутированные.
📝Что такое ATT?
Механизм с помощью которого iTunes защищает данные пользователя. Пока пользователь не даст согласие на передачу идентификатора устройства, приложение не сможет этот идентификатор передать дальше.
📝Почему я вижу конверсии и revenue в Firebase/Appsflyer?
Внимание! Это самая важная часть статьи.
Firebase (или Appsflyer) - это MMP. MMP НЕ НУЖЕН идентификатор устройства чтобы “понять” к какой кампании принадлежит пользователь. Он использует другие методы. Или если кратко - у каждой MMP свой механизм атрибуции. О них подробнее в будущих статьях.
📝Почему конверсий нет в Google Ads?
Потому что Google Ads показывает только тех пользователей, которые дали ATT согласие. Таких пользователей около 10%. Google Ads использует самый точный и надежный подход и из-за его консервативности, мы не видим бОльшую часть конверсий в дашборде.
НО даже если пользователь дал ATT согласие - не факт что он будет считаться за атрибуцированную конверсию. Почему? Потому что никто не знает внутренностей Google Ads и кого он считает за “своего”.
📝Ну а Firebase как-то же смог посчитать…
Firebase никак не ограничен. Ни технически, ни юридически. MMP выкручивает чувствительность своих алгоритмов на максимум. Рекламная сетка выкручивает на минимум.
📝Как это связано с SKAD?
Никак. В Google Ads по умолчанию SKAD не используется.
📝Так а что мне делать чтобы инсталлы появились?
Продолжайте читать канал. Я все расскажу.
На этом этапе важно понимать что если вы видите 10% конверсий, то вам повезло.
Это максимально достижимая цифра при использовании классического подхода.
Проблема:
Вы настроили первую google ads кампанию для iOS приложения. Видите инсталлы в Firebase/Adjust/Appslyfer. Даже подписки/покупки есть. Но почему-то google ads не показывает конверсии.
😢 Плохие новости: конверсии не появятся в google ads.
😁 Хорошие новости: вы не одиноки и решение есть.
Давайте разбираться по порядку:
Как все работает:
В аттаче схема.
3 источника трафика: facebook, органика и google ads.
1. Приложение запрашивает разрешение на доступ к идентификатору устройства у пользователя через ATT диалог.
2. Приложение отправляет ВСЕ конверсии в Google Ads.
3. Google Ads в дашборде отображает только конверсии:
Которые пришли от Google Ads
И которые дали согласие ATT.
Пункт 3 важен для понимания. Google Ads слушает все конверсии, но показывает в дашборде только атрибутированные.
📝Что такое ATT?
Механизм с помощью которого iTunes защищает данные пользователя. Пока пользователь не даст согласие на передачу идентификатора устройства, приложение не сможет этот идентификатор передать дальше.
📝Почему я вижу конверсии и revenue в Firebase/Appsflyer?
Внимание! Это самая важная часть статьи.
Firebase (или Appsflyer) - это MMP. MMP НЕ НУЖЕН идентификатор устройства чтобы “понять” к какой кампании принадлежит пользователь. Он использует другие методы. Или если кратко - у каждой MMP свой механизм атрибуции. О них подробнее в будущих статьях.
📝Почему конверсий нет в Google Ads?
Потому что Google Ads показывает только тех пользователей, которые дали ATT согласие. Таких пользователей около 10%. Google Ads использует самый точный и надежный подход и из-за его консервативности, мы не видим бОльшую часть конверсий в дашборде.
НО даже если пользователь дал ATT согласие - не факт что он будет считаться за атрибуцированную конверсию. Почему? Потому что никто не знает внутренностей Google Ads и кого он считает за “своего”.
📝Ну а Firebase как-то же смог посчитать…
Firebase никак не ограничен. Ни технически, ни юридически. MMP выкручивает чувствительность своих алгоритмов на максимум. Рекламная сетка выкручивает на минимум.
📝Как это связано с SKAD?
Никак. В Google Ads по умолчанию SKAD не используется.
📝Так а что мне делать чтобы инсталлы появились?
Продолжайте читать канал. Я все расскажу.
На этом этапе важно понимать что если вы видите 10% конверсий, то вам повезло.
Это максимально достижимая цифра при использовании классического подхода.
👍9❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Web2APP: Аплоад конверсий
В прошлой статье рассказывал почему конверсии не отображаются в Google Ads для iOS приложений. Сегодня я расскажу что надо сделать чтобы отображались.
Проблема:
Частый запрос моих клиентов: Google Ads не отображает конверсии: инсталлы или покупки. Из-за этого кампания не обучается и клиенты теряют деньги.
Решение:
Пока не будем вдаваться в причины проблемы. Сейчас важно что Firebase/Appsflyer/Tenjin их “видит” и отображает.
Поэтому надо просто выгрузить конверсии из MMP в Google Ads.
Шаги:
📝1. Завести Web2App кампанию с tracking template
Главное поле здесь gclid. Это идентификатор кампании. С помощью этого поля Google Ads сообщает MMP из какой кампании пользователь пришел.
Пример ссылки Adjust:
https://app.adjust.com/1flsadasd?campaign={campaignid}&adgroup={adgroupid}&creative={keyword}_{matchtype}&lpurl={lpurl}&external_click_id={gclid}
Ссылку сгенерит ваш MMP.
📝2. После этого идентификатор кампании gclid будет доступен из кода в приложении.
📝3. Его подхватит MMP SDK и передаст в MMP для атрибуции.
📝4. ВНИМАНИЕ
Вот тут самое интересное. Здесь должен быть последний шаг “MMP передает конверсию в Google Ads”, но его нет. Вместо этого - черная дыра. Вопрос “и что дальше?” на который документация MMP не даст ответа.
Иногда придется самим писать код который будет выгружать gclid и хранить на сервере.
Иногда подключать дополнительные платные сервисы MMP.
Ответим на него так: вы должны получить GCLID из
1. MMP
2. или из кода.
📝5. Сформировать Google Sheet документ примерно в следующем формате:
gclid | conversion name | time
📝6. Залить его в Google Ads.
📝7. Немного подождать.
📝8. После этого конверсии из MMP появятся в Google Ads.
Вопросы:
Почему так сложно? А можно проще?
Да, в редких случаях Google Ads может сам переключиться в probalistic режим. Тогда конверсии будут отображаться. Почти все.
Но у большинства моих клиентов конверсий в Google Ads не видно. Чтобы решить проблему они используют подход выше.
Как выполнить шаг 4 и получить glclid?
Шаг 4 включает в себя выгрузку gclid из вашего приложения. Он сильно зависит от стека вашего приложения и вашей MMP.
Пишите мне. Я поделюсь скриптами и чеклистами.
В прошлой статье рассказывал почему конверсии не отображаются в Google Ads для iOS приложений. Сегодня я расскажу что надо сделать чтобы отображались.
Проблема:
Частый запрос моих клиентов: Google Ads не отображает конверсии: инсталлы или покупки. Из-за этого кампания не обучается и клиенты теряют деньги.
Решение:
Пока не будем вдаваться в причины проблемы. Сейчас важно что Firebase/Appsflyer/Tenjin их “видит” и отображает.
Поэтому надо просто выгрузить конверсии из MMP в Google Ads.
Шаги:
📝1. Завести Web2App кампанию с tracking template
Главное поле здесь gclid. Это идентификатор кампании. С помощью этого поля Google Ads сообщает MMP из какой кампании пользователь пришел.
Пример ссылки Adjust:
https://app.adjust.com/1flsadasd?campaign={campaignid}&adgroup={adgroupid}&creative={keyword}_{matchtype}&lpurl={lpurl}&external_click_id={gclid}
Ссылку сгенерит ваш MMP.
📝2. После этого идентификатор кампании gclid будет доступен из кода в приложении.
📝3. Его подхватит MMP SDK и передаст в MMP для атрибуции.
📝4. ВНИМАНИЕ
Вот тут самое интересное. Здесь должен быть последний шаг “MMP передает конверсию в Google Ads”, но его нет. Вместо этого - черная дыра. Вопрос “и что дальше?” на который документация MMP не даст ответа.
Иногда придется самим писать код который будет выгружать gclid и хранить на сервере.
Иногда подключать дополнительные платные сервисы MMP.
Ответим на него так: вы должны получить GCLID из
1. MMP
2. или из кода.
📝5. Сформировать Google Sheet документ примерно в следующем формате:
gclid | conversion name | time
📝6. Залить его в Google Ads.
📝7. Немного подождать.
📝8. После этого конверсии из MMP появятся в Google Ads.
Вопросы:
Почему так сложно? А можно проще?
Да, в редких случаях Google Ads может сам переключиться в probalistic режим. Тогда конверсии будут отображаться. Почти все.
Но у большинства моих клиентов конверсий в Google Ads не видно. Чтобы решить проблему они используют подход выше.
Как выполнить шаг 4 и получить glclid?
Шаг 4 включает в себя выгрузку gclid из вашего приложения. Он сильно зависит от стека вашего приложения и вашей MMP.
Пишите мне. Я поделюсь скриптами и чеклистами.
🔥7👍6❤2
This media is not supported in your browser
VIEW IN TELEGRAM
📝Задача
Запустить iOS Web2App кампанию на мобильные устройства.
📝Проблема
В Google Ads нет возможности выбирать устройства на которых будет крутиться кампания. Вам нужны только айфоны, а трафик будет уходить на Mac и PC. Вы точно потеряете деньги.
📝Решение
Уменьшайте ставку на 100% для computers. Таким образом дадите понять Google Ads, что кампанию не надо крутить на desktop.
Запустить iOS Web2App кампанию на мобильные устройства.
📝Проблема
В Google Ads нет возможности выбирать устройства на которых будет крутиться кампания. Вам нужны только айфоны, а трафик будет уходить на Mac и PC. Вы точно потеряете деньги.
📝Решение
Уменьшайте ставку на 100% для computers. Таким образом дадите понять Google Ads, что кампанию не надо крутить на desktop.
🔥10👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Конверсии пошли. Что дальше?
В предыдущих статьях показывал как настроить конверсии на Google Ads. Конверсии появились, ура. Что дальше?
Ждите.
На форуме гугл советуют дождаться от 20 до 50 конверсий. После этого переключитесь в оптимизацию на конверсии.
Вопросы
📝Надо ли включать ограничение на CPC при запуске?
Нет. Цель первой CPC кампании - обучить Google Ads на 50 инсталлах. Не расчитывайте что вы заработаете на этой кампании.
📝А можно сразу запустить оптимизацию на конверсии?
Попробуйте. Иногда ниша позволяет и кампании перформят. Но у большинства - кампании показывают 0 конверсий. Google Ads не хватает данных для оптимизации.
📝Какой бюджет ставить на кампанию CPC?
$5 в день если хотите провести эксперимент долго и дешево. $100 если дорого и быстро.
📝Как изменить трафик после смены с CPC на CPA?
а) Cost per click станет дороже.
б) Увеличиться конверсия в инсталл.
в) Увеличится конверсия в покупку внутри приложения.
Если вы застряли на фазе “не идут конверсии” - пишите мне на @SiberianPaaanda. Я помогу.
В предыдущих статьях показывал как настроить конверсии на Google Ads. Конверсии появились, ура. Что дальше?
Ждите.
На форуме гугл советуют дождаться от 20 до 50 конверсий. После этого переключитесь в оптимизацию на конверсии.
Вопросы
📝Надо ли включать ограничение на CPC при запуске?
Нет. Цель первой CPC кампании - обучить Google Ads на 50 инсталлах. Не расчитывайте что вы заработаете на этой кампании.
📝А можно сразу запустить оптимизацию на конверсии?
Попробуйте. Иногда ниша позволяет и кампании перформят. Но у большинства - кампании показывают 0 конверсий. Google Ads не хватает данных для оптимизации.
📝Какой бюджет ставить на кампанию CPC?
$5 в день если хотите провести эксперимент долго и дешево. $100 если дорого и быстро.
📝Как изменить трафик после смены с CPC на CPA?
а) Cost per click станет дороже.
б) Увеличиться конверсия в инсталл.
в) Увеличится конверсия в покупку внутри приложения.
Если вы застряли на фазе “не идут конверсии” - пишите мне на @SiberianPaaanda. Я помогу.
❤4
Можно ли обойтись без tracking link?
Можно. На скриншоте web-кампания, которая в Adjust параллельно трекается двумя методами:
1. Через Tracking Link.
2. Через LinkID.
Там где tracking link не прописан. Инсталлов трекается в 20 раз меньше (19 к 410).
И не надо надеяться на ATT - в приложении он есть.
Скриншот выше показывает что произойдет когда вы переключитесь с классической настройки в правильно настроенный Web2App.
Можно. На скриншоте web-кампания, которая в Adjust параллельно трекается двумя методами:
1. Через Tracking Link.
2. Через LinkID.
Там где tracking link не прописан. Инсталлов трекается в 20 раз меньше (19 к 410).
И не надо надеяться на ATT - в приложении он есть.
Скриншот выше показывает что произойдет когда вы переключитесь с классической настройки в правильно настроенный Web2App.
❤2😁1
Юридические аспекты подключения MMP
Большой риск при подключении к MMP - это договор. Вы подпишитесь быстро и легко, но так же просто расторгнуть договор не получится. Я наступил на все (очень надеюсь) возможные грабли и потерял кучу денег. Вот что я узнал:
📝Подключение
VAT
По умолчанию MMP включит VAT в ваш договор с ними. Я не очень силен в бухгалтерии, но, например, этот VAT для своей кипрской компании я не смогу вернуть если компания которая предоставляет MMP, например, в Германии.
Что надо сделать: разобраться со своей бухгалтерией правомерно ли включение VAT в счет. Если нет - то попросить MMP убрать этот VAT из счета. Договоры с MMP как правило дорогие - >$10k, поэтому вы сэкономите около $2000. Тут сделаю небольшую рекламу Adjust - в такой ситуации ребята вернули мне деньги на счет переводом.
📝Риски связанный с разрывом договора
1. Нельзя перестать пользоваться MMP
…и думать, что вы никому ничего не должны. Инсталлы идут и трекаются - значит вы должны за них заплатить. Если вы молча перестанете пользоваться - через 2-3 месяца вам начнут приходить счета с внушительными суммами. Если вы будете отправлять эти счета в спам - вам начнут звонить коллекторские агенства. У меня было так MMP “A”. Буквально писали в мои соц. сети и звонили на телефон. Прекращая пользоваться MMP, обязательно предупредите их, используя специальную процедуру (об этом ниже).
2. Договор сам не закончится
С другой MMP - “B”, у меня была ситуация.
1. Мы подписали договор на год. В договоре стоит дата окончания договора “10 августа 2023 года”.
2. 10 августа на email мне приходит нотификашка “Agreement is terminated”.
3. В сентябре и октябре я получаю invoices.
4. На вопрос менеджеру “это ошибка?” получаю ответ “договор продлен”.
5. Я высылаю PDF с договором где нет ни слова о продлении.
6. На что менеджер высылает мне строчку/ссылку “доп условия”, которая ведет на их сайт и где есть слова об автопродлении договора.
Жулики.
3. Договор надо завершать заранее
Внимательно изучите процедуру завершения договора. Скорее всего у вас будет пункт “предупредите о расторжении за 2 месяца на указанный email”. Если опоздаете - навстречу вам не пойдут. В принципе это стандартная практика для американского бизнеса. Для русскоязычных - непривычно.
В целом, всегда надо в голове держать, что у крупных компаний есть юристы и коллекторы, которые работают независимо от sales и support департаментов. Вы можете в баре выпивать с вашими менеджерами, а параллельно юристы будут угрожать вам судом. И ваши друзья-менеджеры вам помочь не смогут.
А у вас были неприятные истории с MMP? Если да - напишите пожалуйста в комментариях.
Большой риск при подключении к MMP - это договор. Вы подпишитесь быстро и легко, но так же просто расторгнуть договор не получится. Я наступил на все (очень надеюсь) возможные грабли и потерял кучу денег. Вот что я узнал:
📝Подключение
VAT
По умолчанию MMP включит VAT в ваш договор с ними. Я не очень силен в бухгалтерии, но, например, этот VAT для своей кипрской компании я не смогу вернуть если компания которая предоставляет MMP, например, в Германии.
Что надо сделать: разобраться со своей бухгалтерией правомерно ли включение VAT в счет. Если нет - то попросить MMP убрать этот VAT из счета. Договоры с MMP как правило дорогие - >$10k, поэтому вы сэкономите около $2000. Тут сделаю небольшую рекламу Adjust - в такой ситуации ребята вернули мне деньги на счет переводом.
📝Риски связанный с разрывом договора
1. Нельзя перестать пользоваться MMP
…и думать, что вы никому ничего не должны. Инсталлы идут и трекаются - значит вы должны за них заплатить. Если вы молча перестанете пользоваться - через 2-3 месяца вам начнут приходить счета с внушительными суммами. Если вы будете отправлять эти счета в спам - вам начнут звонить коллекторские агенства. У меня было так MMP “A”. Буквально писали в мои соц. сети и звонили на телефон. Прекращая пользоваться MMP, обязательно предупредите их, используя специальную процедуру (об этом ниже).
2. Договор сам не закончится
С другой MMP - “B”, у меня была ситуация.
1. Мы подписали договор на год. В договоре стоит дата окончания договора “10 августа 2023 года”.
2. 10 августа на email мне приходит нотификашка “Agreement is terminated”.
3. В сентябре и октябре я получаю invoices.
4. На вопрос менеджеру “это ошибка?” получаю ответ “договор продлен”.
5. Я высылаю PDF с договором где нет ни слова о продлении.
6. На что менеджер высылает мне строчку/ссылку “доп условия”, которая ведет на их сайт и где есть слова об автопродлении договора.
Жулики.
3. Договор надо завершать заранее
Внимательно изучите процедуру завершения договора. Скорее всего у вас будет пункт “предупредите о расторжении за 2 месяца на указанный email”. Если опоздаете - навстречу вам не пойдут. В принципе это стандартная практика для американского бизнеса. Для русскоязычных - непривычно.
В целом, всегда надо в голове держать, что у крупных компаний есть юристы и коллекторы, которые работают независимо от sales и support департаментов. Вы можете в баре выпивать с вашими менеджерами, а параллельно юристы будут угрожать вам судом. И ваши друзья-менеджеры вам помочь не смогут.
А у вас были неприятные истории с MMP? Если да - напишите пожалуйста в комментариях.
🔥7👍3😱2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Секция Goals Summary
Если коротко, то эта секция в Google Ads не работает из-за багов. В большинстве аккаунтов значение конверсий по нулям.
Тем кому интересны подробности.
В течение дня значение conversions может скакнуть до нескольких сотен и вернуться обратно в нули.
Но вот если навести на поле status, то появится поле “состояние интеграции”. Вы можете использовать его чтобы удостовериться что интеграция с MMP прошла нормально. Если все настроено правильно, то в нем будет время последнего пришедшего в Google Ads ивента.
Важно понимать что этот ивент может и не отображаться в рекламной кампании. Это потому что в рекламной кампании вы видите только атрибуцированные ивенты. А в поле status отображается просто последний event. Он может и не быть атрибуцированным. Подробнее об этом в этой статье.
Если коротко, то эта секция в Google Ads не работает из-за багов. В большинстве аккаунтов значение конверсий по нулям.
Тем кому интересны подробности.
В течение дня значение conversions может скакнуть до нескольких сотен и вернуться обратно в нули.
Но вот если навести на поле status, то появится поле “состояние интеграции”. Вы можете использовать его чтобы удостовериться что интеграция с MMP прошла нормально. Если все настроено правильно, то в нем будет время последнего пришедшего в Google Ads ивента.
Важно понимать что этот ивент может и не отображаться в рекламной кампании. Это потому что в рекламной кампании вы видите только атрибуцированные ивенты. А в поле status отображается просто последний event. Он может и не быть атрибуцированным. Подробнее об этом в этой статье.
👌2
Меня зовут Дмитрий Гущин и я предоставляю услуги:
📝UA Manager 2026: META и Google Ads
Курс пройдет С 15 марта по 15 мая. Описание
📝Часовая консультация.
Расскажу все что знаю про рекламу подписочных iOS приложений в Google Ads/Web/UAC, Meta, Apple Search. Монетизация. Расскажу о стратегии и всех технических аспектах.
📝 Разовая настройка кампаний
В том числе с нуля. Даже если у вас еще нет MMP - через пару дней у вас будет полностью настроенный Web2App.
📝Месячное сопровождение кампаний
Настройка/тюнинг/мониторинг + запуск новых кампаний. Кейс. Кейс #2.
Пишите мне на @SiberianPaaanda
📝UA Manager 2026: META и Google Ads
Курс пройдет С 15 марта по 15 мая. Описание
📝Часовая консультация.
Расскажу все что знаю про рекламу подписочных iOS приложений в Google Ads/Web/UAC, Meta, Apple Search. Монетизация. Расскажу о стратегии и всех технических аспектах.
📝 Разовая настройка кампаний
В том числе с нуля. Даже если у вас еще нет MMP - через пару дней у вас будет полностью настроенный Web2App.
📝Месячное сопровождение кампаний
Настройка/тюнинг/мониторинг + запуск новых кампаний. Кейс. Кейс #2.
Пишите мне на @SiberianPaaanda
Telegram
Web2App: User Acquisition в iOS приложениях
🚀 Кейс: Запуск рекламы в конкурентной нише
В июне пришёл клиент с приложением в супер-конкурентной категории.
Из трекеров — Appsflyer + Apphud.
Задача — выйти на стабильный performance в условиях адской конкуренции.
Что сделали:
1️⃣ Проанализировали креативы…
В июне пришёл клиент с приложением в супер-конкурентной категории.
Из трекеров — Appsflyer + Apphud.
Задача — выйти на стабильный performance в условиях адской конкуренции.
Что сделали:
1️⃣ Проанализировали креативы…
🔥7
Web2App: User Acquisition в iOS приложениях pinned «Меня зовут Дмитрий Гущин и я предоставляю услуги: 📝UA Manager 2026: META и Google Ads Курс пройдет С 15 марта по 15 мая. Описание 📝Часовая консультация. Расскажу все что знаю про рекламу подписочных iOS приложений в Google Ads/Web/UAC, Meta, Apple Search.…»
Что такое gclid и что такое gbraid?
В аттаче самый красивый ответ суппорта который я когда-либо получал в жизни. Надеюсь Adjust на меня не обидятся что я его выложил.
В нем поддержка Adjust объясняет сценарии использования этих 2-ух параметров: gbraid и gclid. Вкратце:
1. gclid и gbraid - это идентификаторы кампании. В настройках кампаний Google Ads есть макросы {gclid} и {gbraid}, которые можно добавлять к урлам.
2. При этом gclid - это основной параметр для трекинга. По умолчанию добавляется к любой URL котора указана в google ads.
Если вы рекламируете http://site.com, то при нажатии на рекламную ссылку, пользователя направят на http://site.com?gclid=iuxfhb234adbsdf
Подробнее тут
3. Если в приложении пользователю показали ATT диалог и он не разрешил трекать собственную инфу (а точнее идфу), то Adjust не отправляет gclid обратно в Google Ads. Таким образом атрибуция не может произойти по GCLID.
4. Вместо этого он отправляет gbraid и атрибуция идет по нему.
Практические выводы
1. В любую трекинг ссылку кроме gclid={gclid} надо добавить и &gbraid={gbraid}
2. Если вы каким-то образом смогли в своем приложении достать gclid и gbraid, то вы можете сами сделать свою мини-mmp и трекать конверсии самостоятельно.
В аттаче самый красивый ответ суппорта который я когда-либо получал в жизни. Надеюсь Adjust на меня не обидятся что я его выложил.
В нем поддержка Adjust объясняет сценарии использования этих 2-ух параметров: gbraid и gclid. Вкратце:
1. gclid и gbraid - это идентификаторы кампании. В настройках кампаний Google Ads есть макросы {gclid} и {gbraid}, которые можно добавлять к урлам.
2. При этом gclid - это основной параметр для трекинга. По умолчанию добавляется к любой URL котора указана в google ads.
Если вы рекламируете http://site.com, то при нажатии на рекламную ссылку, пользователя направят на http://site.com?gclid=iuxfhb234adbsdf
Подробнее тут
3. Если в приложении пользователю показали ATT диалог и он не разрешил трекать собственную инфу (а точнее идфу), то Adjust не отправляет gclid обратно в Google Ads. Таким образом атрибуция не может произойти по GCLID.
4. Вместо этого он отправляет gbraid и атрибуция идет по нему.
Практические выводы
1. В любую трекинг ссылку кроме gclid={gclid} надо добавить и &gbraid={gbraid}
2. Если вы каким-то образом смогли в своем приложении достать gclid и gbraid, то вы можете сами сделать свою мини-mmp и трекать конверсии самостоятельно.
👍21❤1
MMP для web2app
Какую MMP выбрать, чтобы запускать web-кампании для подписочных приложений под iOS Google Ads?
Данные актуальные на 9 января 2025 года. MMP отсортированы от лучшего к худшему.
📝Adjust
Плюсы
• Отличная поддержка
Приводил пример ответа на запрос. Работаю 3 года с ними. Поддержка отвечает быстро и подробно. Если есть пробелы в теории - все объяснят.
• Отправка конверсий из коробки
Работает.
• Атрибуция
Работает.
• Техническое качество
Отличная. Багов нет, задержек нет.
• Интеграция с AppHud/Adapty/RevenueCat
Отличная.
Минусы
• Годовой план
Подписывают годовой договор который надо оплатить.
Комментарий
Adjust - это Mercedes в мире MMP. Немецкое качество за которое придется заплатить.
📝Appsflyer
Плюсы
• Цена
Можно быстро подключиться самому и платить за инсталлы помесячно.
• Интеграция с AppHud/Adapty/RevenueCat
Отличная
Минусы
• Поддержка
Низкая кваллификация сотрудников. Даже в простых случаях - в 80% отправляют в поддержку Google.
• Отправка конверсий из коробки
Работает с задержками. Сложно оценить качество из-за плохой работы tracking ссылок.
• Техническое качество
Ужасное. Задержки в данных. Непродуманные workflow. Любая настройка не работает из коробки - где-то в недрах платформы есть галочка которую надо включить чтобы все заработало. На поиски галочки уходят недели. Поддержка сами про эти галочки не знают.
• Атрибуция
Самый жирный минус. В теории можно было бы один раз наступить на грабли настроек, во всем разобраться и запускать кампании. Но Appsflyer теряет клики по своей же ссылке и поэтому атрибуцируется только небольшая часть инсталлов. На вопрос “где клики?” поддержка отвечает: “их невозможно все посчитать”.
Комментарий
Подчеркну, что проблемы относятся только к iOS/Web/Google Ads. Web2app на Facebook на iOS работает хорошо. На Андроид - тоже никаких проблем.
📝Tenjin
Плюсы
• Цена
Можно быстро подключиться самому и платить за инсталлы помесячно.
• Поддержка
Нормальная
• Техническое качество
Хорошее. Про отвалы предупреждают.
• Интеграция RevenueCat
Не проверял. Но вроде бы есть.
Минусы
• Отправка конверсий из коробки
Ее нет. Программисты должны будут написать код который отправляет конверсии.
Комментарий
Tenjin - кажется нормальное решение. И может быть его даже можно было бы поставить на второе место если бы не непрозрачный прайсинг и договор.
Если подпишите годовой договор - там будут мелким шрифтом неприятные сюрпризы по ссылке на сайте.
Если не подпишите - сейлзы будут по ходу работы креативить с прайсингом. У меня не было года чтобы условия не сменились на абсурдные и потом опять вернулись в нормальные. Могут аккаунт отключить просто чтобы стимулировать подписание договора. В целом все ОК, но слабые сейлзы портят впечатление.
Appsflyer с их 7 центами за конверсию - это удобно.
📝Branch
Комментарий: Могла бы быть отличной MMP, но в прошлом месяце они отключили webhooks через которые можно отправлять конверсии. Они доступны только в enterprise версии при оплате договора в $200K
📝AppMetrica
Комментарий: Как я понимаю у них какое-то время даже все работало, но они не прошли сертификацию Google и их tracking template гугл не пропускает. Поэтому нельзя использовать
📝Firebase
Не умеет отправлять конверсии.
Что не пробовал
📝Affise
По словам сейлзов можно запустить. Интеграция с Apphud/Adapty/RevenueCat через webhooks. Хорошо что есть webhooks.
По ощущениям - это Tenjin. Из коробки работать не будет, но можно запилить со скриптами. Плохо что нет pay as you go как в tenjin и appsflyer. Потенциально если ребята подправят ценник, то это может быть нормальным дешевым решением в топ списке.
Напишите пожалуйста в комментариях кто работал.
📝Singular
Если верить сейлзам (улыбнулся) - все есть и работает. Прайсинг похож на Adjust, себя они позиционируют как конкурентов Adjust. Adjust меня всем устраивает, поэтому не было повода потестить Singular. Если кто-то работал с ними - напишите пожалуйста в комментариях.
📝Kochava
Не знаю. Напишите пожалуйста в комментариях если кто-то работал.
Какую MMP выбрать, чтобы запускать web-кампании для подписочных приложений под iOS Google Ads?
Данные актуальные на 9 января 2025 года. MMP отсортированы от лучшего к худшему.
📝Adjust
Плюсы
• Отличная поддержка
Приводил пример ответа на запрос. Работаю 3 года с ними. Поддержка отвечает быстро и подробно. Если есть пробелы в теории - все объяснят.
• Отправка конверсий из коробки
Работает.
• Атрибуция
Работает.
• Техническое качество
Отличная. Багов нет, задержек нет.
• Интеграция с AppHud/Adapty/RevenueCat
Отличная.
Минусы
• Годовой план
Подписывают годовой договор который надо оплатить.
Комментарий
Adjust - это Mercedes в мире MMP. Немецкое качество за которое придется заплатить.
📝Appsflyer
Плюсы
• Цена
Можно быстро подключиться самому и платить за инсталлы помесячно.
• Интеграция с AppHud/Adapty/RevenueCat
Отличная
Минусы
• Поддержка
Низкая кваллификация сотрудников. Даже в простых случаях - в 80% отправляют в поддержку Google.
• Отправка конверсий из коробки
Работает с задержками. Сложно оценить качество из-за плохой работы tracking ссылок.
• Техническое качество
Ужасное. Задержки в данных. Непродуманные workflow. Любая настройка не работает из коробки - где-то в недрах платформы есть галочка которую надо включить чтобы все заработало. На поиски галочки уходят недели. Поддержка сами про эти галочки не знают.
• Атрибуция
Самый жирный минус. В теории можно было бы один раз наступить на грабли настроек, во всем разобраться и запускать кампании. Но Appsflyer теряет клики по своей же ссылке и поэтому атрибуцируется только небольшая часть инсталлов. На вопрос “где клики?” поддержка отвечает: “их невозможно все посчитать”.
Комментарий
Подчеркну, что проблемы относятся только к iOS/Web/Google Ads. Web2app на Facebook на iOS работает хорошо. На Андроид - тоже никаких проблем.
📝Tenjin
Плюсы
• Цена
Можно быстро подключиться самому и платить за инсталлы помесячно.
• Поддержка
Нормальная
• Техническое качество
Хорошее. Про отвалы предупреждают.
• Интеграция RevenueCat
Не проверял. Но вроде бы есть.
Минусы
• Отправка конверсий из коробки
Ее нет. Программисты должны будут написать код который отправляет конверсии.
Комментарий
Tenjin - кажется нормальное решение. И может быть его даже можно было бы поставить на второе место если бы не непрозрачный прайсинг и договор.
Если подпишите годовой договор - там будут мелким шрифтом неприятные сюрпризы по ссылке на сайте.
Если не подпишите - сейлзы будут по ходу работы креативить с прайсингом. У меня не было года чтобы условия не сменились на абсурдные и потом опять вернулись в нормальные. Могут аккаунт отключить просто чтобы стимулировать подписание договора. В целом все ОК, но слабые сейлзы портят впечатление.
Appsflyer с их 7 центами за конверсию - это удобно.
📝Branch
Комментарий: Могла бы быть отличной MMP, но в прошлом месяце они отключили webhooks через которые можно отправлять конверсии. Они доступны только в enterprise версии при оплате договора в $200K
📝AppMetrica
Комментарий: Как я понимаю у них какое-то время даже все работало, но они не прошли сертификацию Google и их tracking template гугл не пропускает. Поэтому нельзя использовать
📝Firebase
Не умеет отправлять конверсии.
Что не пробовал
📝Affise
По словам сейлзов можно запустить. Интеграция с Apphud/Adapty/RevenueCat через webhooks. Хорошо что есть webhooks.
По ощущениям - это Tenjin. Из коробки работать не будет, но можно запилить со скриптами. Плохо что нет pay as you go как в tenjin и appsflyer. Потенциально если ребята подправят ценник, то это может быть нормальным дешевым решением в топ списке.
Напишите пожалуйста в комментариях кто работал.
📝Singular
Если верить сейлзам (улыбнулся) - все есть и работает. Прайсинг похож на Adjust, себя они позиционируют как конкурентов Adjust. Adjust меня всем устраивает, поэтому не было повода потестить Singular. Если кто-то работал с ними - напишите пожалуйста в комментариях.
📝Kochava
Не знаю. Напишите пожалуйста в комментариях если кто-то работал.
👍9❤3🔥1😁1
Как работает web2app в Facebook
Рассмотрим на примере подписочного приложения iOS.
Чтобы было проще - рассмотрим вариант без прелендинга. Пользователи будут сразу переходить на страницу в сторе. Иллюстрация процесса в аттаче.
Phase 1
На стороне Facebook
1. Заводим pixel ID и заводим обычную sales web-кампанию.
2. В URL прописываем не прямую ссылку на стор, а трекинг URL, который нам сгенерит MMP (Adjust либо Appsflyer).
В этот трекинг URL Facebook будет передавать fbclid параметр. Этот параметр нужен для атрибуции - он свяжет кампанию и событие-конверсию.
На стороне MMP
1. Прописываем Pixel ID и Access Token который мы завели на первом шаге.
2. Делаем маппинг событий. На этом шаге мы должны сказать MMP что наше внутреннее событие "app_purchase" - это purchase в терминах Facebook. А "app_trial" - это к примеру Subscribe событие Facebook.
На стороне SDK подписочного сервиса
1. Привязываем сервис (Apphud/Adapty) MMP через идентификатор пользователя.
Phase 2
Держим пальчики крестиком и запускаем.
1. Инсталлы в facebook передает MMP через Conversion API. MMP связывает кампанию и инсталл через fbclid отправляю данный в pixel. FBClid MMP получил в трекинг ссылке. Нам это не важно - мы этого не видим. Эту связку забирает на себя MMP.
2. Adapty/Revenucat/AppHud отправляет данные о trial'ах и пурчах в MMP связываясь через userid, которую Apphud получил через SDK мобильного приложения. Дальше MMP пересылает событие в Facebook как на предыдущем шаге.
📝 Зачем это надо? А как же стандартные средства Facebook - AEM и SKAN?
web-кампанию запускают после того как обычные кампании не дали результатов.
📝И как? Работает?
Если у вас конкурентная ниша, то web-кампании дадут вам более дешевые события чем стандартные AEM/SKAN кампании Facebook. Если ниша свободная - начинайте со стандартных кампаний Facebook.
📝В URL кампании прописан tracking URL. Facebook не забанит?
Да, такой подход нельзя использовать в Google Ads, но Facebook разрешает.
📝Как еще можно улучшить качество трекинга?
Кидайте пользователя не в стор, а на custom store page. Так будет трекаться 100% инсталлов.
Поможете с настройкой?
Конечно! Пишите на @SiberianPaaanda
Рассмотрим на примере подписочного приложения iOS.
Чтобы было проще - рассмотрим вариант без прелендинга. Пользователи будут сразу переходить на страницу в сторе. Иллюстрация процесса в аттаче.
Phase 1
На стороне Facebook
1. Заводим pixel ID и заводим обычную sales web-кампанию.
2. В URL прописываем не прямую ссылку на стор, а трекинг URL, который нам сгенерит MMP (Adjust либо Appsflyer).
В этот трекинг URL Facebook будет передавать fbclid параметр. Этот параметр нужен для атрибуции - он свяжет кампанию и событие-конверсию.
На стороне MMP
1. Прописываем Pixel ID и Access Token который мы завели на первом шаге.
2. Делаем маппинг событий. На этом шаге мы должны сказать MMP что наше внутреннее событие "app_purchase" - это purchase в терминах Facebook. А "app_trial" - это к примеру Subscribe событие Facebook.
На стороне SDK подписочного сервиса
1. Привязываем сервис (Apphud/Adapty) MMP через идентификатор пользователя.
Phase 2
Держим пальчики крестиком и запускаем.
1. Инсталлы в facebook передает MMP через Conversion API. MMP связывает кампанию и инсталл через fbclid отправляю данный в pixel. FBClid MMP получил в трекинг ссылке. Нам это не важно - мы этого не видим. Эту связку забирает на себя MMP.
2. Adapty/Revenucat/AppHud отправляет данные о trial'ах и пурчах в MMP связываясь через userid, которую Apphud получил через SDK мобильного приложения. Дальше MMP пересылает событие в Facebook как на предыдущем шаге.
📝 Зачем это надо? А как же стандартные средства Facebook - AEM и SKAN?
web-кампанию запускают после того как обычные кампании не дали результатов.
📝И как? Работает?
Если у вас конкурентная ниша, то web-кампании дадут вам более дешевые события чем стандартные AEM/SKAN кампании Facebook. Если ниша свободная - начинайте со стандартных кампаний Facebook.
📝В URL кампании прописан tracking URL. Facebook не забанит?
Да, такой подход нельзя использовать в Google Ads, но Facebook разрешает.
📝Как еще можно улучшить качество трекинга?
Кидайте пользователя не в стор, а на custom store page. Так будет трекаться 100% инсталлов.
Поможете с настройкой?
Конечно! Пишите на @SiberianPaaanda
🔥9👍5❤2🤨2🤷♂1💊1
С какой сетки лучше лить?
Частый вопрос от инди-разработчиков. Если не было большого опыта работы с сетками - то лучше начинать с Apple Search.
📝Почему?
1. В Apple проще всего зарегать аккаунт
2. Вы видите все инсталлы
3. Они нормально атрибутятся и трекаются
4. И приятный бонус - MMP показывают для них Spend из коробки. Не надо покупать доп пакеты - вы сразу видите ROAS.
📝А дальше?
Не надо запускаться в каких-то других сетках пока вы не попробовали Apple Search, Google Ads и Facebook.
📝Что насчет Moloco, Mintegral, Apploving, Unity, TikTok?
Переходите этим сеткам только когда у вас не получилось работать с тремя базовыми сетками.
Приготовьтесь много разговаривать с менеджерами - сразу зарегать аккаунт и начать лить не получится.
📝А где больше денег?
Вряд ли Apple Search будет основной сеткой когда у вас приложение полетит. Скорее всего это будет Google Ads и/или Facebook. Apple Search скорее будет обеспечивать вас небольшим количеством инсталлов со сходимой экономикой.
Полный список сеток в порядке сложности запуска от самой легкой к самой сложной
1. Apple Search
2. Facebook Web
Особенно хорошо идет если у вас конкурентная ниша.
Сложно зарегать аккаунт. Нужны видосики.
3. Google Ads UAC
Легко запустить, легко зарегать аккаунт, видосики не нужны.
Велик шанс что все развалится в первые дни.
4. Facebook AEM
Придется какое-то время повозиться в Events Manager Facebook.
5. Google Ads Web
Сложная настройка. Хорошая атрибуция.
Частый вопрос от инди-разработчиков. Если не было большого опыта работы с сетками - то лучше начинать с Apple Search.
📝Почему?
1. В Apple проще всего зарегать аккаунт
2. Вы видите все инсталлы
3. Они нормально атрибутятся и трекаются
4. И приятный бонус - MMP показывают для них Spend из коробки. Не надо покупать доп пакеты - вы сразу видите ROAS.
📝А дальше?
Не надо запускаться в каких-то других сетках пока вы не попробовали Apple Search, Google Ads и Facebook.
📝Что насчет Moloco, Mintegral, Apploving, Unity, TikTok?
Переходите этим сеткам только когда у вас не получилось работать с тремя базовыми сетками.
Приготовьтесь много разговаривать с менеджерами - сразу зарегать аккаунт и начать лить не получится.
📝А где больше денег?
Вряд ли Apple Search будет основной сеткой когда у вас приложение полетит. Скорее всего это будет Google Ads и/или Facebook. Apple Search скорее будет обеспечивать вас небольшим количеством инсталлов со сходимой экономикой.
Полный список сеток в порядке сложности запуска от самой легкой к самой сложной
1. Apple Search
2. Facebook Web
Особенно хорошо идет если у вас конкурентная ниша.
Сложно зарегать аккаунт. Нужны видосики.
3. Google Ads UAC
Легко запустить, легко зарегать аккаунт, видосики не нужны.
Велик шанс что все развалится в первые дни.
4. Facebook AEM
Придется какое-то время повозиться в Events Manager Facebook.
5. Google Ads Web
Сложная настройка. Хорошая атрибуция.
👍9🔥5🥱3😁2🤡1
Custom Product Pages - App Store
Или CPP
Идея:
В Appstore можно завести несколько store листингов. У каждого листинга свой URL.
Самое главное: Apple собирает статистику по скачиваниям/proceeds в разрезе CPP.
Зачем это?
Чтобы точно трекать инсталлы и revenue. Пользователь прошел по URL, скачал приложение, сделал покупку и Apple нам все рассказал.
Таким образом трекинг инсталлов на Apple - 100%.
Сетки
📝Apple Search
Не очень важно, т к Apple и так прекрасно ее трекает
📝Google Ads
1. UAC
Не поддерживается. Подозреваю из-за того что Google продает Android и не хочет активно лить трафик конкуренту.
2. Web2App
Просто ставите CPP в Final URL и трекаете 100% трафика.
📝Meta
1. Aggregated Event Management
Поддерживается. У кампаний есть специальное поле Custom Product Page.
2. Web2App
Тоже поддерживается. Редиректите на Custom Store Page либо напрямую, либо через редирект MPP.
ВАЖНО: CPP никак не повлияет на эффективность кампаний. Да, они будут трекаться на стороне Apple, но сетки об этом “ничего не знают”.
MMP
Важно понимать, что несмотря на то что “Apple все видит”, MMP не имеют доступа к этим данным. Apple трекает 100% трафика, но в MMP атрибуцируется только какой-то процент от этих данных.
1. Appsflyer
• Web2App Google Ads
Ипользуйте “Appsflyer Direct Link”, вставляя ее в tracking template
• Web2App META
Редирект через One Link.
2. Adjust
• Web2App Google Ads
Вставляйте CPP URL в Final URL
• Web2App Meta
Прописываете редирект когда заводите нового партнера.
Вывод:
Т к CPP никак не влияет на атрибуцию и данные в MMP. Пользоваться ими на каждодневной основе не очень удобно. Но полезно периодически делать сверку Apple и MMP/Сетки, чтобы проверить качество ваших моделей и предиктов.
Или CPP
Идея:
В Appstore можно завести несколько store листингов. У каждого листинга свой URL.
Самое главное: Apple собирает статистику по скачиваниям/proceeds в разрезе CPP.
Зачем это?
Чтобы точно трекать инсталлы и revenue. Пользователь прошел по URL, скачал приложение, сделал покупку и Apple нам все рассказал.
Таким образом трекинг инсталлов на Apple - 100%.
Сетки
📝Apple Search
Не очень важно, т к Apple и так прекрасно ее трекает
📝Google Ads
1. UAC
Не поддерживается. Подозреваю из-за того что Google продает Android и не хочет активно лить трафик конкуренту.
2. Web2App
Просто ставите CPP в Final URL и трекаете 100% трафика.
📝Meta
1. Aggregated Event Management
Поддерживается. У кампаний есть специальное поле Custom Product Page.
2. Web2App
Тоже поддерживается. Редиректите на Custom Store Page либо напрямую, либо через редирект MPP.
ВАЖНО: CPP никак не повлияет на эффективность кампаний. Да, они будут трекаться на стороне Apple, но сетки об этом “ничего не знают”.
MMP
Важно понимать, что несмотря на то что “Apple все видит”, MMP не имеют доступа к этим данным. Apple трекает 100% трафика, но в MMP атрибуцируется только какой-то процент от этих данных.
1. Appsflyer
• Web2App Google Ads
Ипользуйте “Appsflyer Direct Link”, вставляя ее в tracking template
• Web2App META
Редирект через One Link.
2. Adjust
• Web2App Google Ads
Вставляйте CPP URL в Final URL
• Web2App Meta
Прописываете редирект когда заводите нового партнера.
Вывод:
Т к CPP никак не влияет на атрибуцию и данные в MMP. Пользоваться ими на каждодневной основе не очень удобно. Но полезно периодически делать сверку Apple и MMP/Сетки, чтобы проверить качество ваших моделей и предиктов.
👌6👍3🤡1
Facebook Web на Appsflyer
С клиентом запускали Facebook Web кампанию на AF. Настраивается достаточно просто, но есть нюанс.
Конфигурация
1. Весь трафик идет на Custom Product Page в App Store.
2. Поэтому для настройки надо завести OneLink и OneLink Template.
3. В OneLink Template есть поле Custom Media source.
Если в это поле руками не прописать metaweb_int, то трафик трекаться не будет и события не прилетят в META.
“У нас тут есть кастомное поле, но пожалуйста не пишите в него ничего кроме metaweb_int"
Всегда если есть возможность - используйте Adjust.
С клиентом запускали Facebook Web кампанию на AF. Настраивается достаточно просто, но есть нюанс.
Конфигурация
1. Весь трафик идет на Custom Product Page в App Store.
2. Поэтому для настройки надо завести OneLink и OneLink Template.
3. В OneLink Template есть поле Custom Media source.
Если в это поле руками не прописать metaweb_int, то трафик трекаться не будет и события не прилетят в META.
“У нас тут есть кастомное поле, но пожалуйста не пишите в него ничего кроме metaweb_int"
Всегда если есть возможность - используйте Adjust.
👍6👎2😁2❤1🗿1
Как правильно отправлять события для Facebook Web2App
В предыдущей статье рассказал как работает Facebook Web2App. В этой я расскажу как отправлять более качественные события в Facebook, чтобы быстрее обучать камании.
Проблема: если вы запускаете Facebook Web через Appsflyer или Adjust, то вы уже столкнулись с ситуацией когда score у событий в Facebook невысокий. Максимум: 3.0. В Facebook висят предупреждения что события не получают FBC. Почему так происходит?
В аттаче подробный ответ от Adjust.
Идея:
1. Я обычно настраиваю Adjust в связке с AppHud.
2. AppHud purchase или trial в Adjust.
3. Adjust пересылает этот event через conversion API напрямую в Facebook Web, не добавляя в него никаких доп параметров. Adjust не добавляет FB Click ID - важный параметр идентификатор кампании.
Adjust так работает для любой своей S2S связки
Это и есть причина low quality ивентов, которые мы видим в кабинете Facebook.
📝Что с этим делать?
Ничего.
У Facebook Web нормально работает атрибуция. Работает даже доп. параметров. Внутри Facebook стоит какой-то чувствительный пробалистик.
📝Как можно улучшить качество событий?
1. Не использовать Apphud
Adjust передает доп. параметры когда отправляет свои события напрямую. Трекайте триалы из Adjust SDK. Adjust аккуратно отправит их на сервер.
2. Facebook Conversion API
Технически самый сложный способ. Использовать Facebook Conversion API напрямую из своего приложения. В нем Facebook SDK сам передаст все нужные параметры для событий.
Вам надо будет позаботится о том чтобы самим забирать fbclid на своем домене и реализовать какой-то аналог пробалистика, чтобы сматчить click/install и отправить event в Facebook.
3. Не использовать Adjust в связке с AppHud. Apphud + Facebook SDK
Проблем возникает только при отправке серверных событий, поэтому если сильно хочется использовать Apphud, то AppHud реализовал интеграцию с Conversion API для варианта с прелендингом. Не очень понятно как это будет работать когда мы отправляем пользователей напрямую в стор. Возможно через редирект. Вам не надо будет реализовывать побалистик - это на себя уже взял AppHud.
В предыдущей статье рассказал как работает Facebook Web2App. В этой я расскажу как отправлять более качественные события в Facebook, чтобы быстрее обучать камании.
Проблема: если вы запускаете Facebook Web через Appsflyer или Adjust, то вы уже столкнулись с ситуацией когда score у событий в Facebook невысокий. Максимум: 3.0. В Facebook висят предупреждения что события не получают FBC. Почему так происходит?
В аттаче подробный ответ от Adjust.
Идея:
1. Я обычно настраиваю Adjust в связке с AppHud.
2. AppHud purchase или trial в Adjust.
3. Adjust пересылает этот event через conversion API напрямую в Facebook Web, не добавляя в него никаких доп параметров. Adjust не добавляет FB Click ID - важный параметр идентификатор кампании.
Adjust так работает для любой своей S2S связки
Это и есть причина low quality ивентов, которые мы видим в кабинете Facebook.
📝Что с этим делать?
Ничего.
У Facebook Web нормально работает атрибуция. Работает даже доп. параметров. Внутри Facebook стоит какой-то чувствительный пробалистик.
📝Как можно улучшить качество событий?
1. Не использовать Apphud
Adjust передает доп. параметры когда отправляет свои события напрямую. Трекайте триалы из Adjust SDK. Adjust аккуратно отправит их на сервер.
2. Facebook Conversion API
Технически самый сложный способ. Использовать Facebook Conversion API напрямую из своего приложения. В нем Facebook SDK сам передаст все нужные параметры для событий.
Вам надо будет позаботится о том чтобы самим забирать fbclid на своем домене и реализовать какой-то аналог пробалистика, чтобы сматчить click/install и отправить event в Facebook.
3. Не использовать Adjust в связке с AppHud. Apphud + Facebook SDK
Проблем возникает только при отправке серверных событий, поэтому если сильно хочется использовать Apphud, то AppHud реализовал интеграцию с Conversion API для варианта с прелендингом. Не очень понятно как это будет работать когда мы отправляем пользователей напрямую в стор. Возможно через редирект. Вам не надо будет реализовывать побалистик - это на себя уже взял AppHud.
🤔3❤1👍1🤮1💩1🤡1
Что не так с Appsflyer Web2App
В чатике User Acquisition есть 2 категории пользователей Appsflyer, которые запускают web2app:
1. Одни пишут что все прекрасно работает. Google Ads пропускает любые ссылки даже без required параметров Appsflyer.
2. Другие говорят что ничего не работает, конверсии не отправляются и клики не считаются. Они долго не могут пройти ревью объявлений с трекинг ссылкой. Google Ads их отфутболивает.
Я в их числе
Я долго не мог понять в чем дело.
То-ли это Google аккаунты какие-то старые…
То-ли Appsflyer внутри себя поддерживает несколько версий API…
Я внимательно посмотрел переписку со всеми ребятами у кого работает и у кого не работает. Посмотрел архив чатика.
Есть 2 способа интеграции Appsflyer:
1. Кастомный (хороший - рабочий)
Параметр pid=google_web
В чем идея. Appsflyer при таком сценарии используется только для того чтобы достать gclid. Вы сами отправляете конверсии через Google API и трекинг отдается на откуп Google Ads. Фактически web интеграция может принимать любые параметры и будет с ними работать. Это как раз тот случай когда в чатике пишут “а у меня нормально проходит ссылка без af_r”. Appsflyer при таком сценарии выступает в качестве очень тонкого клиента: мы его используем только для того чтобы посчитать клики и достать gclid.
2. Appsflyer Google Ads Web интеграция (out of the box - нерабочая плохая)
Параметр pid=google_int
На нее люди жалуются в чатике. Плохой трекинг и конверсии не идут. Идея в том что как только мы прописали pid=google_int, Appsflyer начинает дергать код специфичный для web2app google ads. Проверяет параметры, отправляет конверсии и где-то “валится”. Похоже что когда что-то идет не так - Appsflyer не трекает даже клики. Это чисто предположение - но другого объяснения почему Appsflyer не умеет считать клики у меня нет.
Короче: хочешь сделать хорошо - сделай сам. Отвратительная поговорка, но тут работает.
Итого: если хочется нормально запустить Web2App на Appsflyer - надо просто самим пробрасывать все события через Google API (1 вариант).
📝Вопрос: зачем мне Appsflyer если все надо делать самому?
Google Ads “не отдаст” вам gclid/gbraid. Он “отдает” его только сертифицированным партнерам. Appsflyer получит gclid/gbraid от Google, вы его заберете у Appsflyer и дальше все отправите в Google Ads.
Пишите если кому-то нужна с этим помощь. С удовольствием возьму на себя полное руководство/консультации таких проектов.
В чатике User Acquisition есть 2 категории пользователей Appsflyer, которые запускают web2app:
1. Одни пишут что все прекрасно работает. Google Ads пропускает любые ссылки даже без required параметров Appsflyer.
2. Другие говорят что ничего не работает, конверсии не отправляются и клики не считаются. Они долго не могут пройти ревью объявлений с трекинг ссылкой. Google Ads их отфутболивает.
Я в их числе
Я долго не мог понять в чем дело.
То-ли это Google аккаунты какие-то старые…
То-ли Appsflyer внутри себя поддерживает несколько версий API…
Я внимательно посмотрел переписку со всеми ребятами у кого работает и у кого не работает. Посмотрел архив чатика.
Есть 2 способа интеграции Appsflyer:
1. Кастомный (хороший - рабочий)
Параметр pid=google_web
В чем идея. Appsflyer при таком сценарии используется только для того чтобы достать gclid. Вы сами отправляете конверсии через Google API и трекинг отдается на откуп Google Ads. Фактически web интеграция может принимать любые параметры и будет с ними работать. Это как раз тот случай когда в чатике пишут “а у меня нормально проходит ссылка без af_r”. Appsflyer при таком сценарии выступает в качестве очень тонкого клиента: мы его используем только для того чтобы посчитать клики и достать gclid.
2. Appsflyer Google Ads Web интеграция (out of the box - нерабочая плохая)
Параметр pid=google_int
На нее люди жалуются в чатике. Плохой трекинг и конверсии не идут. Идея в том что как только мы прописали pid=google_int, Appsflyer начинает дергать код специфичный для web2app google ads. Проверяет параметры, отправляет конверсии и где-то “валится”. Похоже что когда что-то идет не так - Appsflyer не трекает даже клики. Это чисто предположение - но другого объяснения почему Appsflyer не умеет считать клики у меня нет.
Короче: хочешь сделать хорошо - сделай сам. Отвратительная поговорка, но тут работает.
Итого: если хочется нормально запустить Web2App на Appsflyer - надо просто самим пробрасывать все события через Google API (1 вариант).
📝Вопрос: зачем мне Appsflyer если все надо делать самому?
Google Ads “не отдаст” вам gclid/gbraid. Он “отдает” его только сертифицированным партнерам. Appsflyer получит gclid/gbraid от Google, вы его заберете у Appsflyer и дальше все отправите в Google Ads.
Пишите если кому-то нужна с этим помощь. С удовольствием возьму на себя полное руководство/консультации таких проектов.
👍14🤡3💩2❤1🤮1👌1
Сложный и нормальный запуск
Дам вам повод разнести меня в комментариях. Обобщения - всегда раздражают.
Мне часто задают вопросы насчет типовых запусков кампаний, типовых показателей и распространенных стратегий. Вчера во время консультации вместе с клиентом мы сформулировали для себя 2 категории запуска:
* Нормальный запуск
* Сложный запуск
📝 Нормальный запуск
Вы запускаетесь на небольшой бюджет. С первых дней видите покупки и триалы. ROAS первого дня колеблется от 40% до 70% процентов.
Сратегия для Facebook Web:
* Запускаю кампанию на WW и US. В WW исключаю все страны название которых заканчивается на “стан”.
* Обучаю ее.
* Оставляю лучшие креативы.
* Повышаю бюджет пока позволяет цена за триал/пурч.
* Эксперементирую с bid cap. Масштабирую за счет новых креативов.
Многие мои клиенты льют в плюс исключительно на Штатах, даже не пытаясь заходить в другие страны. Это признак нормального запуска.
📝 Сложный запуск
Как правило в конкурентных нишах. ROAS первого дня на необученной кампании < 20%. С первых дней нет ни пурчей ни триалов.
Сратегия для Facebook Web:
* Запускаем кампанию на WW и US. Везде по нулям
* Начинаем выделять ГЕО. Для этих гео делаем локализованные объявления.
* На каждую ГЕО своя кампания. Каждая кампания из-за низкой ставки спендит мало, но кампаний много и помаленьку с них капает.
* Если в рамках ГЕО появлятеся органика, то начинаем считать ROAS не от кампании, а от ГЕО.
📝Мысли
1. Формируя стратегию, надо понимать что вы видите перед собой - сложный или нормальный запуск. К примеру, если у вас “нормальный запуск” - не надо думать о локализации объявлений. Особенно на раннем этапе. Или обобщая, не надо задумываться о тонкой настройке. У вас уже достаточно свободы в рамках старт/стоп/бюджет/ставка/дубликат/креатив.
2. И наоборот если у вас сложный запуск - надо рассматривать настройку кампании как самостоятельный стартап проект. К примеру вы подглядели испаноязычные креативы конкурента. Или - вы работали в компании и знаете что LTV у подобных приложений необычайно высокое (это воровство по сути, я к нему не призываю - но такое тоже бывает).
3. Если у вас нормальный запуск - это не значит что вы на нем сразу заработаете. Путь от ROAS: 70% до ROAS: 120% может быть очень долгим. Есть примеры когда люди годами к нему шли.
4. Для больших агенств/издателей “сложный запуск” - это не вариант. У них нет ресурсов разбираться в мелких деталях. Вы сами убедитесь в этом, общаясь с издателями. Но для инди разработчика, который год делал приложение по ночам, этот вариант подойдет. Если нет варианта переключиться на какое-то другое приложение, то он может “закопаться в аналитику” и нарыть какую-нибудь Словению в которой приложение зайдет и будет приносить ему небольшой доход.
Но как правильно заметил вчера клиент - “это не масштабируемая история”.
Пишите если кому-то нужна помощь с запуском. Помогу вам!
Дам вам повод разнести меня в комментариях. Обобщения - всегда раздражают.
Мне часто задают вопросы насчет типовых запусков кампаний, типовых показателей и распространенных стратегий. Вчера во время консультации вместе с клиентом мы сформулировали для себя 2 категории запуска:
* Нормальный запуск
* Сложный запуск
📝 Нормальный запуск
Вы запускаетесь на небольшой бюджет. С первых дней видите покупки и триалы. ROAS первого дня колеблется от 40% до 70% процентов.
Сратегия для Facebook Web:
* Запускаю кампанию на WW и US. В WW исключаю все страны название которых заканчивается на “стан”.
* Обучаю ее.
* Оставляю лучшие креативы.
* Повышаю бюджет пока позволяет цена за триал/пурч.
* Эксперементирую с bid cap. Масштабирую за счет новых креативов.
Многие мои клиенты льют в плюс исключительно на Штатах, даже не пытаясь заходить в другие страны. Это признак нормального запуска.
📝 Сложный запуск
Как правило в конкурентных нишах. ROAS первого дня на необученной кампании < 20%. С первых дней нет ни пурчей ни триалов.
Сратегия для Facebook Web:
* Запускаем кампанию на WW и US. Везде по нулям
* Начинаем выделять ГЕО. Для этих гео делаем локализованные объявления.
* На каждую ГЕО своя кампания. Каждая кампания из-за низкой ставки спендит мало, но кампаний много и помаленьку с них капает.
* Если в рамках ГЕО появлятеся органика, то начинаем считать ROAS не от кампании, а от ГЕО.
📝Мысли
1. Формируя стратегию, надо понимать что вы видите перед собой - сложный или нормальный запуск. К примеру, если у вас “нормальный запуск” - не надо думать о локализации объявлений. Особенно на раннем этапе. Или обобщая, не надо задумываться о тонкой настройке. У вас уже достаточно свободы в рамках старт/стоп/бюджет/ставка/дубликат/креатив.
2. И наоборот если у вас сложный запуск - надо рассматривать настройку кампании как самостоятельный стартап проект. К примеру вы подглядели испаноязычные креативы конкурента. Или - вы работали в компании и знаете что LTV у подобных приложений необычайно высокое (это воровство по сути, я к нему не призываю - но такое тоже бывает).
3. Если у вас нормальный запуск - это не значит что вы на нем сразу заработаете. Путь от ROAS: 70% до ROAS: 120% может быть очень долгим. Есть примеры когда люди годами к нему шли.
4. Для больших агенств/издателей “сложный запуск” - это не вариант. У них нет ресурсов разбираться в мелких деталях. Вы сами убедитесь в этом, общаясь с издателями. Но для инди разработчика, который год делал приложение по ночам, этот вариант подойдет. Если нет варианта переключиться на какое-то другое приложение, то он может “закопаться в аналитику” и нарыть какую-нибудь Словению в которой приложение зайдет и будет приносить ему небольшой доход.
Но как правильно заметил вчера клиент - “это не масштабируемая история”.
Пишите если кому-то нужна помощь с запуском. Помогу вам!
👍7❤1👎1👌1🤡1
Facebook Web2App кейс
Делюсь цифрами своей кампании — может пригодиться как ориентир по KPI.
Данные только по моему приложению, чужими цифрами не делюсь.
🔧 Сетап:
• MMP: Adjust
• Лью на Custom Product Page по прямой tracking link из Adjust
• ГЕО: US, CA, UK, AU
• Триалы/подписки: Apphud → Adjust
• Оптимизация: на триалы
• Старт: 1 марта
• Ниша: развлечения
• Данные: за прошлую неделю
• Кампания стартовала с дневным бюджетом $30.
Когда цена триала стабилизировалась — начал плавно увеличивать бюджет.
📊 Результаты:
• CPM: $21
• CTR: 2.22%
• Installs: 434 (CPP)
• Spend: $768
• Proceeds:
↳ $686 (CPP)
↳ $596 (Adjust)
• Подписки:
↳ 34 (Adjust)
↳ 33 (Facebook)
• Триалы:
↳ 44 (Adjust)
↳ 32 (Facebook)
• Installs (FB & Adjust): 320
• Installs (другое измерение в FB): 305
• Конверсия CPP View → Install: 55%
• Цена триала: $17
• 3-Day ROAS: 89%
💡 Выводы:
• Installs Apple ↔ Adjust: долетело 73%
• Installs Adjust ↔ Facebook: почти 100% совпадение
• Proceeds Apple ↔ Adjust: совпадают на 86%
Есть идеи, почему не сходится с инсталлами/триалами — позже расскажу
• Subscriptions Adjust ↔ Facebook: 100%
• CTR & CPM: Схожи с AEM-кампаниями
• Custom Product Page конверсия: Отличный результат — 55%
(в другой кампании: 85%, но ROAS там ниже)
🔥 Запуск удался!
Хочешь такой же? Пиши, запустим 💬
Делюсь цифрами своей кампании — может пригодиться как ориентир по KPI.
Данные только по моему приложению, чужими цифрами не делюсь.
🔧 Сетап:
• MMP: Adjust
• Лью на Custom Product Page по прямой tracking link из Adjust
• ГЕО: US, CA, UK, AU
• Триалы/подписки: Apphud → Adjust
• Оптимизация: на триалы
• Старт: 1 марта
• Ниша: развлечения
• Данные: за прошлую неделю
• Кампания стартовала с дневным бюджетом $30.
Когда цена триала стабилизировалась — начал плавно увеличивать бюджет.
📊 Результаты:
• CPM: $21
• CTR: 2.22%
• Installs: 434 (CPP)
• Spend: $768
• Proceeds:
↳ $686 (CPP)
↳ $596 (Adjust)
• Подписки:
↳ 34 (Adjust)
↳ 33 (Facebook)
• Триалы:
↳ 44 (Adjust)
↳ 32 (Facebook)
• Installs (FB & Adjust): 320
• Installs (другое измерение в FB): 305
• Конверсия CPP View → Install: 55%
• Цена триала: $17
• 3-Day ROAS: 89%
💡 Выводы:
• Installs Apple ↔ Adjust: долетело 73%
• Installs Adjust ↔ Facebook: почти 100% совпадение
• Proceeds Apple ↔ Adjust: совпадают на 86%
Есть идеи, почему не сходится с инсталлами/триалами — позже расскажу
• Subscriptions Adjust ↔ Facebook: 100%
• CTR & CPM: Схожи с AEM-кампаниями
• Custom Product Page конверсия: Отличный результат — 55%
(в другой кампании: 85%, но ROAS там ниже)
🔥 Запуск удался!
Хочешь такой же? Пиши, запустим 💬
🔥17👍3❤2👌1