Tracking is a chain of custody for the click. Every system must know which identifier it receives, stores and returns.
A typical path includes the traffic source, affiliate tracker, routing layer, network and advertiser. Each platform may create its own click ID while also carrying one or more upstream IDs.
The implementation must preserve enough information to connect conversion, payout and status back to the source, campaign and placement that generated the click.
The identifier chain
Parameter map
| Field | Purpose | Implementation note |
|---|---|---|
| click_id | Stable identifier for one click | Never replace it with campaign or placement ID |
| source_id | Traffic source or publisher identifier | Use a controlled taxonomy |
| campaign_id | Campaign grouping | Keep stable across reporting systems |
| placement_id | Zone, ad set, site, channel or creative context | Often the most useful optimization level |
| offer_id / destination_id | Selected route | Needed to diagnose SmartLink behaviour |
| event | Lead, DOI, sale, rebill, approval or rejection | Do not collapse different events into one conversion |
| status | Pending, approved, rejected, cancelled | Support later updates where possible |
| payout | Revenue value | Send numeric value and explicit currency |
| timestamp | Event time | Align timezone before comparing reports |
Postback architecture
Event taxonomy
Dating funnels often contain several commercially different events. Treating all of them as one “conversion” can train routing and buying decisions toward the wrong behaviour.
Define the event hierarchy before implementation and decide which events are informational, optimization events and payable events.
| Event | Use | Common mistake |
|---|---|---|
| Registration | Fast funnel feedback | Assuming every registration is payable |
| Email confirmation / DOI | Lead validation | Losing the original click ID between steps |
| Approved lead | Commercial quality signal | Receiving approval only in aggregate |
| Sale / subscription | Paid conversion | Sending the event without payout value |
| Rebill | Long-term value | Overwriting the original sale instead of adding revenue |
| Rejection / chargeback | Quality correction | Ignoring negative events in profit reporting |
Deduplication and status updates
- Unique event key: use transaction ID, event ID or a deterministic click-event combination.
- Idempotent processing: repeated postbacks should update one record rather than create multiple conversions.
- Status model: pending, approved and rejected must be distinguishable.
- Payout update: later revenue changes should modify the correct event or add a separate revenue event.
- Rebill logic: recurring payments need unique transaction IDs while retaining the original acquisition click.
- Timezone control: reporting windows must align before discrepancy is calculated.
Common discrepancy patterns
| Pattern | Likely cause | Diagnostic step |
|---|---|---|
| Network has more clicks | Tracker filtering, redirect retries or bot filtering | Compare raw logs and unique-click definitions |
| Tracker has more conversions | Duplicate postbacks or test events | Check event IDs and request logs |
| Conversion without source ID | Parameter dropped during redirect | Trace the landing URL and network click record |
| Revenue differs | Currency, payout update or event-status handling | Compare transaction-level values |
| Events arrive late | Advertiser validation or batch callback | Measure event latency distribution |
| Source callback missing | Wrong traffic-source click ID or event mapping | Test upstream callback separately |
QA procedure before paid traffic
- Generate a test click with recognizable source, campaign and placement values.
- Confirm the tracker creates one click and sends the expected parameters.
- Confirm the SmartLink or network stores the tracker click ID.
- Complete a test event or request a network test conversion.
- Inspect the postback request, response code and received fields.
- Verify event, status, payout, currency and timestamp in the tracker.
- Verify the traffic-source callback if one is required.
- Repeat for approval, rejection or payout update where supported.
- Document the final parameter map and example requests.
Technical implementation and audit
Frequently asked questions
Which click ID should be returned in the network postback?
The postback should return the stable identifier expected by your tracker. The network may keep its own ID internally, but it must preserve your tracker ID.
Should payout be sent in the postback?
Yes where possible. Revenue-based optimization and reconciliation are weaker when the tracker receives only a conversion count.
How do I track delayed approval?
Record the initial event as pending and process a later status or payout update against the same unique event.
Can you troubleshoot a multi-tracker setup?
Yes. The review can map IDs and callbacks across the traffic source, trackers, SmartLink, network and advertiser.
Contact
Describe the traffic, current routing or tracking setup, and the decision you need help making.
