Техническая архитектура
Как мы это обеспечиваем — по компонентам
Демо показывает, что машина делает. Эта страница — как именно: пять компонентов, контракты данных между ними и что реально умеет каждая из шести сетей. Каждый факт о сетях ниже — из опубликованного аудита интеграций.
Карта подключения
Где подключаемся, что забираем, что отдаём
Четыре точки подключения — вся интеграция. Всё дальнейшее на этой странице — эти четыре строки в развороте.
| Где подключаемся | В каком виде | Что забираем | Что отдаём | Что нужно от вас |
|---|---|---|---|---|
| Ваши лендинги + страницы подтверждения | одна строка: <script async> — напрямую или через GTM | технические данные клика: анонимный visitor-id, click-id, sub-id, источник, девайс. Без PII, без содержимого форм | со страницы стреляют аудиторные теги сетей — каждый посетитель ложится сразу в шесть аудиторий | ~10 минут вместе с выкаткой |
| Ваш CRM / бэкенд | S2S: HTTP POST на наш эндпоинт событий | два факта-события — reg и dep — с visitor-id и суммой. Больше ничего | работающие окна сегментации, исключение конвертеров, подтверждённые (не оценочные) цифры возврата | ~1 час работы бэкендера |
| Шесть рекламных сетей | их API рекламодателя + их пиксели в нашем контейнере; кабинеты — наши | статистику кампаний и спенд — по сетям и сегментам | кампании дожима на дозревшие когорты, ставки/бюджеты, S2S-постбэки, которые учат их биддинг | документы лицензий — только там, где этого требуют iGaming-гейты |
| Обратно к вам | отчёт: возвраты, депозиты, экономика по сетям | — | подтверждённые возвраты и депозиты, спенд против ценности по каждой сети, минусовые сети выключены | ничего |
Таблица листается вбок на узких экранах →
Карта компонентов
Три зоны, одна петля
На вашей стороне — страницы и события. На нашей — журнал, сегментатор, пульт кампаний и постбэк-роутер. В сетях — аудитории, и наружу они их не отдают: так устроены сами сети.
Компонент 01 · в вашей странице
Контейнер: одна строка, три задачи
Лендинги + страницы подтверждения · иллюстрация
<script src="https://tag.mediamagic.example/mm.js"
data-client="acme" async></script>
Грузится асинхронно — не блокирует рендер и не замедляет лендинг. Ставится напрямую или через GTM.
Стреляет аудиторными тегами включённых сетей
У каждой сети — свой механизм сбора, контейнер просто размещает их: PropellerAds — JS-пиксель Audiences 2.0; ExoClick — тег целей tag_gen.js; TrafficStars — img-пиксель User Collections; Kadam — пиксель аудиторий с cookie- и fingerprint-режимами; MGID — MGID Pixel с правилами по URL; Taboola — Taboola Pixel в My Audiences. Набор тегов настраивается под каждого клиента — сети включаются и выключаются без правок вашей страницы.
Ставит first-party visitor-id
Случайный идентификатор в first-party cookie на вашем домене. Это ключ всей петли: вы возвращаете его внутри событий reg/dep, и журнал связывает клик с конверсией без каких-либо персональных данных.
Пишет наш ивент в журнал кликов
click-id, sub-id, источник, девайс — минимум, нужный для сегментации и атрибуции будущего возврата к правильной сети. Это наша собственная история кликов, не зависящая от отчётности сетей.
Чего контейнер не делает: не читает формы, не собирает e-mail и телефоны, ничего не вытаскивает из сетей обратно. Односторонний, как обычный рекламный пиксель — тот же класс инструмента, что Meta Pixel, и обычно та же строка в cookie-политике.
Компонент 02 · два ваших события
Контракт S2S: час работы бэкендера
Петле нужны от вас ровно два факта: случилась регистрация, случился депозит. Каждый приходит одним HTTP-вызовом с visitor-id, который контейнер уже поставил.
POST /v1/events · иллюстрация контракта
Authorization: Bearer <client_api_key> X-Signature: sha256=… ← HMAC от тела запроса { "visitor_id": "mm_9f3k…", ← из first-party cookie "event": "dep", "reg" | "dep" | "suppress" "amount": 50, "currency": "EUR", "ts": "2026-08-06T11:42:00Z", "idempotency_key": "dep-88213" }
Каждый запрос подписан HMAC-ключом клиента; контракт идемпотентен по ключу — ретраи безопасны. В контракт заложен тестовый режим: он показывает, как событие сджойнилось с кликом, — интеграция проверяется до запуска.
Что открывают эти два события
- Окна сегментации «клик без рега», «рег без депа» становятся вычислимыми — сегментатор перестаёт быть слепым
- Исключение конвертеров внёсшие уходят из аудиторий дожима — бюджет перестаёт капать на них
- Подтверждённая экономика возвраты считаются по вашим событиям, а не по заявлениям сетей
- Обучение сетей постбэки кормят конверсионный биддинг сетей — цена возврата снижается со временем
Без событий машина всё равно собирает и крутит кампании — но вслепую. Пресет «Web2app» в демо показывает, сколько это стоит.
Третье событие: suppress
Self-excluded и RG-флагнутые игроки не должны получать дожим ни при каких обстоятельствах — это лицензионный риск, а не пожелание. Если ваш CRM уже шлёт reg/dep, он может слать и suppress с тем же visitor-id: контейнер проведёт такого юзера через тот же механизм исключения, что и конвертеров, — сразу во всех шести сетях.
Компонент 03 · наш бэкенд
Сегментатор: когорты, а не поштучно
Сети таргетируют аудитории целиком, через include/exclude, — не человека поштучно. Поэтому наш сегментатор работает бакетами по времени: бакет дозрел — на него включаются кампании.
Клик без регистрации — ~5 дней
Умер с первого прогона. Первыми идут дешёвые форматы: поп и пуш там, где сеть их даёт.
Регистрация без депозита — ~14 дней
Самый тёплый сегмент. Оба окна — ручки, не константы: настраиваются под клиента и GEO.
Сконвертился — исключается
Исключение происходит внутри каждой сети её собственным механизмом — таблица ниже. Именно поэтому контейнер обязан стоять и на страницах подтверждения.
| Сеть | Механизм аудитории | Исключение конвертеров | Прогрев до кампаний (из их доков) |
|---|---|---|---|
| PropellerAds | JS-пиксель Audiences 2.0 · ≤15 аудиторий · членство 90 дней | f=off на thank-you | сначала собрать 30–50 юзеров |
| ExoClick | Conversion Goals + tag_gen.js · метит всех посетителей, не только с Exo · cookie | Negative-цель в таргетинге | ~3 дня данных пикселя |
| TrafficStars | img-пиксель User Collections · до 5 динамических параметров (reg, dep…) | коллекция подключается как исключение | рекомендуют ~30 дней |
| Kadam | пиксель аудиторий · cookie + fingerprint · аудитории также из статистики и S2S | уточняется при интеграции | норматив не публикуется |
| MGID | MGID Pixel · правила по URL (starts/contains/ends) + события · выдаётся после KYC/KYB (проверка компании) | goal-based аудитория → exclude | после KYB-верификации (срок не публикуется) |
| Taboola | Taboola Pixel → My Audiences · правила по URL + JS-события · авто-«All Website Visits» | exclude-аудитория в кампании | до минимального масштаба (гейт «No Scale», порог не публикуется) |
Компонент 04 · один пульт
Шесть сетей, один пульт — через их API рекламодателя
Кампании, ставки, бюджеты и статистика управляются программно во всех сетях. Там, где сеть держит создание аудиторий только в кабинете, этот шаг делается один раз на клиента руками — таблица честно показывает, где как.
| Сеть | API | Аудитории через API | Особенности доступа |
|---|---|---|---|
| PropellerAds | SSP API v5 · Swagger/OAS3 | подключать к кампаниям — да; создавать — только кабинет | открывается от $1 000 суммарного спенда/депозита |
| ExoClick | Public API v2 · REST | да — аудитории живут как Conversion Goals, полностью через API | токен самовыдаётся в кабинете; «automate every single feature» |
| TrafficStars | REST · api.trafficstars.com/v1 | да — полный CRUD ретаргетинг-коллекций | OAuth2 bearer, ключ со страницы профиля |
| Kadam | API v1 · partners.kadam.net | да — эндпоинты pixel-, stat- и S2S-аудиторий | bearer-токен из кабинета; опубликован OpenAPI-спек |
| MGID | REST · api.mgid.com/v1 | в API не документированы — по докам только кабинет; кампании/статистика через API | 32-символьный токен; аккаунт — после KYC/KYB |
| Taboola | Backstage API · OAuth2 | pixel-аудитории: создание + таргетинг через API; CRM/lookalike: создание — только UI, таргетинг — через API | кредентиалы выдаёт account manager — managed-отношения |
Минусовые сети выключаются из того же пульта — настройка по каждому клиенту отдельно, обратима и не требует правок на вашей стороне.
Компонент 05 · замыкание петли
Постбэк-роутер: каждая сеть слышит о конверсии на своём языке
Вернувшийся конвертится → ваше событие приходит с visitor-id → журнал находит, чей клик стал касанием → роутер шлёт этой сети её S2S-постбэк с её сохранённым click-id. Контракт спроектирован идемпотентным, с ретраями.
| Сеть | Формат постбэка (из их доков) |
|---|---|
| PropellerAds | conversion.php · goal=2 деп / goal=3 редеп |
| ExoClick | s.magsrv.com/tag.php · goal + tag + value |
| TrafficStars | cpa/action · clickid + lead_code (reg/dep) |
| Kadam | kdtrk.net/ru/postback · data={subid} (click_id из URL лендинга) |
| MGID | S2S postback · {click_id} · до 3 целей |
| Taboola | postback URL · click_id |
Зачем роутить по сетям
Потому что именно это делает дожим дешевле со временем. Конверсионный биддинг каждой сети — CPA Goal у Propeller, Smart Bid у Exo, CPA Tune у MGID и их аналоги — оптимизируется под события, которые получает. Кормите его реальными депозитами — он ищет депозитчиков; оставьте голодным — оптимизируется под клики. Роутер передаёт и уровень цели (регистрация или депозит) там, где сеть поддерживает мультицелевые постбэки: goal-уровни Propeller, Conversion Goals у ExoClick, lead_code у TrafficStars, три цели MGID.
Одно ваше событие уходит ровно одной сети — сети касания. Без даблкаунта и без приписывания сети чужого возврата.
Всё вместе
Жизнь одного клика
День 0 — клик, за который вы уже заплатили
Юзер попадает на лендинг. Контейнер стреляет тегами включённых сетей — посетитель ложится сразу в шесть аудиторий — и пишет клик в журнал со свежим visitor-id.
День 0 — сконвертился сам?
Если да — тег на thank-you помечает его конвертером, событие reg/dep подтверждает — он исключается из дожима везде. Если нет — остаётся в пуле.
День 5 — когорта дозревает
Регистрации в окне не случилось. Сегментатор помечает бакет; пульт включает на него кампании в тех сетях, где прогрев и допуски уже пройдены.
День 6 — касание
Поп, пуш или натив находит юзера внутри сети. Клик обратно на ваш лендинг несёт click-id сети; журнал сохраняет его к visitor-id.
День 7 — возврат конвертится
Регистрация, затем депозит. Ваши два S2S-события приходят с visitor-id — журнал фиксирует подтверждённый возврат, не оценочный.
День 7 — петля замыкается
Роутер шлёт постбэк сети касания в её формате. Её биддинг учится; конвертер уходит из всех шести аудиторий; в отчёте экономики — ещё один подтверждённый депозит.
Границы данных
Приватность: что куда уходит — и что не может уйти
Односторонность по построению
Контейнер отправляет анонимные идентификаторы в аудитории сетей и пишет технические данные клика в наш журнал. Обратного пути нет: ни мы, ни кто-либо ещё не может выгрузить список юзеров из сети — сети просто не отдают аудитории на экспорт.
Ни одного персонального поля в петле
Журнал хранит visitor-id, click-id, sub-id, источник, девайс и два факта-события. Имена, e-mail, телефоны, платёжные данные в пайплайн не попадают — в контракте S2S для них нет полей.
Ваша база остаётся вашей
Мы не получаем вашу базу. Вы шлёте два анонимных типа событий с нашим visitor-id; ваш CRM, карточки игроков и платёжные данные целиком остаются у вас.
Тот же класс инструмента, что ваши пиксели
Технически контейнер эквивалентен прямой установке тегов самих сетей — тот же класс инструмента, что Meta Pixel. Тот consent-флоу, что уже стоит на ваших страницах для рекламных пикселей, обычно закрывает и его — стоит подтвердить со своим комплаенсом.
Честная инженерия
Что деградирует — и насколько мягко
События не подключены
Машина всё равно собирает и крутит кампании — но окна слепнут, конвертеры остаются в аудиториях, постбэки молчат, и сети не учатся. Это слепой режим; пресет Web2app в демо проигрывает его целиком.
Блокировщики и cookie-лимиты
Часть посетителей в аудитории не попадает: блокировщики, cookie-ограничения Safari/iOS. Эта доля недостижима, и мы так её и считаем — поэтому модель в демо честно берёт лишь часть мёртвого трафика как достижимую. Fingerprint-режим Kadam частично компенсирует это на её инвентаре.
Сеть уходит в минус
Экономика видна по каждой сети; минусовая выключается из пульта. Аудитория при этом продолжает копиться — включение обратно стартует с тёплой базы, а не с нуля.
А если упадёт сам контейнер?
С вашими страницами — ничего: скрипт асинхронный и неблокирующий, худший случай — пауза в сборе, но никогда не сломанный лендинг. Постбэки и события спроектированы как очередь с ретраями: сбой откладывает подтверждения, а не теряет их.
Чеклист интеграции
Всё, что нужно от вас
-
Одна строка кода на лендинги и страницы подтверждения — напрямую или через GTM; ~10 минут вместе с выкаткой
-
Два S2S-события reg и dep с нашим visitor-id — около часа работы бэкендера по контракту выше
-
Документы лицензий там, где гейты только для iGaming: Kadam просит доки до запуска, ExoClick — пре-аппрув гемблинга, MGID может запросить дополнительные документы — демо показывает гейты по каждой сети
Кабинеты сетей, бюджеты, крео, кампании, отчётность — наша сторона.
Посмотрите, как это движется, — и обсудим цифры
Живое демо даёт покрутить каждый сценарий с этой страницы; аудит сетей подтверждает каждое утверждение в таблицах.