WinUpGo
Поиск
CASWINO
SKYSLOTS
BRAMA
TETHERPAY
777 FREE SPINS + 300%
Криптовалютное казино Крипто-казино Torrent Gear – ваш универсальный торрент-поиск! Torrent Gear

Как работает S2S-трекинг и постбеки

1) Что такое S2S и зачем он нужен

S2S (server-to-server) трекинг — это обмен событиями между серверами источника трафика (ваш редиректор/трекер/сеть) и серверами оператора (казино), без зависимости от браузерных куки и блокировок.

Постбек — исходящий HTTP-запрос с событием (reg/KYC/FTD/2nd_dep/…) из бэкенда отправителя на URL получателя.

Преимущества:
  • Данные не теряются из-за adblock/ITP/приватных режимов.
  • Повышается точность атрибуции и качество биллинга.
  • Можно безопасно передавать сумму/валюту и служебные флаги.

2) Базовая цепочка и роли

1. Клик: пользователь нажимает на рекламу → ваш редиректор создаёт `click_id` и логирует параметры (utm, geo, device, sub_id).

2. Редирект: пользователь уходит на лэндинг оператора, `click_id` проброшен в URL или зашифрован.

3. Регистрация/KYC/депозиты происходят у оператора.

4. Постбеки: сервер оператора отправляет в ваш трекер события `registration`, `kyc_approved`, `deposit_success` и т. д., привязывая их к исходному `click_id`.

5. BI/Отчётность: вы агрегируете события по разрезам UTM/креатив/geo/device, считаете CPA/ROAS/LTV.

Текстовая схема:

Ad → Click → [Ваш редиректор: генерирует click_id] → LP/App → (Рег/КYC/FTD на стороне оператора)
↑             │
└──────── Postback (S2S) ─┘

3) Идентификаторы и связь событий

click_id (обяз.) — уникальный ID первого касания; ключ атрибуции.

event_id (желат.) — уникальный ID каждого события (для идемпотентности).

user_id / account_id (опц.) — ID игрока на стороне оператора (передаётся только в S2S).

session_id (опц.) — для разборов UX/скорости.

aff_sub / campaign / creative_id — разрезы для аналитики.

Правило: click_id создаётся у вас; оператор на своей стороне хранит маппинг `click_id ↔ user/account`.


4) Поля событий: минимальный состав

4.1. Registration

json
{
"event": "registration",  "event_id": "reg_8f9...",  "click_id": "clk_123...",  "account_id": "u_456...",  "geo": "BR",  "device": "android",  "ts_event": "2025-10-21T14:54:12Z",  "ip": "203.0.113.7",  "ua": "Mozilla/5.0",  "signature": "hmac_sha256(payload)"
}

4.2. KYC Approved

json
{
"event": "kyc_approved",  "event_id": "kyc_b21...",  "click_id": "clk_123...",  "account_id": "u_456...",  "ts_event": "2025-10-21T15:10:05Z",  "kyc_level": "basic    full",  "signature": "..."
}

4.3. Deposit (FTD/Repeat)

json
{
"event": "deposit_success",  "event_id": "dep_9aa...",  "click_id": "clk_123...",  "account_id": "u_456...",  "amount": 100.00,  "currency": "USD",  "is_ftd": true,  "payment_method": "card    pix    crypto    wallet",  "ts_event": "2025-10-21T15:12:31Z",  "signature": "..."
}

Обязательные поля: `event`, `event_id`, `click_id`, `ts_event` (UTC), `signature`.

Денежные поля всегда вместе с `currency` (ISO-4217) и как числа, не строки.


5) Безопасность: подписи и доступ

Подпись (HMAC-SHA256): `signature = HMAC(secret, canonical_payload)`; канонизируйте порядок полей → стабильная проверка.

Короткоживущие токены (JWT/opaque) на уровне авторизации: TTL 5–15 минут.

Идемпотентность: повторный POST с одинаковым `event_id` должен давать `200 OK` без дубля.

IP allow-list и mTLS (по возможности) на проде.

Rate limiting: защитите endpoint от «бурстов» и ботов.

Запрет HTTP-редиректов с постбек-эндпойнта; только прямые ответы.


6) Надёжность: ретраи, очереди и порядок

Очередь (Kafka/RabbitMQ/SQS) между приёмом события и обработкой отчётов — чтобы не терять данные при пиках.

Ретраи с экспоненциальной паузой и backoff-джиттером; лимит попыток и DLQ (dead-letter queue).

Порядок не обязателен, но желательно иметь `ts_event` для сортировки в BI.

Логи запрос/ответ (без чувствительных данных), корреляция по `event_id`.


7) Временные зоны, валюта и консистентность

Все метки времени в UTC (`2025-10-21T15:12:31Z`).

В отчётах указывайте timezone проекта, но храните события в UTC.

Суммы храните в валюте транзакции и дублируйте в валюте отчёта через надёжный курс (дата-time-based FX).


8) Дедупликация и бизнес-правила

Идемпотентность по event_id: повтор → «уже обработано».

Дедупликация по (click_id + тип события + ts-окно) как запасной механизм.

Правила валидности FTD: минимальный депозит, без бонусных «нулевых» пополнений; фиксируйте в договоре.

Chargeback/Refund — отдельные события «отрицательного дохода» для честного NGR.


9) Конфиденциальность и комплаенс

Не передавайте PII в URL и фронт; S2S — место для чувствительных полей.

Храните consent/согласия (analytics/ads) и версионируйте их.

Минимизируйте поля: только то, что нужно для атрибуции и биллинга.

Регулярно ревизуйте retention-политики логов.


10) Web2App и мобайл-реалии

Для приложений связывайте `click_id` ↔ `install_id` на стороне MMP/SDK.

Когда нет детерминированного ID (iOS приватность) — используйте вероятностный матч + серверные правила, а S2S остаётся «истиной» для биллинга.


11) Мониторинг и SLA

Метрики:
  • Успешные/ошибочные постбеки (%/мин), p95 latency, доля ретраев, доля дубликатов.
  • Расхождение событий между сторонами (оператор vs трекер) по суткам.
  • Задержка доставки (ingestion lag) и «провалы» по часам.
SLA (пример):
  • Доступность приёма постбеков ≥ 99.5%/мес.
  • Средняя задержка до записи в DWH ≤ 60 сек; p95 ответа API ≤ 500 мс.
  • Рассинхрон данных > 3% → обязательная сверка сырых логов в течение 5 рабочих дней.

12) Чек-листы

12.1. Тех-чек перед запуском

  • Редиректор с генерацией click_id и логами.
  • Эндпойнт постбеков: TLS, HMAC, JWT, IP allow-list, idempotency.
  • Схемы payload’ов и канонический порядок полей задокументированы.
  • Очереди + DLQ, ретраи, алерты по ошибкам/задержкам.
  • UTC-время, ISO-валюта, правила FTD/Refund/Chargeback.
  • Прогоны в sandbox с фиксацией эталонных логов.

12.2. Операционный чек (каждую неделю)

  • Сверка «оператор ↔ трекер» по объёму событий и суммам.
  • Анализ дубликатов и «потерянных» событий; аудит ретраев.
  • Проверка ключей/токенов, сроков жизни и ротации.
  • Просмотр инцидентов и корректировки правил.

13) Частые ошибки и как их избежать

1. Нет idempotency → дубли FTD при ретраях. → Вводите `event_id` и хранилище «seen».

2. Разные часовые пояса → «поплыли» D0/D1. → Всегда UTC в журнале событий.

3. Строковые суммы/запятая → ошибки парсинга. → Передавайте числа с точкой и ISO-валюту.

4. Подпись по «сырому» JSON → ломается от порядка ключей. → Делайте канонизацию.

5. Нет DLQ/ретраев → потеря событий при микросбоях. → Очередь + backoff + алерты.

6. Слабая аутентификация → фальшивые постбеки. → HMAC+JWT+mTLS/IP-лист.

7. Отсутствие правил FTD → споры по биллингу. → Закрепите определения в договоре.


14) Примеры запросов и ответов

14.1. POST /postback (оператор → трекер)


POST /postback HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJhbGciOi...
X-Signature: sha256=ab12...

{ "event":"deposit_success","event_id":"dep_9aa",  "click_id":"clk_123","account_id":"u_456",  "amount":100.00,"currency":"USD","is_ftd":true,  "ts_event":"2025-10-21T15:12:31Z" }
Ответ:

200 OK
{ "status":"ok", "idempotent": false }
Повторная отправка с тем же `event_id`:

200 OK
{ "status":"ok", "idempotent": true }

14.2. Ошибка подписи


403 Forbidden
{ "error":"signature_invalid", "hint":"check canonical order" }

15) Инциденты и разборы

Симптом: у оператора FTD=120, у вас — 117.

План:

1. Сверка диапазона времени (UTC) и валют.

2. Выгрузка сырых логов по `event_id`/`click_id`.

3. Поиск отклонённых из-за подписи/TTL токена/идемпотентности.

4. Допоставка «застрявших» событий из DLQ, акты-сверки.


16) 30-60-90 план внедрения

0–30 дней — MVP контура

Запустить редиректор с `click_id` и логами.

Реализовать приём постбеков: HMAC, JWT, idempotency, очереди, DLQ, алерты.

Поднять sandbox, прогнать сквозной сценарий reg/FTD с тестовыми суммами.

Задокументировать схемы и канонизацию полей.

31–60 дней — Качество и масштаб

Включить денежные события и двухвалютный учёт (txn & report).

Настроить мониторинг p95 latency, расхождений и ретраев.

Подписать SLA/процедуры инцидентов; добавить chargeback/refund события.

В BI собрать витрины: когорты FTD, Payback, D7/D30 ARPU.

61–90 дней — Устойчивость и аудит

Ввести ротацию секретов/сертификатов, тесты отказоустойчивости.

Провести нагрузочные тесты и «аварийные учения» (выпадение очереди/БД).

Формализовать плейбуки сверки и ежеквартальный аудит схем/правил FTD.


17) Итог

S2S-трекинг — это «хребет» честной атрибуции и биллинга: click_id как первичный ключ, защищённые постбеки, идемпотентность, ретраи и строгая гигиена времени/валют. Добавьте к этому прозрачные правила валидности FTD, chargeback-события и зрелый мониторинг — и вы получите надёжную систему, где каждая конверсия подтверждается сервером и сходится в отчётах до цента.

× Поиск по играм
Введите минимум 3 символа, чтобы начать поиск.