Betting affiliate на WordPress: клики, FTD и revenue

Как я собирал WordPress-платформу для betting affiliate: от клика до FTD и revenue

BETCRAFT / DEVELOPMENT CASE
От обычной WordPress-темы — к системе, где связаны клики, SubID, postback, FTD, revenue и автоматические рейтинги.

Когда я только начинал делать BetCraft, задача казалась довольно простой: нужна WordPress-тема для сайта с обзорами букмекеров.

Карточки БК, рейтинги, бонусы, GEO, виды спорта, несколько фильтров — стандартный набор для affiliate-проекта.

Но довольно быстро я столкнулся с проблемой: сам каталог — это только внешняя часть сайта. Если проект должен приносить деньги, гораздо интереснее то, что происходит между посетителем, партнёрской ссылкой и фактической конверсией.

В итоге разработка ушла совсем не туда, куда я планировал изначально.

Сейчас BetCraft — это уже скорее WordPress-платформа для betting affiliate-проектов, а не просто тема. В этой статье хочу рассказать не обо всех функциях подряд, а о той части, которая оказалась для меня наиболее интересной: как связать контент, клики, партнёрские ссылки и реальные результаты в одну систему.

Сначала я просто хотел нормально хранить affiliate-ссылки

На небольшом сайте всё просто.

Есть обзор букмекера, вставил партнёрскую ссылку в кнопку — готово.

Но потом ссылка появляется в рейтинге, сравнении, GEO-странице, статье, карточке события, боковом блоке и ещё в нескольких местах.

Если партнёрка меняет URL, начинается поиск по всему WordPress.

А если для разных стран или устройств нужны разные ссылки — становится ещё веселее.

Поэтому первым делом я сделал централизованный Affiliate Link Manager.

Ссылка хранится в одном месте, а на сайте используется через внутренний редирект. Можно задать отдельные варианты под GEO или устройство, передавать UTM и SubID, проверять доступность URL и менять направление без редактирования десятков страниц.

Для меня это оказалось одной из тех функций, которые выглядят скучно на презентации, но сильно упрощают реальную работу.

Потом возник очевидный вопрос: а откуда вообще приходят клики?

Считать только общее количество переходов мне быстро перестало нравиться.

Если на странице десять CTA, хочется понимать, какой из них реально работает.

Клик пришёл:

  • из рейтинга;
  • из полного обзора;
  • из статьи;
  • из сравнения;
  • из мобильной кнопки;
  • с GEO-страницы.

Поэтому каждый переход стал сохранять контекст: bookmaker, страницу, тип страницы, CTA, устройство и другие параметры.

Так появилась собственная Click Analytics.

И вот здесь уже можно смотреть не просто «за сегодня 100 кликов», а понимать, какой конкретно элемент сайта их принёс.

Но клики сами по себе почти ничего не говорят

Это, наверное, самая очевидная вещь для любого человека, который давно работает с affiliate.

Высокий CTR ещё не означает высокий доход.

Можно сделать агрессивную кнопку, получить много переходов и при этом почти не получить нормальных игроков.

Поэтому следующим шагом стал собственный click_id.

Перед переходом на партнёрскую программу BetCraft создаёт идентификатор клика и передаёт его через SubID.

Если партнёрка поддерживает postback, она потом может вернуть событие обратно:

регистрацию, FTD, депозит, qualified player или revenue.

Получилась цепочка:

показ → клик → регистрация → FTD → revenue

После этого аналитика уже начинает отвечать на гораздо более полезные вопросы.

Например, один CTA может давать CTR 18%, а другой всего 11%. Но второй приводит больше FTD.

Что тогда считать лучшим?

Для affiliate-проекта ответ уже не такой очевидный.

Отсюда сам собой появился A/B Testing

Когда данные о кликах и конверсиях уже собираются, не использовать их для тестов было бы странно.

Я добавил A/B-тестирование CTA.

Можно проверить разные тексты кнопок, оформление или даже порядок букмекеров.

Но я специально не хотел делать систему, которая после 20 показов пишет огромными буквами:

ПОБЕДИТЕЛЬ — ВАРИАНТ B

Потому что на маленькой выборке это легко превращается в самообман.

Поэтому BetCraft показывает фактические результаты по каждому варианту: показы, клики, CTR, регистрации, FTD, EPC и revenue.

А решение уже принимает человек.

Самая спорная идея — автоматические рейтинги букмекеров

Практически на любом affiliate-сайте есть рейтинг.

Обычно он редакционный.

Одному букмекеру поставили 9.6, другому 9.2, третьему 8.8 — и в таком порядке они стоят месяцами.

Но если сайт уже знает, что один бренд приносит высокий EPC, другой хорошо конвертирует в регистрацию, а третий даёт больше FTD, появляется вопрос:

почему вообще не использовать эти данные в сортировке?

Так появился Smart Rankings.

Можно строить порядок по EPC, Registration CR, FTD Rate, Revenue или комбинированному Smart Score.

И тут же обнаружилась первая проблема.

Представим нового букмекера.

У него два клика и одна регистрация.

CR — 50%.

По формуле он мгновенно становится чуть ли не лучшим брендом на сайте.

Понятно, что это статистический шум.

Поэтому пришлось делать cold start: пока не накоплена минимальная выборка, система больше опирается на редакционный рейтинг и не позволяет случайной конверсии перевернуть весь каталог.

Это хороший пример того, почему функция в интерфейсе может выглядеть простой, а за ней потом появляется куча условий.

С коэффициентами получилось примерно то же самое

Изначально я вообще не планировал делать полноценный Match Center.

Но если сайт работает с букмекерами, спортивные события довольно логично дополняют контент.

Сначала появились матчи.

Потом команды и лиги.

Потом коэффициенты 1/X/2.

Потом Sports/Odds API.

А затем стало понятно, что текущего коэффициента мало.

Если уже сохраняется история, можно показать Opening и Current, изменение за 1 час, 6 часов, 24 часа, разброс между букмекерами и лучший коэффициент.

Так появился Value Center.

На странице события пользователь может сохранить матч, добавить его в календарь или Google Calendar, посмотреть предложения букмекеров и движение линии.

Получился уже отдельный большой модуль внутри проекта.

Чем больше автоматизации, тем важнее диагностика

На этом этапе в одном WordPress одновременно работают API, cron, история коэффициентов, аналитика кликов, postback, Telegram, email и несколько собственных таблиц.

И если что-нибудь перестаёт работать, простого «обновить страницу» уже недостаточно.

Поэтому сделал отдельный Health Monitor.

Он проверяет Sports API, cron, postback, Telegram webhook, состояние affiliate-ссылок, события без коэффициентов, таблицы, индексы базы и последние ошибки.

Это не самая красивая часть BetCraft, зато одна из самых полезных при реальной эксплуатации.

И в какой-то момент пришлось перестать добавлять функции

Наверное, это главная вещь, которую я понял за время разработки.

Очень легко бесконечно улучшать продукт.

Всегда можно придумать новый фильтр, ещё одну аналитику, ещё один вид уведомлений.

Но в какой-то момент новые функции начинают мешать больше, чем помогать.

После очередного этапа я остановил активное наращивание функционала и занялся производительностью.

Оптимизировал запросы к базе, добавлял индексы, пересматривал cron-задачи, ограничивал хранение старой аналитики и истории коэффициентов, добавлял кэш и убирал лишние CSS/JS там, где они не нужны.

Сейчас текущая версия BetCraft — 2.38.2.

И следующий этап для меня уже гораздо интереснее: не придумывать ещё 50 функций самому, а получать обратную связь от людей, которые действительно работают с betting и affiliate-проектами.

Что получилось в итоге

BetCraft начинался как WordPress-тема с каталогом букмекеров.

Сейчас внутри уже связаны контент, GEO, события, коэффициенты, партнёрские ссылки, click_id, postback, FTD, revenue, A/B-тестирование и автоматические рейтинги.

При этом я всё ещё хочу сохранить главное преимущество WordPress: чтобы с системой мог работать обычный редактор, а не только разработчик.

Недавно я ещё доделал собственную систему лицензирования и личный кабинет на Streltsov Digital. После покупки пользователь получает лицензию, ключ, ZIP, историю версий, документацию и тикет-поддержку прямо в своём аккаунте.

Но больше всего сейчас интересует не техническая сторона, а мнение людей из самой индустрии.

Если вы работаете с betting affiliate — что из подобного функционала действительно используете каждый день? А что, наоборот, выглядит красиво, но на практике почти не нужно?

Буду рад критике и идеям.

Посмотреть BetCraft

Демо:
https://betcraft.streltsov.digital/

Документация:
https://streltsov.digital/docs/

Affelist
Добавить комментарий