Всем чмоки, с вами Резник и сегодня мы будем считать бабло.
Начиная с версии 3.17 в AlterCPA Pro появилась весьма удобная возможность: закидываем сведения о расходах по рекламным кампаниям и получаем глубокую аналитику расходов и ROI в разрезе всех многоуровневых отчётов AlterCPA. Я расскажу вам, как использовать этот инструмент и какие подводные камни встретят вас на пути к тотальному финансовому учёту.
Особенности работы
В новой версии AlterCPA появились полезные колонки статистики, которые позволяют оценить реальную успешность ваших рекламных кампаний. Включаются они в «Расширенных» настройках системы. Вот что мы добавили в блок «Трафик»:
- Клики — это количество платных переходов, посчитанных системой. Не все переходы считаются платными, ведь обновление страницы или заход с прелендинга на лендинг точно не стоит подсчитывать.
- CPC — средняя стоимость одного клика из предыдущей колонки.
- Расход — общая сумма расхода на трафик, произведение первых двух колонок
- Прибыль — разница расхода и суммы доходов за принятые лиды и лиды в холде. Учитывая, что мы считаем холдом лиды с отложенным подтверждением, можно спокойно вносить их в наши доходы.
- ROI — соотношение суммы дохода к сумме расхода, указанное в процентах. ROI меньше 100 — признак полного провала.
Для начала, минутка разочарования. Реализованный в AlterCPA механизм — это именно импортрасходов, а не их выгрузка. Это означает, что вы сами должны постучаться в систему и сказать ей: «Я сделяль!» — указав при этом, сколько было потрачено и по каким критериям. Самостоятельно AlterCPA ниоткуда ничего выгружать не будет, потому что рекламных сетей много, а она одна. Прям как Почта России.
Ещё один важный момент — особенности подсчёта платных кликов из общего числа кликов. Клик считается платным при соблюдении некоторых условий. Во-первых, клик должен быть уникальным. Система не запоминает, пришёл к ней клик извне или был простым обновлением страницы или переходом на одну из внутренних страниц лендинга, так что для простоты отбора считаем только уникальные клики. Во-вторых, клик на лендинг должен быть прямым, а не идти с прелендинга. Все переходы с прелендов, в том числе уникальные, платными не посчитаются. Поэтому рекомендуется отправлять цену не за один клик, а за весь объём кликов — AlterCPA сама размажет ценник по всем кликам, которые ей понравятся.
Техническая сторона процесса
Отправка ценников осуществляется функцией wm/cost, которая у вас будет выглядеть как-то так:
https://altercpa.site/api/wm/cost.json?id=123-abc
Самые главные параметры, которые функция ожидает — это цена кликов:
- cpc — стоимость за один клик, не рекомендуется использовать
- cost — цена за весь выбранный объём кликов, рекомендуем
- currency или curr — трёхбуквенный ISO-код валюты, в которой указана цена клика.
Рекомендуется отправлять именно cost и в идеале дополнять его currency. Если код валюты не передан, то считается, что клики оцениваются в стандартной валюте системы.
Кроме цены, обязательно нужно передать как минимум один из фильтров, можно все сразу. В наличии вот такие параметры фильтрации для кликов:
- flow — идентификатор потока.
- utms — метка utm_source
- utmc — метка utm_campaign
- utmn — метка utm_content
- utmt — метка utm_term
- utmm — метка utm_medium
- from — дата и время для начала отбора кликов, не включительно.
- to — дата и время для окончания отбора кликов, включительно.
С параметрами from и to связано несколько интересных лайфхаков.
- Вы можете передавать в этих параметрах целые числа, и они будут интерпретированы как UNIX timestamp. Это оптимально при импорте данных из какой-либо умной системы, которую делали программисты с растущими из плеч руками. При этом период отбора будет строго больше from и меньше или равен to.
- Вы можете передавать дату и время в понятном живому человеку формате ГГГГ-ММ-ДД ЧЧ:ММ:СС, не прибегая к страшным и непонятным большим цифрам. Такая дата будет распознана AlterCPA в привязке к часовому поясу, установленному в системе.
- Вы можете впихнуть в эти параметры любую дичь, которую понимает функция strtotime. Подробнее об этих форматах можно почитать в документации к языку PHP, там достаточно подробно всё расписано. Например, передавая клики за последние сутки, вы можете использовать from со значением «-24 hours», а в to просто передать «now».
Сами параметры могут передаваться в GET или POST части запроса. Очень важно: нельзя передать часть параметров в GET, а часть в POST — система воспримет это как два отдельных запроса и обработает оба отдельно. Если хочется разом отправить данные о куче кликов, можно воткнуть их массивом в один параметр batch. Пример можете посмотреть в своей документации или в оригинальной статье.
Теперь, когда мы прониклись технической стороной процесса, давайте на нескольких примерах попытаемся понять, как это будет работать в реальности.
Практические примеры
Для удобства, будем считать, что мы указываем источник трафика в параметре utm_source, идентификатор рекламной кампании у нас уходит в utm_campaign, а код конкретного креатива вписывается в utm_content.
Общий расход по потоку
Предположим, мы используем один поток на одну рекламную кампанию, и рекламная сеть периодически может отправлять нам постбек с общей суммой, потраченной на эту кампанию за всё время.
В этом случае мы просто указываем постбек с идентификатором потока в параметре flow, а в параметр cost передаём общую сумму расхода, указанную в соответствующем макросе, например, {spend}.
Получится постбек вот такого вида:
https://altercpa.site/api/wm/cost.json?id=123-abc&flow=777&cost={spend}
Расход по потоку за фиксированный период
Предположим, что наша рекламная сеть из пункта выше умеет посылать постбек каждый час, указывая сумму расхода именно за этот час. В таком случае, в постбеке появится параметр from со значением «-1 hour», что соответствует периоду отправки статистики. Параметр to при этом указывать не обязательно, потому что по умолчанию он соответствует текущему моменту.
https://altercpa.site/api/wm/cost.json?id=123-abc&flow=777&cost={spend}&from=-1hour
Расход по потоку за произвольный период
Предположим, что отправлять постбек раз в час наша рекламная сеть не может, зато умеет отправлять его за произвольный период. И начало этого периода она может указать в макросе {start} в любом удобном виде. В этом случае в параметр from мы пробросим уже макрос {start}:
https://altercpa.site/api/wm/cost.json?id=123-abc&flow=777&cost={spend}&from={start}
Если же рекламная сеть может указывать не только начало периода, но и его окончание в макросе {end}, мы добавим его в параметр to.
https://altercpa.site/api/wm/cost.json?id=123-abc&flow=777&cost={spend}&from={start}&to={end}
Расход по рекламной кампании
Предположим, что наша сеть использует глобальный постбек, а мы не привязываемся потоком к определенной рекламной кампании. В этом случае нам нужно фильтровать клики по utm_campaign, не зря же мы настраивали его в ссылке.
Наверняка мы используем далеко не одну сеть, поэтому для нашей воображаемой сети Pedobear Advert мы заранее указали в потоке параметр utm_source со значением pedadvert. А это значит, что такой же фильтр мы добавляем и к постбеку в параметре utms. При этом, идентификатор рекламной кампании отдаётся в макросе {campaign} и отправляется в параметр utmc.
В таком случае наш наиболее умный постбек примет вот такой вид:
https://altercpa.site/api/wm/cost.json?id=123-abc&utms=pedadvert&utmc={campaign}&cost={spend}&from={start}&to={end}
Он установит цену клика по всем потокам с выбранной рекламной сети, разбросав все по рекламным кампаниям и привязав к нужному периоду. При этом очень важно, чтобы в проточных URL в обязательном порядке присутствовали UTM-метки.
Интеграция с известными системами
Этот раздел будет пополняться по мере интеграции с существующими источниками поставки трафика, рекламными сетями, трекерами и системами аналитики.
Пока здесь пустынно, потому что официально подсчёт ROI ещё не был даже анонсирован. Присылайте свои варианты интеграции, мы всё сюда добавим!
С вами был Резник, чмоки!