Web2App: User Acquisition в iOS приложениях
4.13K subscribers
60 photos
7 videos
1 file
55 links
Никакой воды. Настройка Web2App в iOS. Интеграции с MMP. API, цены. Нужна помощь? Пишите: SiberianPaaanda
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Что такое Web2App?
Web2App - это способ настройки google ads кампаний для iOS приложений. Ключевое отличие от стандартной кампании - это первый шаг. Выбираем website traffic вместо App.

Зачем это?
Если кратко - чтобы больше зарабатывать. Если подробно:

Плюсы
🌐 Отдельный рынок.
Выкупая web traffic, мы сбегаем с выженной поляны рекламного рынка приложений.
🌐 Гибкость в настройке.
Сами выбираем keywords на которые будем целиться.
🌐 Работающая атрибуция
Из-за ограничений безопаности, iOS не дает понять с какой рекламной кампании пришел пользователь. В Web2App есть механизмы обхода этого ограничения.

Минусы
🌐 Техническая сложность интеграции
🌐 Отсутствие документации

Web - OK. А что мы указываем в поле final URL?
Есть 2 подхода:

🌐 Ссылку на Landing Page
Например у вас есть есть андроид мобильное приложение, ios, десктоп приложение и их онлайн версия. Все они решают школьные задачки. Каждый раз когда пользователь вводит в поиске “решить задачу по физике” - вы показываете ему landing page с 4 опциями (android/ios/desktop/site)
🌐 Ссылку на приложение в стор.
Показываем только ссылку на iOS.

Почему Google Ads? А как же Facebook?
Трафик в Facebook - это реклама в приложениях Instagram и Facebook. Т е через Facebook мы не выходим на какой-то новый трафик.

Почему iOS, а не Android?
В Андроиде нет проблем с пунктом 3 (работающей атрибуцией). Клики и конверсии учитываются рекламной сеткой. Тема этого канала - это технические сложности интеграции, поэтому я буду рассказывать про iOS.
👍62🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Что такое MMP?
Если взять определение Appsflyer, то MMP — это сервис, который помогает приложениям измерять эффективность кампании по различным каналам рекламного маркетинга, медиа-источникам и рекламным сетям.

Зачем мне “компания, которая помогает”? А я могу сам все настроить?
Теоретически да, но на практике нет.
MMP - это даже не столько технические иновации и дашборды, а
договоренность компании с рекламной сеткой.

Например Facebook делится данными только с MMP Appflyer и Adjust. Google Ads демократичней, но даже параметр GCLID (подробно в следующих постах) отдаст только специально зарегистрированному партнеру.

Какие есть MMP?
В данном канале я буду рассматривать следующие:

🌐 Firebase - бесплатное плохое решение
🌐 Tenjin - дешевое костыльное
🌐 Adjust/Appsflyer - дорогие и хорошие.
Эти дадут вам больше других, но все равно без своих скриптиков не обойдетесь. (чуть позже).

Можно ли настроить Web2APP бесплатно?
Нет. Даже бесплатный Firebase не даст всего нужного функционала. Например - не даст работать с tracking ссылками (чуть позже).
👍72🔥2
В предыдущей статье я рассказывал о 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 менеджеры и суппорт.
👍71
Часть 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% конверсий, то вам повезло.

Это максимально достижимая цифра при использовании классического подхода.
👍93
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.

Пишите мне. Я поделюсь скриптами и чеклистами.
🔥7👍62
This media is not supported in your browser
VIEW IN TELEGRAM
📝Задача
Запустить 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. Я помогу.
4
Можно ли обойтись без tracking link?
Можно. На скриншоте 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? Если да - напишите пожалуйста в комментариях.
🔥7👍3😱21
This media is not supported in your browser
VIEW IN TELEGRAM
Секция Goals Summary
Если коротко, то эта секция в 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
🔥7
Web2App: User Acquisition в iOS приложениях pinned «Меня зовут Дмитрий Гущин и я предоставляю услуги: 📝UA Manager 2026: META и Google Ads Курс пройдет С 15 марта по 15 мая. Описание 📝Часовая консультация. Расскажу все что знаю про рекламу подписочных iOS приложений в Google Ads/Web/UAC, Meta, Apple Search.…»