S2S tracking — это способ передавать conversion events напрямую между серверами, а postback — server-to-server уведомление о том, что связанное с определённым click событие произошло.
В iGaming postback позволяет affiliate узнать не только о переходе пользователя, но и о более глубоких событиях:
Registration
First Deposit / FTD
Qualification
Disqualification
Deposit
NGR
если конкретная affiliate platform/operator предоставляет такие events.
Например, iGaming affiliate platform Affilka указывает поддержку S2S postbacks для registration, first deposit, qualification, prequalification, disqualification и NGR, а также передачу custom parameters вроде собственных clickID или webID.
Базовая цепочка выглядит так:
Ad / SEO / CRM
↓
Affiliate Tracker
создаёт Click ID
↓
Affiliate Link
передаёт ID operator/programme
↓
Operator
сохраняет связь с player
↓
Registration / FTD / Qualification
↓
Affiliate Platform
отправляет postback
↓
Affiliate Tracker / BI
находит исходный click
↓
Campaign / Creative / Keyword получает conversion
Именно эта техническая цепочка позволяет перейти от:
«у нас вчера было 100 FTD»
к:
«эти 100 FTD создали конкретные GEO, campaigns, creatives, keywords и landing pages».
Коротко: как работает S2S postback
Упрощённый процесс состоит из пяти шагов.
- Пользователь нажимает affiliate/ad link.
- Tracking system создаёт уникальный Click ID.
- Click ID передаётся дальше и сохраняется вместе с referral.
- Пользователь позднее создаёт conversion — например FTD.
- Система operator/affiliate platform отправляет Click ID обратно через postback, и tracker связывает conversion с исходным click.
Everflow описывает аналогичную модель: click получает Transaction ID, а когда conversion происходит, advertiser server отправляет server-to-server call с этим ID, позволяя восстановить связь с исходным partner и offer.
Зачем S2S tracking нужен iGaming affiliate
Основная проблема affiliate заключается в том, что conversion происходит не там, где был первоначальный click.
Например:
Meta
↓
Affiliate Landing
↓
Casino Operator
↓
Registration
↓
KYC
↓
FTD
Affiliate контролирует первые stages.
Operator — последние.
Без технической связи между ними affiliate знает:
- сколько потратил;
- сколько получил clicks;
но не знает, какие именно clicks стали FTD.
Что невозможно нормально оптимизировать без postback
Без click-level conversion data сложно уверенно сравнивать:
- campaigns;
- keywords;
- creatives;
- placements;
- landing pages;
- devices;
- operators;
- GEO;
- dayparts.
Можно видеть aggregate:
Operator A дал 200 FTD.
Но нельзя понять:
Campaign 17 → Creative 5 → Landing B дала 130 из них.
В результате optimisation происходит практически вслепую.
Базовая tracking architecture
Типичный iGaming affiliate stack:
Traffic Source
Google Ads
Meta
TikTok
SEO
CRM
↓
Tracker
создаёт внутренний Click ID
↓
Affiliate Landing
↓
Affiliate Link
передаёт identifiers
↓
Affiliate Platform
↓
Operator / PAM
↓
Registration / FTD / Qualification
↓
Postback / API
↓
Tracker
↓
BI / Reporting
↓
Ad Platform Feedback
при наличии допустимой integration.
S2S tracking и postback — это одно и то же?
Термины часто используются как синонимы, но технически не полностью совпадают.
S2S tracking
Более широкое понятие.
Означает передачу tracking/conversion information непосредственно между servers.
Postback
Конкретный callback/HTTP request, который одна система отправляет другой после event.
То есть:
postback является одним из механизмов S2S tracking.
Кроме него server-side data может передаваться через:
- API;
- batch files;
- scheduled feeds;
- data warehouse integration.
Два направления S2S, которые часто путают
В affiliate ecosystem существует минимум два разных server-to-server flows.
Flow A: Operator → Affiliate Platform
Operator сообщает affiliate platform:
этот referral зарегистрировался или сделал deposit.
Flow B: Affiliate Platform → Affiliate Tracker
Affiliate platform сообщает media buyer:
ваш click получил conversion.
В некоторых системах обе части находятся внутри одной infrastructure.
В других это две отдельные integrations.
Postback не создаёт attribution сам по себе
Это критически важно.
Postback обычно сообщает результат уже выполненной attribution.
Например:
operator/programme решил:
Player 847 относится к Affiliate 21 и Click ID abc123.
После этого отправляется event.
То есть postback отвечает прежде всего на вопрос:
что произошло с уже связанным referral?
А правила:
- кто получает credit;
- какое attribution window;
- last-click или другая логика;
- что делать с несколькими affiliates;
задаются отдельно.
Подробнее: Атрибуция в iGaming: last click, attribution window и проблема потерянных конверсий.
Click ID — основа click-level tracking
Click ID — уникальный identifier конкретного tracked click или click session.
Пример:
7f2e95a8c19847b591...
Его задача:
Click ID ↔ Conversion
Если один user click позднее приводит к FTD, система должна вернуть тот же identifier.
Everflow, например, различает Transaction ID — идентификатор click session — и отдельный Conversion ID для конкретного conversion event.
Почему Click ID должен быть уникальным
Если два разных clicks имеют одинаковый ID:
tracker не сможет надёжно определить:
- какой campaign принадлежит conversion;
- какой creative;
- какой timestamp;
- какой source.
Поэтому Click ID обычно генерируется как уникальный high-cardinality value.
Transaction ID
Transaction ID — название click identifier, используемое некоторыми tracking platforms.
Например, Everflow называет уникальный click identifier transaction_id.
В другой системе он может называться:
- clickid;
- click_id;
- transaction_id;
- visitor_id;
- tracking_id.
Не название важно.
Важна функция:
стабильно связать исходный click с будущей conversion.
Conversion ID
Conversion ID — уникальный identifier конкретного conversion event.
Это не то же самое, что Click ID.
Один click потенциально способен иметь несколько событий:
Registration
↓
FTD
↓
Repeat Deposit
↓
Qualification
Если использовать один Click ID как deduplication key для всех событий, можно случайно потерять дополнительные conversions.
Everflow отдельно предупреждает об этом различии: Transaction ID представляет click, Conversion ID — отдельное conversion/event.
Click ID vs Conversion ID
| Identifier |
Что идентифицирует |
| Click ID / Transaction ID |
исходный click/session |
| Conversion ID / Action ID |
конкретный event |
| Player ID |
пользователя у operator |
| Order/Transaction ID |
коммерческую транзакцию |
| SubID |
affiliate-defined segmentation |
Один identifier не следует бездумно использовать вместо другого.
Что такое SubID
SubID — custom tracking parameter, который affiliate добавляет в tracking link для собственной аналитики.
Например:
sub1=google
sub2=campaign_17
sub3=creative_05
Affiliate platform сохраняет эти значения и может вернуть их в report или postback.
Click ID и SubID — не одно и то же
Это одна из самых частых терминологических ошибок.
Click ID
обычно уникален для каждого click.
SubID
может быть:
- campaign label;
- source;
- keyword;
- placement;
- unique click identifier.
То есть SubID — контейнер/parameter slot, а не обязательно click ID.
Хорошая SubID architecture
Пример:
| Parameter |
Значение |
| sub1 |
source |
| sub2 |
campaign |
| sub3 |
adset / keyword group |
| sub4 |
creative |
| sub5 |
landing |
| sub6 |
internal click ID |
Если affiliate programme поддерживает ограниченное количество slots, schema должна быть стабильной.
Everflow в 2026 расширил свои Sub ID slots с 1–5 до 1–10 в соответствующей partner postback functionality, что хорошо иллюстрирует роль дополнительных tracking dimensions.
Почему нельзя менять значение SubID на ходу
Если сегодня:
sub1 = source
а через месяц:
sub1 = creative,
historical reports становятся трудно интерпретируемыми.
Поэтому нужна собственная:
Tracking Parameter Dictionary.
Например:
sub1_source
sub2_campaign
sub3_creative
и documented mapping.
Custom dynamic parameters в iGaming
iGaming affiliate platforms могут хранить affiliate-defined parameters вместе с player attribution.
Affilka, например, позволяет operator принимать custom dynamic parameters вроде clickID и webID, сохранять их как attributes и возвращать в reports/postbacks.
Это именно тот механизм, который позволяет affiliate связать:
собственную media-buying data
с:
operator event data.
Как Click ID проходит через funnel
Пример:
Media buyer создаёт:
click_id = A123
Пользователь нажимает ad.
Tracker записывает:
A123 → Meta / Campaign 44 / Creative 8
Дальше affiliate link отправляет operator:
subid=A123
Operator сохраняет:
Player 9867 → A123
Когда происходит FTD:
affiliate platform отправляет:
click_id=A123
Tracker находит исходную запись и присваивает FTD:
Meta / Campaign 44 / Creative 8
Пример tracking link
Концептуально:
https://operator.example/affiliate?
affiliate_id=482
&subid=A123
В реальности названия parameters зависят от affiliate platform.
Нельзя предполагать, что любой operator использует subid.
Это может быть:
clickid
s1
sub1
click_id
aff_sub
или другой parameter.
Redirect tracking
Один распространённый pattern:
Ad
↓
Tracker Redirect URL
↓
tracker создаёт ID
↓
Landing / Operator
Identifier передаётся в URL.
Everflow описывает redirect linking как вариант, где Transaction ID появляется непосредственно в destination URL и может быть сохранён backend системой.
Direct-link tracking
При direct-link architecture пользователь может попадать прямо на landing без отдельного tracking redirect.
Тогда click/session identifier может создаваться client/server-side другим способом.
Например, Everflow отмечает, что в его direct-link flow identifier может первоначально храниться в first-party cookie и затем должен быть сохранён backend для дальнейшего S2S conversion tracking.
S2S не означает «никаких cookies»
Это важное уточнение.
Сам postback не зависит от browser cookie в момент conversion.
Но первоначальный click identifier всё равно необходимо:
- создать;
- передать;
- сохранить.
В некоторых implementations для этого используется:
- URL parameter;
- first-party cookie;
- server session;
- authenticated user record;
- комбинация механизмов.
Поэтому утверждение:
«S2S полностью cookie-less»
слишком упрощённое.
Корректнее:
server-to-server conversion delivery не требует browser-side pixel/cookie в момент отправки postback, но upstream attribution может использовать browser identifiers.
Pixel tracking
Pixel tracking — client-side фиксация conversion через browser.
Обычно на confirmation page выполняется:
- image request;
- JavaScript;
- tracking tag.
Он сообщает:
page/event был открыт в этом browser.
Почему pixel tracking более уязвим
Client-side tracking зависит от:
- browser;
- page load;
- JavaScript;
- ad blockers;
- cookie availability;
- пользовательского поведения.
Impact, например, отмечает, что piggyback pixel зависит от matching cookie и может не сработать, если пользователь покинул confirmation page до загрузки pixel; компания рекомендует postback URL как более надёжный вариант для conversion tracking.
S2S vs Pixel
| Параметр |
S2S Postback |
Browser Pixel |
| Где отправляется event |
server |
browser |
| Нужна загрузка confirmation page |
нет |
обычно да |
| Зависимость от JavaScript |
нет |
часто да |
| Browser blockers |
меньше влияния |
могут влиять |
| Click identifier |
должен быть сохранён backend |
часто cookie/browser |
| Deep operator events |
удобно |
часто сложно |
| Security control |
server-side |
browser-visible |
| Integration complexity |
выше |
ниже |
S2S не является автоматически «идеальным»
Server-side tracking тоже способен ломаться.
Например:
- Click ID не передался;
- operator не сохранил parameter;
- postback URL неправильный;
- event mapping ошибочный;
- endpoint вернул 500;
- duplicate event записан дважды;
- conversion status не обновился;
- currency интерпретирована неправильно.
S2S уменьшает один класс ошибок — browser-side loss.
Но создаёт собственную integration complexity.
Что такое postback URL
Postback URL — endpoint affiliate/tracker, который affiliate platform вызывает при наступлении event.
Концептуальный пример:
https://tracker.example.com/postback?
click_id={click_id}
&event={event}
&conversion_id={conversion_id}
Curly-brace macros заменяются реальными значениями в момент event.
Пример FTD postback
https://tracker.example.com/postback?
click_id=A123
&event=ftd
&conversion_id=C987
&amount=100
¤cy=EUR
&status=approved
Tracker получает request и понимает:
A123 → FTD → €100 deposit → approved.
GET или POST?
Нет универсального стандарта для всех affiliate platforms.
Everflow в своём core S2S implementation требует HTTP GET для advertiser postbacks.
Impact позволяет в action lifecycle postbacks выбирать HTTP method и при POST передавать body, включая JSON.
Поэтому integration всегда должна начинаться с документации конкретной platform.
Нельзя предполагать:
«postback всегда GET»
или:
«postback всегда JSON POST».
Минимальный payload
Для базового affiliate tracking обычно достаточно:
Click ID
какому click принадлежит conversion.
Event
что произошло.
Event/Conversion ID
уникальный identifier события.
Timestamp
когда произошло.
Status
pending / approved / rejected.
Полезный расширенный payload
Дополнительно:
Affiliate ID
Offer ID
GEO
Currency
Deposit Amount
Payout
Revenue
NGR
Player Reference
Rejection Reason
Но передавать следует только те data, которые:
- действительно нужны;
- предусмотрены integration;
- разрешены contract/privacy requirements.
Какие events особенно важны для iGaming
Наиболее полезная event taxonomy:
Registration
создан account.
Verification / Prequalification
если programme предоставляет.
FTD
сделан первый deposit.
Qualified FTD
conversion соответствует commercial criteria.
Disqualification
ранее зафиксированная conversion стала ineligible.
Deposit
repeat deposit, если доступно.
NGR
revenue event для RevShare analytics.
Affilka прямо поддерживает ряд таких postback event types, включая registration, first deposit, qualification, prequalification, disqualification и NGR.
Почему Registration и FTD должны быть разными events
Если tracker получает только:
conversion
он не знает:
это:
- регистрация;
- deposit;
- qualified deposit?
Лучше:
registration
ftd
qualified_ftd
как отдельные event types.
Это позволяет строить funnel:
Click → Reg → FTD → Qualified.
Event naming convention
Например:
registration
identity_verified
ftd_raw
ftd_qualified
ftd_rejected
deposit
ngr_update
Главное:
одинаковые business events должны иметь одинаковые internal names независимо от operator.
Operator event mapping
Operator A может присылать:
FIRST_DEPOSIT
Operator B:
FTD
Operator C:
NEW_DEPOSITOR
Внутренний BI должен normalise их в:
raw_ftd.
Это называется event normalization.
Canonical Event Dictionary
Рекомендуемая таблица:
| Canonical Event |
Operator A |
Operator B |
Operator C |
| Registration |
SIGNUP |
REG |
PLAYER_CREATED |
| Raw FTD |
FIRST_DEPOSIT |
FTD |
NEW_DEPOSITOR |
| Qualified |
APPROVED |
QFTD |
VALID_PLAYER |
| Rejected |
INVALID |
DECLINED |
DISQUALIFIED |
Так downstream analytics не зависит от terminology конкретной platform.
Status важнее самого event
FTD может существовать в нескольких states:
Pending
↓
Approved
или:
Rejected
Если tracker считает любой первоначальный FTD final conversion:
revenue будет завышена.
Conversion lifecycle
Рабочая model:
Reported
↓
Pending
↓
Approved
или:
Rejected / Reversed
Некоторые partner platforms отдельно поддерживают modifications и reversals.
Impact, например, может отправлять lifecycle postbacks при создании, изменении или reversal action.
Почему reversals нужно обрабатывать
Представим:
Day 1:
FTD approved.
Tracker записал:
Revenue = $200.
Day 7:
operator определил invalid conversion.
Если reversal не приходит или не обрабатывается:
BI продолжает показывать $200, которых business не получит.
Revenue must be mutable
Conversion record не должен быть immutable boolean:
converted = true.
Лучше:
conversion_id
event_type
status
revenue
updated_at
Тогда:
Pending → Approved
или:
Approved → Reversed
обновляет одну business entity.
Modification и reversal — нормальная часть affiliate lifecycle
Impact поддерживает modification и reversal actions до locking point, в том числе изменение amount и payout-related information.
Это показывает важный принцип:
conversion data может изменяться после первоначального postback.
Поэтому tracking architecture должна поддерживать updates.
Deduplication
Deduplication — предотвращение повторной записи одного и того же conversion event как нескольких conversions.
Типичная причина:
postback был отправлен дважды.
Без dedupe:
1 FTD
превращается в:
2 FTD.
Какой identifier использовать для deduplication
Лучший candidate:
уникальный Event/Conversion ID.
Не всегда Click ID.
Почему?
Один Click ID может легитимно создать:
- registration;
- FTD;
- deposit;
- NGR event.
Everflow отдельно различает Click Transaction ID и Conversion ID именно по этой причине.
Пример dedupe key
Например:
unique(event_source, conversion_id)
или:
unique(click_id, event_type, external_event_id)
Конкретная schema зависит от platform.
Почему нельзя dedupe только по Click ID
Один click:
A123
может создать:
Registration
FTD
Qualified FTD.
Если после первого event database помечает:
A123 уже processed,
все последующие events могут быть потеряны.
Idempotency
Idempotency означает, что повторная обработка одного и того же event не должна создавать дополнительный business result.
Например:
один postback пришёл три раза.
После обработки database всё равно содержит:
один FTD.
Для финансового tracking это фундаментально.
Design for duplicates
Даже если provider обещает надёжную delivery, разумная receiver architecture должна безопасно переживать повторные requests.
Это особенно важно при:
- retries;
- network timeouts;
- lifecycle updates;
- manual replays.
Postback security
Публичный endpoint вроде:
/postback
теоретически может получать requests не только от настоящей affiliate platform.
Поэтому нужно проверять authenticity.
Security token
Простой вариант:
?token=long_random_secret
Receiver проверяет secret до обработки event.
Impact troubleshooting documentation прямо отмечает, что postback endpoints нередко используют security token/value для контроля доступа.
Почему query-string secret не идеален
Query parameters могут оказаться в:
- access logs;
- proxy logs;
- monitoring tools.
Если provider поддерживает более сильные механизмы, предпочтительнее рассмотреть:
- authorization header;
- signed request;
- HMAC;
- IP allowlisting;
- комбинацию controls.
Конкретная возможность зависит от platform.
IP allowlisting
Некоторые providers публикуют ranges серверов, с которых отправляются postbacks.
Impact, например, рекомендует whitelist своих postback IP ranges, чтобы legitimate requests не блокировались receiver infrastructure.
IP allowlist полезен как дополнительный layer, но architecture не следует строить на предположении, что любой provider его поддерживает.
HTTPS
Postback endpoint должен использовать secure transport.
Особенно если payload содержит:
- revenue;
- transaction IDs;
- identifiers.
Даже если там нет напрямую PII.
Не передавайте лишние персональные данные
Для attribution часто достаточно:
- click ID;
- event ID;
- event type;
- value.
Обычно нет необходимости возвращать:
- email;
- full name;
- document data.
Data minimisation упрощает:
- security;
- privacy;
- compliance.
S2S не отменяет privacy requirements
Очень распространённая ошибка:
«Мы передаём данные server-to-server, значит consent/privacy больше не важны».
Неверно.
Способ transport не определяет legal basis.
Если система передаёт user-provided data рекламной платформе или другому processor/controller, необходимо учитывать:
- applicable privacy law;
- platform terms;
- contract;
- consent/legal basis.
Google, например, в Data Manager documentation отдельно требует предоставлять пользователям ясную информацию о собираемых data и получать consent там, где это требуется law или policy.
Player ID в postback
Player identifier может быть полезен для:
- multiple events;
- cohort analysis;
- NGR aggregation.
Но лучше использовать:
operator-provided opaque reference
чем ненужные directly identifying values.
Click ID не должен содержать PII
Хороший Click ID:
случайный opaque identifier.
Плохой:
[email protected]_campaign4
Identifier должен помогать join data, а не дублировать customer identity.
Timestamp
Каждый event должен иметь event time.
Не только:
received_at
но желательно:
occurred_at.
Например:
FTD произошёл:
10:05.
Postback пришёл:
10:07.
Обе timestamps полезны.
Почему occurred_at и received_at различаются
Задержка может возникать из-за:
- processing;
- queue;
- batch delivery;
- retry.
Для attribution важнее event occurrence.
Для monitoring delivery — receive time.
Currency
Revenue/NGR/deposit data должна иметь:
amount + currency.
Число:
100
без валюты неоднозначно.
Это может быть:
$100
€100
£100.
Money храните в минимальных единицах или decimal-safe format
Для финансовой analytics следует избегать floating-point ошибок.
Например:
вместо binary float:
12.1000000003
использовать:
- integer cents;
- decimal numeric.
Это engineering recommendation, особенно важная для NGR/revenue streams.
Event amount ≠ affiliate revenue
FTD amount:
€100
не означает:
affiliate revenue = €100.
Payload должен различать:
deposit_amount
и:
affiliate_payout
и:
ngr
если доступны.
Revenue field
Для CPA event:
payout=180
может отражать affiliate commission.
Для RevShare:
ngr=500
и:
commission=150
— разные values.
Не смешивать их в одну generic amount.
Registration postback
Пример:
event=registration
click_id=A123
conversion_id=REG789
status=approved
occurred_at=...
Он позволяет считать:
Click → Registration CR.
FTD postback
event=ftd
click_id=A123
conversion_id=FTD456
deposit_amount=100
currency=EUR
status=pending
Qualification update
Позднее:
event=ftd
conversion_id=FTD456
status=approved
payout=180
Tracker должен update существующий FTD, а не создавать новый.
Rejection update
event=ftd
conversion_id=FTD456
status=rejected
reason=duplicate_player
Теперь:
Raw FTD остаётся в historical funnel.
Qualified FTD уменьшается.
Это правильная аналитическая model.
Почему не нужно удалять rejected conversion
Если просто удалить record:
вы теряете information:
- сколько Raw FTD было;
- почему падал approval;
- какие campaigns создают rejection.
Лучше сохранить:
status = rejected.
Event sourcing подход
Для больших systems полезно хранить историю:
FTD_REPORTED
FTD_APPROVED
FTD_REVERSED
а отдельно вычислять current state.
Это упрощает audit.
Но небольшому affiliate не обязательно сразу строить полноценную event-sourcing architecture.
Минимальная база данных небольшого affiliate
Три основные таблицы:
Clicks
click_id
source
campaign
creative
landing
timestamp
Conversions
conversion_id
click_id
event_type
status
value
timestamp
Revenue
conversion_id
commission
currency
Этого достаточно для первых серьёзных analyses.
Player-event table
Для RevShare полезно добавить:
player_ref
чтобы связывать:
Registration
FTD
Deposits
NGR.
Но только если programme предоставляет такой identifier и его использование допустимо.
S2S registration → FTD funnel
После implementation можно строить:
Click A123
↓
Registration
14:02
↓
FTD
14:19
↓
Approved
Day 3
Тогда доступны:
Time to Registration
Time to FTD
Time to Approval.
Postback latency
Postback Latency = received_at − occurred_at
Если обычно:
10 секунд,
а сегодня:
3 часа,
возможно:
- queue issue;
- provider incident;
- processing delay.
Это хороший operational KPI.
Delivery success rate
Можно измерять:
Successful Postback Requests / Total Attempts
со стороны sender.
На receiver:
Valid Processed Events / Received Requests.
Если sender data недоступна, хотя бы отслеживать:
- HTTP responses;
- parsing errors;
- rejected signatures;
- missing identifiers.
HTTP status codes
Endpoint должен отвечать предсказуемо.
Например:
2xx
event принят.
4xx
request invalid/auth failed.
5xx
temporary receiver failure.
Точная contract semantics зависит от sender.
Не возвращайте 200 до фактической validation бездумно
Если endpoint всегда отвечает:
200 OK
даже когда event невозможно обработать:
sender считает delivery успешной.
Data теряется.
Лучше сначала:
- validate;
- durable-store/queue;
и только потом подтверждать success.
Queue-based ingestion
При большом volume postback endpoint может:
- быстро проверить request;
- положить event в durable queue;
- вернуть success;
- обработать event asynchronously внутри собственной infrastructure.
Это снижает риск timeout.
Это уже engineering maturity layer, а не требование небольшому affiliate.
Retry logic
Если receiver временно недоступен, sender может повторить delivery — если platform поддерживает retries.
Но нельзя предполагать единую retry policy для всех providers.
Поэтому нужно знать:
- сколько retries;
- интервалы;
- timeout;
- есть ли manual replay.
Manual replay
Хорошая platform позволяет повторно отправить test/event либо восстановить missed events.
Impact имеет отдельные postback testing workflows, а также lifecycle postbacks и conversion data feeds.
Postback test должен быть end-to-end
Недостаточно проверить:
URL вернул 200.
Нужно проверить весь путь:
Test Click
↓
Click ID появился в tracker
↓
ID дошёл до affiliate programme
↓
Test Registration / Conversion
↓
Postback вернул тот же ID
↓
Tracker создал правильный event
↓
BI показал conversion в нужной campaign.
Golden test click
Для каждого operator полезно иметь документированный test:
Test Click ID
Time
Landing
Operator
Expected Event
Received Event
Result
После integration changes этот test повторяется.
Pre-launch tracking checklist
Click
Уникальный ID создаётся?
Forwarding
ID присутствует в affiliate link?
Operator
Parameter принимается?
Storage
Operator/programme его сохраняет?
Postback
Macro возвращает нужное значение?
Receiver
Endpoint принимает request?
Mapping
Event правильно classified?
Dedupe
Replay не создаёт duplicate?
Status
Approval/rejection updates обрабатываются?
Reporting
BI показывает правильную campaign?
Самая частая проблема: Click ID теряется
Типичная цепочка:
Tracker создаёт:
A123
Но landing redirect строит link без parameter.
Operator получает referral без A123.
FTD происходит.
Postback не может вернуть identifier.
В aggregate affiliate dashboard FTD существует.
В campaign tracker — нет.
Диагностика потерянного Click ID
Проверить по очереди:
- Click creation
ID появился?
- Landing URL
он дошёл до landing?
- Operator link
он добавлен в outgoing URL?
- Affiliate report
виден ли custom SubID?
- Postback
возвращается ли macro?
Это почти всегда быстрее, чем изучать весь stack одновременно.
Case sensitivity
Некоторые IDs/macros case-sensitive.
Impact troubleshooting docs отдельно предупреждают, что dynamic variables чувствительны к регистру.
То есть:
{SubId1}
и:
{subid1}
могут быть разными variables.
URL encoding
IDs и parameters должны корректно URL-encode.
Особенно если внутри value присутствуют:
- spaces;
- &;
- ?;
- non-ASCII characters.
Лучше избегать сложных characters в технических IDs.
Redirect parameter stripping
Иногда intermediate redirect:
- удаляет query parameters;
- меняет encoding;
- не передаёт unknown params.
Это распространённая причина потерянных SubIDs.
Поэтому каждый redirect hop нужно проверять.
Shorteners и tracking
URL shortener или third-party redirect добавляет ещё одну точку failure.
Если он не нужен:
не добавлять лишний hop.
Если нужен:
проверять preservation всех tracking params.
Multiple redirects
Цепочка:
Ad
→ Tracker
→ Prelander
→ Affiliate Redirect
→ Operator
может выглядеть нормально визуально и потерять click ID на третьем шаге.
Поэтому debugging должен логировать каждый hop.
Same ID through the chain
Идеальный debug output:
Tracker click_id: A123
Landing click_id: A123
Outgoing subid: A123
Affiliate report: A123
Postback click_id: A123
Если значение меняется на конкретном step:
failure найден.
Missing postback vs missing attribution
Это разные проблемы.
Missing Postback
Affiliate programme знает conversion и Click ID, но event не дошёл до tracker.
Missing Attribution
Programme/operator вообще не связал conversion с click.
В первом случае чинится delivery.
Во втором — attribution chain.
Как определить разницу
Если conversion существует в affiliate dashboard с правильным SubID:
attribution есть.
Если tracker её не получил:
postback problem.
Если conversion в affiliate dashboard без вашего SubID:
problem возник раньше.
Postback vs API
Postback:
push model.
System сама отправляет event при изменении.
API polling:
pull model.
Ваш system регулярно спрашивает:
появились новые conversions?
Плюсы postback
- near-real-time;
- меньше polling;
- быстрый feedback;
- event-driven architecture.
Income Access также описывает свой S2S Event Relay как механизм near-real-time event tracking для affiliates.
Плюсы API
API удобно использовать для:
- historical backfill;
- reconciliation;
- full reports;
- missed-event recovery;
- richer data.
Лучший architecture часто использует:
Postback for speed + API/report for reconciliation.
Postback vs scheduled data feed
Data feed:
- приходит batch;
- обычно медленнее;
- удобен для reconciliation.
Impact, например, позволяет partners получать conversion updates как через postbacks, так и через scheduled data feeds.
Postback не должен быть единственным финансовым source of truth
Причина:
- missed events;
- retries;
- reversals;
- configuration errors.
Финансовый reconciliation лучше периодически делать против:
official affiliate platform/operator report.
Daily reconciliation
Например:
Tracker:
Registration 500
FTD 100.
Operator:
Registration 505
FTD 103.
Difference:
Registration −1%.
FTD −2,9%.
Такой gap можно monitoring.
Reconciliation Rate
Формула:
Tracker Events / Operator Events × 100%
Например:
Tracker QFTD:
Operator:
1 000.
Reconciliation:
97%.
Missing:
3%.
Tracking Loss Rate
Можно считать:
1 − Tracker Events / Operator Events
В примере:
3%.
Но прежде чем назвать difference tracking loss, необходимо исключить:
- attribution timing;
- timezone;
- approval state;
- different definitions.
Почему timezone создаёт расхождения
Tracker может закрывать day в:
UTC.
Operator:
Europe/London.
Campaign BI:
America/New_York.
Conversion возле midnight попадёт в разные даты.
Поэтому reconciliation лучше делать по:
- conversion ID;
- timestamp;
а не только daily totals.
Currency reconciliation
Если operator report в EUR, а BI автоматически переводит в USD:
нужно хранить:
original amount
original currency
FX method/date
Иначе impossible точно объяснить revenue difference.
Attribution window
Даже идеальный postback не поможет, если conversion произошла вне attribution window programme.
Impact documentation показывает пример conversion rejection за пределами contractual referral window; конкретное окно зависит от terms.
Поэтому tracking и commercial agreement нельзя отделять.
Multiple clicks
Пользователь может:
- кликнуть Affiliate A;
- через неделю Affiliate B;
- сделать FTD.
Postback вернёт attribution outcome, который применил operator/programme.
Affiliate A не может просто «доказать свой первый click», если agreement использует другую model.
Это уже тема статьи №13.
Tracking attribution vs marketing attribution
Affiliate tracking attribution
определяет:
кто получает commission.
Marketing attribution
может анализировать:
какие touchpoints помогли conversion.
Это не обязательно одно и то же.
S2S и Google Ads conversion feedback
После получения QFTD affiliate может хотеть вернуть conversion signal в Google Ads.
Это уже второй S2S layer:
Operator → Affiliate Tracker
↓
Affiliate → Google Ads
В 2026 Google изменил infrastructure offline/deeper-funnel imports: с 15 июня новые offline conversion/enhanced-conversion uploads направляются в Data Manager API, а Google рекомендует Enhanced Conversions for Leads как основной современный workflow.
GCLID
GCLID — Google Click Identifier, который позволяет связать Google Ads click с последующей offline/deeper-funnel conversion.
Google рекомендует сохранять GCLID вместе с prospect/customer record и возвращать его при conversion import, когда он доступен.
Internal Click ID и GCLID — разные identifiers
Пример:
GCLID
идентифицирует Google Ads interaction.
Internal Click ID
идентифицирует click внутри собственного tracker.
Хорошая architecture связывает:
internal_click_id → gclid
а не пытается заменить один другим.
Multi-ID mapping
Click table может содержать:
internal_click_id
gclid
fbclid / platform identifiers where appropriate
affiliate_subid
session_id
Но собирать/передавать следует только identifiers, необходимые и допустимые для конкретной integration.
Google Ads изменения 2026
Google указывает, что с апреля 2026 Enhanced Conversions for web/leads были объединены в единую настройку, а с 15 июня offline conversion import uploads переводятся на Data Manager API для соответствующих новых workflows.
Это важно для iGaming affiliate, который строит собственный:
QFTD → ad platform feedback loop.
User-provided data
Google Enhanced Conversions может дополнительно использовать hashed first-party user-provided data вместе с click identifiers для measurement.
Но это не означает, что affiliate должен передавать operator customer data автоматически.
Нужно определить:
- имеет ли affiliate эти data;
- разрешает ли agreement их использовать;
- существует ли legal basis;
- соблюдаются ли Google data requirements.
Meta/TikTok server-side feedback
Аналогичный conceptual flow возможен и для других ad platforms, если их официальные integrations и applicable policies позволяют передавать соответствующие events.
Но implementation необходимо строить по documentation конкретной platform.
Нельзя брать Google GCLID workflow и механически применять его к Meta/TikTok.
Source of truth architecture
Полезно назначить owner каждой data category.
| Data |
Source of truth |
| Spend |
Ad Platform |
| Click |
Tracker |
| Landing |
Web Analytics / Tracker |
| Registration |
Operator |
| FTD |
Operator |
| Qualification |
Affiliate Platform / Operator |
| Commission |
Affiliate Platform / Finance |
| Paid Revenue |
Finance |
Так легче разрешать discrepancies.
Tracker не обязательно является source of truth для revenue
Tracker получает copy event.
Но final commission может измениться позже.
Поэтому:
Tracker = operational attribution system
Affiliate Platform/Finance = commercial truth
— часто более разумная модель.
Event provenance
Для каждого event полезно хранить:
source_system
Например:
affilka
income_access
operator_api
manual_reconciliation
Так понятно, откуда пришла information.
Raw payload logging
При debugging полезно временно хранить raw postback payload.
Это помогает понять:
- какой parameter отсутствует;
- какой macro пустой;
- какой status реально приходит.
Но raw logs могут содержать sensitive identifiers.
Поэтому нужны:
- retention rules;
- access control;
- masking.
Не логируйте секреты
Security token в access logs — распространённый risk.
Если token передаётся query parameter:
consider masking его в logs.
Observability
Для серьёзной S2S infrastructure полезны metrics:
Requests Received
2xx Rate
4xx Rate
5xx Rate
Unknown Click ID
Duplicate Event
Processing Latency
Postback Latency
Reconciliation Gap
Unknown Click ID rate
Формула:
Postbacks with Unknown Click ID / Total Postbacks
Если показатель резко растёт:
возможно:
- redirect потерял IDs;
- retention database очищена слишком рано;
- operator начал возвращать другой parameter.
Duplicate Event Rate
Duplicate Requests / Total Requests
Небольшое количество duplicates может быть нормально при retries.
Резкий рост может указывать на:
- sender bug;
- retry loop;
- receiver incorrectly returning errors.
Missing Identifier Rate
Часть postbacks может приходить без Click ID.
Полезно считать:
Events without attributable ID / All Events
Это отдельный KPI от Unknown ID.
Parse Error Rate
Например, system ожидает:
status=approved
а platform присылает:
status=APPROVED.
Case mismatch может ломать pipeline.
Поэтому event normalization должна быть explicit.
Alerting
Полезные alerts:
No FTD postbacks for 60 min
если volume обычно высокий.
Unknown Click ID > 5%
Reconciliation gap > threshold
5xx rate spike
Registration normal, FTD postbacks zero
Thresholds должны зависеть от scale.
«Нет postbacks» может означать отсутствие conversions
Перед тем как объявлять integration broken:
проверить official affiliate dashboard.
Если и там ноль FTD:
проблема может быть campaign-level.
Диагностическая последовательность
1. Есть ли conversion у operator?
Нет → не tracking issue.
Да → дальше.
2. Есть ли правильный SubID/Click ID у conversion?
Нет → attribution chain issue.
Да → дальше.
3. Был ли postback отправлен?
Нет → provider config.
Да → дальше.
4. Дошёл ли до endpoint?
Нет → network/security.
Да → дальше.
5. Endpoint обработал?
Нет → parsing/dedupe/system issue.
Debug table
| Симптом |
Вероятная зона |
| Operator видит FTD, tracker нет |
postback/delivery |
| Operator видит FTD без SubID |
click forwarding |
| Registration есть, FTD postback нет |
event config или реально нет FTD |
| Все postbacks Unknown ID |
identifier mapping |
| FTD удваиваются |
deduplication |
| Revenue расходится |
status/reversal/currency |
| Events приходят через часы |
queue/processing latency |
| После deploy всё пропало |
endpoint/config regression |
Test environment
Идеально иметь:
- sandbox;
- test programme;
- test conversion feature.
Но iGaming programmes не всегда предоставляют полноценный sandbox.
Тогда нужен согласованный production test с affiliate manager.
Не создавайте реальные gambling activity только ради теста без необходимости
Если platform позволяет synthetic/test conversion:
использовать её.
Если нет:
согласовать технический test process с programme/operator.
Не следует создавать uncontrolled real-money conversions только ради проверки endpoint.
Tracking documentation per operator
Хранить одну page:
Programme
Tracking Domain
Click Parameter
Supported SubIDs
Postback Events
Macros
Status Mapping
Attribution Window
Test Procedure
Last Verified
Так knowledge не остаётся только у одного engineer.
Integration versioning
Provider может менять:
- macro names;
- available events;
- API;
- authentication.
Поэтому хранить:
Integration Version
и:
Last Tested Date.
Example integration record
| Field |
Value |
| Operator |
Operator A |
| Platform |
Affilka |
| Click param |
custom_click |
| Reg postback |
enabled |
| FTD postback |
enabled |
| Qualification |
enabled |
| NGR |
enabled |
| Last test |
2026-09-15 |
| Reconciliation |
99.1% |
Values только пример.
Tracking SLA
При scale полезно определить internal expectations.
Например:
99% postbacks processed
<1% unknown IDs
reconciliation daily
Это internal operational target, не industry benchmark.
Tracking Accuracy vs Attribution Accuracy
Очень важное различие.
Tracking Accuracy
Технически events правильно доставлены?
Attribution Accuracy
Правильно ли business rules определили, кому принадлежит conversion?
Можно иметь:
100% tracking delivery
и неправильную attribution logic.
Attribution correctness cannot be solved by more postbacks
Если contract использует last click:
S2S не превратит его в first click.
Если affiliate link overwritten:
postback честно сообщит нового owner.
Поэтому article №13 должна рассматривать attribution отдельно.
S2S и fraud detection
Click-level tracking помогает обнаруживать anomalies:
- один click → много accounts;
- один campaign → abnormal rejection;
- слишком быстрый conversion;
- mismatched GEO.
Но сам S2S не является anti-fraud solution.
Он только улучшает observability.
S2S и Qualified FTD
Особенно полезный event:
qualification/disqualification.
Если tracker получает только Raw FTD:
media buyer оптимизирует quantity.
Если получает:
Qualified FTD
можно оптимизировать economics.
Именно поэтому iGaming-specific platforms, предоставляющие qualification postbacks, дают существенную analytical value. Affilka прямо перечисляет qualification/prequalification/disqualification среди поддерживаемых S2S event categories.
S2S и NGR
Для RevShare ещё важнее NGR events.
Если affiliate получает player-level или cohort-compatible NGR:
можно строить:
Campaign → Player → D30 NGR → D90 LTV.
Без этого RevShare optimization остаётся aggregate.
Не обязательно передавать каждый bet
Для affiliate analytics обычно нет необходимости ingest каждое игровое действие.
Часто достаточно:
- Registration;
- FTD;
- Qualification;
- periodic NGR.
Это уменьшает:
- volume;
- complexity;
- privacy surface.
Snapshot vs incremental NGR
Важно понять, что возвращает platform:
periodic total
или:
incremental change.
Например:
Day 1 NGR:
Day 2 payload:
Это может означать:
cumulative = 150
или:
additional = 150.
Если interpretation неверна, revenue удвоится.
Event semantics должны быть задокументированы
Для каждого numeric field:
Definition
Unit
Currency
Cumulative vs incremental
Gross vs net
Это особенно важно для NGR.
Financial reconciliation при RevShare
Postback useful для optimisation.
Но monthly affiliate statement остаётся критическим для:
- final NGR;
- deductions;
- commission;
- carryover.
Tracking event не должен заменять contractual settlement.
Tracking и affiliate agreement
До integration нужно узнать:
- attribution window;
- allowed parameters;
- reporting granularity;
- qualification;
- postback availability;
- data sharing restrictions;
- reporting delay.
Подробнее: iGaming Affiliate Agreement.
Tracker selection
При выборе affiliate tracker оценивать не только красивый dashboard.
Критические capabilities:
Unique Click IDs
SubID support
Multiple event types
Status updates
Revenue/value updates
Deduplication
API/export
Raw logs
Custom domains
Ad platform integrations
Role/access control
Не обязательно покупать tracker сразу
Для небольшого SEO publisher достаточно:
- structured outbound IDs;
- affiliate platform reporting;
- basic postback receiver;
- database/BI.
Сложный tracker оправдан, когда:
- paid media scale растёт;
- operators много;
- campaigns много;
- realtime optimisation имеет value.
Build vs Buy
Buy
Быстрее.
Готовые integrations.
Но vendor dependency и subscription cost.
Build
Полный control.
Но:
- engineering;
- maintenance;
- security;
- API changes;
- observability.
Для большинства небольших teams custom tracker с нуля не является первым priority.
S2S maturity levels
Level 0 — Dashboard only
Affiliate смотрит totals у operator.
Level 1 — SubIDs
Понимает source/campaign.
Level 2 — Click-level postback
Каждый conversion связан с click.
Level 3 — Lifecycle events
Registration → FTD → Qualified → Reversal.
Level 4 — Value feedback
NGR/LTV и ad-platform feedback.
Переходить на следующий уровень имеет смысл, когда предыдущий стабилен.
Пример end-to-end tracking
Campaign:
Google Ads.
Internal Click ID:
C001.
GCLID:
G-XYZ.
Affiliate parameter:
sub5=C001.
User:
регистрируется.
Postback:
registration / C001.
Через час:
ftd / C001 / pending.
Через 3 дня:
ftd / C001 / approved / payout=180.
BI связывает:
Google Campaign A
Keyword Cluster B
Landing C
→ $180 revenue.
При допустимой setup QFTD signal затем может быть импортирован обратно в Google Ads через соответствующий conversion workflow. Google в 2026 ориентирует новые offline conversion integrations на Data Manager API.
Worked example: почему postback меняет optimisation
Campaign A:
Spend:
$10 000.
Clicks:
10 000.
Platform registrations:
Campaign B:
Spend:
$10 000.
Clicks:
8 000.
Registrations:
По Registration:
A выглядит лучше.
После S2S:
A:
40 Qualified FTD.
B:
90 Qualified FTD.
CPA payout:
$180.
Revenue:
A:
$7 200
B:
$16 200
Без S2S media buyer масштабировал бы неправильную campaign.
Worked example: missing 10% FTD
Operator:
1 000 QFTD.
Tracker:
CPA:
$180.
Tracker-visible revenue:
$162 000
Actual:
$180 000
Visibility gap:
$18 000
Revenue не обязательно потеряна финансово.
Но optimisation engine считает её потерянной.
Это может привести к неправильному:
- campaign shutdown;
- bid reduction;
- source evaluation.
Measurement loss имеет opportunity cost
Tracking problem вреден не только тем, что report неточный.
Он меняет decisions.
Например:
реально profitable campaign кажется break-even.
Business сокращает spend.
Lost upside может оказаться больше самой reporting discrepancy.
Postback health dashboard
| KPI |
Значение |
| Events received |
12,500 |
| Valid |
12,420 |
| Unknown Click ID |
35 |
| Duplicates |
25 |
| Parse errors |
20 |
| Reconciliation |
99.2% |
| Median latency |
14 sec |
Цифры иллюстративные.
Daily technical checks
Проверять:
Event Volume
есть ли ожидаемый traffic?
Unknown IDs
не выросли?
HTTP Errors
endpoint healthy?
Latency
нет delay?
Duplicates
не выросли?
Weekly business checks
Проверять:
Tracker vs Operator
Raw FTD vs Qualified
Revenue
Rejections
Source Quality
Monthly integration checks
Проверять:
- new operator events;
- macro changes;
- attribution terms;
- revenue reconciliation;
- platform API changes;
- security credentials.
Основные ошибки S2S tracking
Ошибка 1. Считать SubID и Click ID одинаковыми понятиями
SubID — custom parameter slot; Click ID — identifier конкретного click.
Ошибка 2. Создавать Click ID, но не передавать operator
Tracker видит click, conversion не может вернуться.
Ошибка 3. Dedupe по Click ID
Теряются multiple events одного player journey.
Ошибка 4. Считать FTD final навсегда
Qualification/reversal может изменить status.
Ошибка 5. Не хранить Conversion ID
Нельзя безопасно update/reverse event.
Ошибка 6. Не тестировать full chain
200 OK не доказывает правильную attribution.
Ошибка 7. Считать S2S полностью cookie-less
Upstream identifier capture может использовать first-party browser mechanisms.
Ошибка 8. Не делать reconciliation
Missed postbacks остаются незамеченными.
Ошибка 9. Передавать PII без необходимости
Увеличивается privacy/security risk.
Ошибка 10. Оптимизировать на Registration при наличии QFTD
Media system учится неправильному objective.
Ошибка 11. Не обрабатывать rejected/reversed conversions
Revenue завышена.
Ошибка 12. Считать postback и attribution одной задачей
Delivery может быть идеальной при неправильных attribution rules.
Как настроить S2S tracking с нуля
Шаг 1. Определить canonical Click ID
Какой system его создаёт?
Шаг 2. Определить SubID mapping
В какой parameter programme принимает ID?
Шаг 3. Проверить forwarding
ID реально доходит?
Шаг 4. Выбрать events
Registration
FTD
Qualification.
Шаг 5. Создать receiver endpoint
HTTPS + authentication.
Шаг 6. Определить payload
ID
event
status
value.
Шаг 7. Сделать dedupe
Использовать event/conversion identifier.
Шаг 8. Обрабатывать updates/reversals
Не только initial conversion.
Шаг 9. Провести end-to-end test
Один known click.
Шаг 10. Сделать reconciliation
Tracker vs programme.
Шаг 11. Добавить monitoring
Errors/unknown IDs/latency.
Шаг 12. Только затем передавать events в optimisation systems
Минимальный production checklist
Unique click ID ✓
Stable SubID schema ✓
HTTPS endpoint ✓
Authentication ✓
Event ID ✓
Event type ✓
Status mapping ✓
Deduplication ✓
Reversal handling ✓
Raw payload debug capability ✓
Reconciliation ✓
Monitoring ✓
Что считать главным KPI tracking system
Не количество полученных postbacks.
А:
доля реальных operator events, которые правильно связаны с правильным acquisition source и отражены в BI с корректным status/value.
То есть tracking quality состоит из трёх частей:
Delivery
event дошёл.
Correlation
найден правильный click.
Semantics
правильно понято, что означает event.
Главное о S2S tracking в iGaming
S2S tracking связывает acquisition с operator events через server-side event delivery.
Базовая chain:
Click
↓
Click ID
↓
Affiliate Link / SubID
↓
Operator
↓
Registration / FTD
↓
Postback
↓
Tracker
↓
Campaign / Creative / Keyword
Главное преимущество server-to-server postback перед browser-only conversion pixel заключается в том, что conversion delivery не зависит от загрузки browser confirmation page и client-side cookie/JavaScript в момент event. Everflow, Impact и iGaming-specific platforms вроде Affilka/Income Access используют server-side event/postback mechanisms именно для таких conversion flows.
Но хороший S2S tracking требует значительно больше, чем одного URL.
Необходимо правильно решить:
Click Identity
кто создаёт уникальный ID.
Parameter Mapping
как он попадает operator.
Event Taxonomy
что означает Registration/FTD/Qualified.
Deduplication
как не считать event дважды.
Lifecycle
как обрабатывать approval/rejection/reversal.
Security
как проверять sender.
Reconciliation
как сравнивать tracker с official operator data.
Privacy
какие data действительно допустимо передавать.
В 2026 deeper-funnel conversion data всё чаще становится ещё и input для рекламных algorithms: Google, например, перевёл новые offline conversion workflows в сторону Data Manager API и Enhanced Conversions architecture.
Поэтому S2S tracking больше не является просто:
«технической штукой, чтобы увидеть FTD в tracker».
Это infrastructure, которая определяет:
что campaign считает conversion, какую revenue она получает и чему в итоге обучается acquisition system.
FAQ
Что такое S2S tracking?
Server-to-server tracking — передача conversion/event data непосредственно между servers без необходимости browser-side request в момент conversion.
Что такое postback?
Postback — HTTP request, который одна tracking system отправляет другой после определённого event, например Registration или FTD.
S2S и postback — одно и то же?
Postback является одним из механизмов S2S tracking. Server-side data можно также передавать через API, feeds или batch integrations.
Что такое Click ID?
Уникальный identifier click/session, позволяющий позднее связать conversion с исходным traffic source.
Что такое Transaction ID?
Название click identifier, используемое некоторыми affiliate platforms. Например, Everflow использует transaction_id для click session.
Что такое Conversion ID?
Identifier отдельного conversion event. Один Click ID способен иметь несколько Conversion IDs.
Что такое SubID?
Custom affiliate parameter для передачи campaign/source/creative или собственного Click ID через affiliate tracking link.
Click ID и SubID — одно и то же?
Нет. Click ID идентифицирует конкретный click, а SubID — parameter, в котором можно передавать различные affiliate-defined values, включая Click ID.
Как работает FTD postback?
Operator/affiliate platform связывает FTD с referral, затем отправляет affiliate/tracker event вместе с Click ID/SubID и другими permitted fields.
Нужны ли cookies для S2S tracking?
Сам server-to-server postback не требует browser cookie в момент отправки conversion. Но первоначальный Click ID может сохраняться через URL, first-party cookie, backend session или другой механизм.
Чем S2S лучше pixel tracking?
Он меньше зависит от browser-side conditions: загрузки confirmation page, JavaScript, cookie availability и blockers. Но требует корректной server integration.
Может ли S2S tracking потерять conversion?
Да. Например, если Click ID не передался, postback endpoint недоступен или event mapping настроен неправильно.
Какие postbacks нужны iGaming affiliate?
Минимально полезны Registration, FTD и Qualified/Approved FTD. Для RevShare дополнительно ценны NGR/value updates.
Может ли postback сообщить rejection?
Да, если affiliate platform предоставляет corresponding lifecycle/status event. Например, Affilka поддерживает qualification/disqualification events, а Impact — lifecycle modifications/reversals.
Что такое deduplication?
Механизм, предотвращающий повторный учёт одного conversion event.
Почему нельзя dedupe по Click ID?
Потому что один click может создать несколько разных events: Registration, FTD, Qualification и другие.
Что такое idempotency?
Свойство receiver, при котором повторная доставка одного event не меняет business result второй раз.
Как защитить postback endpoint?
Использовать HTTPS и доступные provider mechanisms: secret/token, signatures, headers, IP allowlisting и другие controls.
Нужно ли хранить email пользователя в Click ID?
Нет. Click ID лучше делать opaque и не содержащим PII.
Что такое postback latency?
Время между occurrence conversion и получением соответствующего postback.
Почему tracker и affiliate dashboard показывают разные цифры?
Причинами могут быть delivery loss, attribution window, timezone, status maturity, deduplication, rejection или разные definitions events.
Что такое reconciliation?
Регулярное сравнение данных tracker с official affiliate/operator report для выявления расхождений.
Чем postback отличается от API?
Postback — push: provider сам отправляет event. API polling — pull: ваша система запрашивает data.
Что лучше — postback или API?
Они хорошо дополняют друг друга. Postback удобен для оперативных events, API/report — для backfill и reconciliation.
Можно ли передавать Qualified FTD обратно в Google Ads?
Google поддерживает offline/deeper-funnel conversion import workflows. В 2026 новые integrations ориентированы на Data Manager API/Enhanced Conversions, но конкретная передача должна соответствовать data/privacy requirements.
Что такое GCLID?
Google Click Identifier, используемый для связывания Google Ads click с последующей conversion.
GCLID заменяет внутренний Click ID?
Не обязательно. Лучше хранить mapping между platform identifier и собственным internal Click ID.
S2S tracking решает attribution?
Он обеспечивает техническую передачу events. Правила attribution — last click, attribution window, reattribution — являются отдельной business logic.
Как проверить postback?
Создать controlled test click, пройти предусмотренный test conversion flow и убедиться, что тот же ID появился в programme, postback, tracker и BI.
Какой главный KPI S2S tracking?
Доля реальных conversions, которые правильно доставлены, связаны с правильным click и отражены с правильным status/value.