Если приложение не конвертит, не всегда проблема может оказаться в оффере или креативе. Одна из неочевидных причин, по которой может случиться такая ситуация, — неправильная работа кэша в PWA.
В этом случае формально приложение будет работать исправно, но игроки не увидят обновления интерфейса, свежие баннеры и бонусы. Как это повлияет на PWA, кампанию арбитражника и что с этим делать?
Как кэш влияет на работу PWA приложения и РК
Кэш — это пачка данных, которая содержит важную для функционирования прилы информацию: шрифты, скрипты, изображения, анимации и т. д. Благодаря кэшу приложение может быстро загружаться и обеспечивать оптимальный пользовательский опыт.
Неправильная настройка кэша — неочевидная ошибка, которая может привести к снижению ROI и потере конверсий. Проблема в том, что PWA подчиняется правилам кэширования данных, установленных в браузере. Чтобы оптимизировать работу старых устройств, большинство пользователей используют клинеры и другие утилиты, затрагивающие и настройки кэширования. После оптимизации телефона браузер перестанет запрашивать обновления кэша приложения и испортит результаты кампании.
Приведем пример. Игрок попадает на лендинг, скачивает PWA и регистрируется в казино. Пользователь видит, что казино предлагает всего 50 фриспинов для новых клиентов, а потому не спешит депать. Тогда арбитражник меняет оффер, где для лудоманов создана система лояльности, выдают больше фриспинов и прибавку к первому пополнению. Аффилиат пушит аудиторию и предлагает ей свежую акцию, где уже дают 100 фриспинов. Игроки кликают по пушам и попадают в старую версию приложения, где баннеры с новыми бонусами еще не загрузились. Браузер хотел «заботливо» обеспечить быструю загрузку за счет обращения к кэшированным элементам, а по итогу лид разочаровался и ушел.
Один из вариантов справиться с такой ситуацией — принудить браузер «спросить» сервер о наличии новых версий и удобнее всего это сделать через пуш-уведомления. В сообщении можно передать параметр или задать скрипт, который будет автоматически обновлять PWA до последней версии. Проблема возникает в другом: как реализовать этот код на практике. С одной стороны, можно интегрировать код самому, рискуя сделать ошибку и загубить конверсию. А с другой — проще обратиться к конструктору, где функция внедрения JS-скриптов автоматизирована. В PWA Group можно не только собрать прилу с нуля и настроить кастомизированную пуш-рассылку, но и интегрировать свои скрипты.
Арбитражник может вшить функцию обновления кэша в разные места, чтобы свести риск слива бюджета по вине «заботливого» браузера к нулю.
Как управлять кэшем PWA и минимизировать риски слить бюджет
Мы разберем три способа, которые помогут исправить возможные сбои в работе кэша, и подскажем лайфхак, способный решить эту проблему раз и навсегда. Сразу скажем, что применить эти способы без знания программирования будет тяжело, а с лайфхаком справится даже далекий от кода арбитражник.
Обновляем названия новых версий
Суть метода простая: при загрузке обновления прописываем файлу новый URL-адрес. Если первая версия называлась «style.css», то следующее обновление нужно назвать «style.css?v=1.2». Есть и более сложный вариант: писать в названии хэш. Например, «style.a1b2c3d4.css». Вот что об этом пишут разработчики с Reddit:
Таким образом арбитражник принуждает PWA самостоятельно проверить наличие новых версий прилы и загрузить ее на устройство. К сожалению, без знания кода решить проблему с кэшем таким образом не получится.
Настраиваем серверную часть
Браузер общается с сервером при помощи HTTP-заголовков. Это инструкции, которые объясняют системе, что делать с теми или иными файлами. У каждой инструкции есть свои директивы — простые и конкретные команды. Приведем список директив, которые могут быть полезны в работе с кэшем.
no-store или «не сохраняй эти данные на устройстве, бери только с сервера». Применяется редко, поскольку нагружает прилу и портит пользовательский опыт. Реализуется в Tier-1 со стабильной скоростью соединения, но для Tier-2,3 подойдет следующая директива;
no-cache или «перед использованием этих данных, проверь, есть ли на сервере новая версия». При использовании этой директивы у приложения два варианта действий:
- Если на сервере есть обновленные файлы, то прила сначала загрузит их, а потом покажет юзеру;
- Если новых версий на сервере нет, то приложение автоматически возьмет последние данные из кэша.
Обычно используют именно эту директиву, так как она универсальна.
max-age=[количество секунд] или «ты можешь использовать эти данные из кэша на протяжении Х секунд, а потом обратись к серверу». Незаменимая команда для шрифтов и баннеров, которые могут не меняться долгое время. Например, на время акции аффилиат устанавливает баннер, к которому PWA будет обращаться заданный срок, а в конце нее алгоритмы сами перестают отображать устаревшее изображения.
Чтобы задать HTTP-заголовок, нужно базовое понимание серверного администрирования: эти запросы настраиваются на части сервера. У каждого типа сервера будет свой код, но принцип одинаковый. Например, для Apache нужно внести изменения в файл «.htaccess» и задать картинкам в папке «/images» срок жизни сутки при помощи директивы max-age=86400.
Меняем параметры Service Worker
Service Worker — фоновый скрипт, который определяет, как PWA взаимодействует с кэшем и интернетом. Для этого скрипту задают стратегии кэширования: Network First, Cache First или Stale-While-Revalidate. Кратко опишем каждую из них:
- Network First. Для загрузки данных PWA будет в первую очередь обращаться к серверу, а если что-то пойдет не так, то к своему кэшу. Если в рабочем ГЕО стабильно высокая скорость соединения, то такая стратегия подходит;
- Cache First. В этом случае приложение сначала обращается к кэшу, а если не находит нужных данных, то подключается к серверу. Редко используется в гемблинге из-за постоянных активностей в онлайн-казино, требующих своевременной адаптации прилы;
- Stale-While-Revalidate. Универсальный и самый популярный вариант кэширования информации. Когда юзер открывает приложение, то PWA мгновенно загружает данные из кэша, а потом узнает у сервера, есть ли обновления. Если что-то изменилось, то прила загружает их на устройство и покажет игроку свежую страницу при повторном входе в PWA.
С одной стороны, арбитражник контролирует работу приложения целиком, а с другой — на него ложится бремя тестирования и отладки всех элементов.
Каждая ошибка может стоить сотни долларов, а когда в работе несколько PWA, вероятность случайных «промахов» кратно возрастает. Поэтому расскажем, как упростить настройку кэша.
Лайфхак: как решить проблему с кэшем без знания программирования
Для рядовых арбитражников, которые не хотят углубляться в написание кода, на рынке давно есть решение — конструкторы PWA. С ними не приходится проверять, как работает кэш, добавляется ли код в нужные места и тратить время на проверку этих деталей. Достаточно загрузить новый креатив, обновить текст рассылки и другие элементы, а внутренние алгоритмы сделают все без привлечения аффилиата. В PWA Group эти функции отлажены уже не первый год. Над сервисом работает команда программистов, которая давно решила проблемы кэширования и другие неочевидные для байеров ситуации. Процесс сборки интуитивно понятный: загрузил креативы, либо выбрал дизайн из библиотеки шаблонов → поставил домен → заполнил текстовые блоки → подключил пуш-рассылку и пиксель → пошел заливать трафик.
Конструктор автоматически принудит браузер на устройстве игрока скачать последнее обновление PWA, чтобы лиды всегда получали свежую и актуальную информацию об оффере, а байер не терял деньги.
Заключение
Самостоятельно задать настройки кэширования без знания программирования не получится. В любом случае понадобится лезть в код, интегрировать скрипты и менять другие детали. В нише iGaming такая неочевидная ошибка может привести к ненужным проблемам.
Чтобы не тратить время на изучение кодинга, а также поиски программиста, гораздо выгоднее использовать конструкторы приложений. В них подобные детали давно учтены, а потому рисковать деньгами впустую не придется. В PWA Group можно без знания программирования собрать PWA, выбрать для него дизайн, настроить пуши и пиксель. Приложение можно редактировать в любое время бесплатно, а после каждого обновления алгоритмы самостоятельно инициируют процесс подгрузки свежих данных на устройствах игроков.
Источник