Campaign
How do you use S2S conversion tracking?

Author
Tom Wendt
30 Apr 2026
Learn how to transmit conversions server-side via S2S tracking (postback) to AdUp and why this method can be a reliable alternative to the classic conversion pixel.

Overview
In addition to the classic conversion pixel, AdUp also supports Server-to-Server (S2S) conversion tracking – also known as postback tracking.
With S2S tracking, the conversion is no longer tracked via the user's browser, but is transmitted directly from your system's server to AdUp.
This allows conversions to be measured more reliably – particularly in environments where browser tracking or third-party cookies are restricted.
How does S2S tracking work?
With classic pixel tracking, the conversion pixel is loaded in the browser after a successful action.
With server-to-server tracking, your server handles communication with AdUp instead.
The process looks simplified like this:
Ad │ ▼Click on ad │ ▼Transaction ID is generated │ ▼User converts │ ▼Tracking server │ ▼Postback to AdUp
The assignment between click and conversion is made via a unique Transaction ID.
When is S2S tracking suitable?
S2S tracking is particularly suitable if:
browser tracking is restricted
no third-party cookies should be used
server-side tracking processes are in place
apps or in-app events are being measured
the highest data quality is required
Advantages
No third-party cookies required
Higher reliability in conversion tracking
Conversions are only transmitted upon successful action
Support for app downloads and in-app events
Independent of browser restrictions
Limitations
S2S tracking offers many advantages, but also brings some specific features with it.
The implementation is technically more demanding.
A dedicated tracking server is required.
View-through conversions cannot be measured.
Setup and testing are more complex than with pixel tracking.
Prerequisites
To use S2S tracking you need:
your own tracking server
a configured conversion code
access to your final click URL
the ability to store and pass on parameters on the server side
Setup
Step 1: Pass the Transaction ID
Append the placeholder {transaction_id} to your final click URL.
Example:
t_id={transaction_id}
The parameter name can be freely chosen.
The only important thing is that your system can process the value.
Step 2: Store the Transaction ID
After the ad click, your system receives the Transaction ID.
This must be stored so that it can be assigned to a conversion later.
Step 3: Send conversion to AdUp
As soon as a conversion occurs, your tracking server sends a postback to AdUp.
Example:
https://d.adup-tech.com/campaign/conversion/postback/3711?t=NjMy&transaction_id=JVYdMHQtFxzl20C9rYwn
The conversion is assigned to the original ad click via the Transaction ID.
External Conversion Upload
The Transaction ID is also required for external conversion upload.
The process basically corresponds to standard S2S tracking.
This involves:
storing the Transaction ID upon the ad click,
later assigning it to a conversion,
subsequently transmitting it to AdUp along with the conversion data.
Without a Transaction ID, no assignment to the original click is possible.
Optional Parameters
In addition to the Transaction ID, further information can be passed on.
price
Price of an individual product.
Example:
price=199.99
quantity
Number of products purchased.
Example:
quantity=2
total
Total value of the conversion.
Example:
total=399.98
item_number
Product or article number.
Example:
item_number=EF_7890
order_id
Order number.
This parameter additionally serves to deduplicate conversions.
Example:
order_id=A12345
description
Optional description of the conversion.
Example:
description=TravelBooking
Best Practices
Store Transaction ID unchanged
The Transaction ID forms the basis of the entire attribution.
It should be stored unchanged and returned to AdUp.
Pass as much conversion data as possible
Additional information such as:
Order value
Order number
Item number
Quantity
improves reporting and evaluation.
Use unique Order IDs
Use unique order numbers to avoid duplicate conversion reports.
Test S2S tracking
Check after implementation:
is the Transaction ID correctly stored?
is it sent with the postback?
are conversions correctly tracked?
are order values and quantities correct?
Common error sources
Transaction ID is not stored
Without a Transaction ID, no conversion can be assigned to an ad click.
Transaction ID is modified
The transmitted Transaction ID must not be modified after the click.
Missing Order ID
If conversions are transmitted multiple times, a unique order_id helps with deduplication.
Invalid number formats
For price, quantity and total:
Dot as decimal separator
no thousands separator
maximum of two decimal places
S2S Tracking or Conversion Pixel?
Conversion Pixel | S2S Tracking |
|---|---|
Browser-based | Server-side |
Simple setup | More demanding implementation |
Supports view-conversions | No view-conversions |
Cookie-based | Cookie-independent |
Ideal for standard websites | Ideal for complex systems and apps |
