Postback URL is a simple URL with added parameters that is called whenever a conversion takes place.
It is used in 3rd-party tracking systems. The call is made from the system's servers when a certain event occurs, and we do not receive the user agent + user ip.
The advert installs its click link in our system and adds the [CLICK_ID] macro, which we will replace at the moment of response to the SSP. Then our postback is installed into the tracking system, changing the [CLICK_ID] macro in our postback to the format in which the tracking system substitutes the [CLICK_ID]. For example: {clickId}.
Upon clicking, we record all the information about possible future conversions on the node (in Memcached). Here it is very important to specify on which node we will record the conversion. This is done through the [CLICK_ID] macro, the value of which will be described below.
At a certain point, our postback is called with the same [CLICK_ID] macro, which will be replaced by the advert's tracking system. The most important thing is that the [CLICK_ID] sent back to us should match the one we put in the adm when giving the response.
When we receive a call to the conversion service, we redirect this call to the node where all the information about the click was recorded.
Then we follow the standard procedure of recording statistics.
Postback URL: https://conversions.smartyads.com/postback?type=campaign&id=14270&cid=18999&clid=[CLICK_ID]
Global Postback URL: https://conversions.smartyads.com/postback?type=global&uid=14270&clid=[CLICK_ID]
How the CLICK_ID is formed: {node_id}-{md5 hash of: creativeId + timestamp}-{hidden userId}
Conversion pixel is a piece of code that is provided to advertisers to place on a website landing page. It allows to track and report on the actions of users who visit their page after viewing or clicking on an ad. The conversion pixel is an HTML-wrapped link to our conversion server. The conversion is expected to be inserted into the advert site, resulting in a call from the end user's device, and we get his user agent + ip.
The advert installs his click link in our system and adds there the [CLICK_ID] macro, which we will replace at the moment of response to the SSP. Advert also installs a conversion pixel on his site at the place reaching which is considered a conversion, adjusting the [CLICK_ID] macro according to his needs.
When a click occurs, we record all information about possible future conversions on the node (same as for the postbacks). Also, we record a copy of the document but under a different key, which is formed from md5 hash of user agent + ip, and make a call to the conversion service, where we record in the local Redis storage key md5 hash of user agent + ip and its value will be the IP of the node to which we have to redirect the call.
At a certain moment, our conversion pixel is called from the browser of the person who clicked on the advertisement. There are 2 variants of events here:
a. If the advert knows how to replace [CLICK_ID] on his site, then all the following steps are similar to postbacks.
b. If the advert does not know how to do it: we form md5 hash of user agent + ip, go to Redis and find the necessary ip of node, then make redirection to node with the indication of the necessary hash inside Memcached and get all the conversion information.
Then we follow the standard procedure of statistics recording.
Conversion Pixel: <script src="https://conversions.smartyads.com/conversion?type=campaign&id=14270&cid=18999&clid=[CLICK_ID]"></script>
Global Comversion Pixel: <script src="https://conversions.smartyads.com/conversion?type=global&uid=14270&clid=[CLICK_ID]"></script>
Tracking conversions is essential for evaluating the success of your ad campaigns. In our DSP platform, you can track user actions—such as purchases, sign-ups, or any other valuable interactions on your website—using one of two supported methods:
You can configure both options in the Tracking section on the Campaign Optimization page of your campaign setup.
A Conversion Pixel is a piece of HTML code you place on a web page that represents a conversion (e.g., a thank-you or confirmation page). When a user reaches the conversion event, the pixel sends a signal to our DSP to log the conversion.
Use this method if you have access to your website’s HTML and prefer a quick, browser-based setup without additional server configurations.

Go to your Campaign Optimization -> Tracking section.
Choose the ‘Conversion Pixel’ option.
Enter the name of the event in the ‘Tracked Event’ field (e.g., “Add to Cart” or “Signup Confirmation”).
Copy the generated pixel scripts by clicking on the ‘Copy’ button and paste them into your website’s code:
a. The first script should be put in the <head> of your site. Example: <script id="" text="" charset="" type="text/javascript" src="https://dsp.smartyads.com/clid.js"></script>
b. The second script should be put in the exact place where you want to track conversion. Example: <script src="https://conversions.smartyads.com/conversion?type=campaign&clid=[CLICK_ID]&id=12345&cid=12345"></script>
Paste these scripts into your website page based on the requirements. The data will start flowing, and the number of pixels firing will be displayed in the ‘Conversion’ column on the ‘Campaigns’ page.
<head><!DOCTYPE html>
<html lang="en">
<head>
...
<script id="smartyads-clickid" type="text/javascript" src="https://dsp.smartyads.com/clid.js" charset="utf-8"></script>
...
</head>
<body>
<!-- SmartyShop website content -->
</body>
</html>
<body>Example of placing the script to track adding an item to the cart:
<body>
...
<button id="addToCartBtn">Add to Cart</button>
<script>
document.getElementById('addToCartBtn').addEventListener('click', function() {
var pixel = document.createElement('script');
pixel.src = "https://conversions.smartyads.com/conversion?type=campaign&clid=[CLICK_ID]&id=12345&cid=54321";
document.body.appendChild(pixel);
});
</script>
...
</body>
</html>
Example of placing the script to track the opening of the ‘Checkout’ page:
<body>
...
<h1>Checkout</h1>
<p>Review your items and complete your purchase.</p>
<script>
window.addEventListener('load', function() {
var pixel = document.createElement('script');
pixel.src = "https://conversions.smartyads.com/conversion?type=campaign&clid=[CLICK_ID]&id=12345&cid=54321";
document.body.appendChild(pixel);
});
</script>
...
</body>
</html>
Postback tracking — also known as server-to-server (S2S) tracking — is a highly reliable method for measuring user actions and conversions. Unlike browser-based tracking methods such as cookies or scripts, postbacks communicate directly between servers, making them more resilient to ad blockers, browser restrictions, and privacy limitations.

In the SmartyAds DSP, postback tracking relies on the [CLICK_ID] macro within the Click URL. Each ad click generates a unique click ID, which is captured by a third-party tracking system and later returned to SmartyAds via a Postback URL. When a user performs a desired action on the advertiser’s website (for example, a purchase, sign-up, or registration), the third-party tracking system sends a server-to-server postback to SmartyAds. This ensures accurate conversion reporting and reliable attribution.
The goal of the DSP platform is to receive the postback call with the changed [CLICK_ID]. The 3rd-party system receives an event with the changed [CLICK_ID] and calls our Postback URL. For that, the advert has to take our postback URL and set it for all events that he wants to track inside the used 3rd-party system. The detailed flow:
A Click URL (tracking link) is added to the creative.
This link includes a required tracking parameter - the [CLICK_ID], which identifies each ad click and is essential for postback tracking. Do not be afraid if you forgot to add the parameter to the Click URL — we automatically add it to each tracking link.
User click and redirect flow.
When a user clicks an ad, they are redirected through the Click URL, which captures click data (including the click ID), and then forwards them to the advertiser’s landing page.
Conversion event on the advertiser’s site.
When a conversion occurs — such as a purchase, form submission, or subscription — an event triggers on the advertiser’s site. This event sends conversion data, including the stored click ID, to the 3rd-party tracking system.
Matching and postback.
The 3rd-party tracking platform receives the conversion data, matches it to the initial click event using the click ID, and attributes the conversion correctly. The 3rd-party system calls the Postback URL with the [CLICK_ID] value and sends the data back to SmartyAds via the postback link generated in the DSP interface.
Go to your campaign’s Campaign Optimization -> Tracking section.
Choose the ‘Postback URL’ option.
Enter the name of the event in the ‘Tracked Event’ field (e.g., “Add to Cart” or “Signup Confirmation”).
Copy the generated Postback URL.
a. Example: https://conversions.smartyads.com/postback?type=campaign&id=12345&cid=12345&clid=[CLICK_ID]
Paste the copied postback link to the 3rd-party tracking system for the chosen conversion tracking events.
Ensure the automatic replacement of the [CLICK_ID] with the ID captured during the initial click. This ID must then be passed back to us when the conversion occurs.
Note: Ensure the [CLICK_ID] passed back matches the one issued during the original ad click. This ensures the conversion is correctly attributed.
When integrating AppsFlyer with SmartyAds, you do not need to activate the Postback URL on the Campaign Optimization page. Most of the integration work is performed directly in the AppsFlyer interface. At the final step of the setup, you will simply paste the AppsFlyer links into the Click URL and Third-party impression analytics tag fields in SmartyAds.
To begin, connect your mobile application to the AppsFlyer platform. Follow the official AppsFlyer documentation on how to Add an app to AppsFlyer.
Enable the SmartyAds partner in AppsFlyer using the process described in their Partner activation/deactivation guide. For the integration to function correctly, open: Active Integrations → Smartyads → Permissions and enable the Ad network permissions toggle.
Copy the AppsFlyer links for your tracking and paste them into the SmartyAds DSP admin panel:




&af_prt=*af_prt_value*&c=*c_value**af_prt_value* with your Partner Id. The Partner Id value can be found on the Account & Profile page of the AppsFlyer.**c_value* with the name of the tracked Campaign. The Campaign Name can be found in My Dashboards → Marketing Overview → Campaign Performance table. 

Note for AM: if the partner isn’t added to the dashboard, provide him with the screen with the integration details. The advert should apply the same settings as on the screen.

PID (Partner id) of Smartyads = smartyads_int



&af_prt=af_prt_value&c=c_valueaf_prt_value with your Partner Id. The Partner Id value can be found on the Account & Profile page of the AppsFlyer.c_value with the name of the tracked Campaign. The Campaign Name can be found in My Dashboards → Marketing Overview → Campaign Performance table. 

Useful links:

&adj_install_callback=[POSTBACK_URL]&adj_cost_type=[COST_TYPE]&adj_cost_amount=[AD_CPM]&adj_cost_currency=[CURRENCY]&cost_id=[CLICK_ID]https://app.adjust.com/jdbsf9?campaign={CAMPAIGN_NAME}%20({CAMPAIGN_ID})&adgroup={APP_ID}&creative={AD_NAME}&idfa={IDFA}&country={CC}&gps_adid={IDFA}&adgroup_id={PLACEMENT_ID}&ip_address={DEVICE_IP}&campaign_id={CAMPAIGN_ID}&device_type={DEVICE_TYPE}&publisher_id={APP_ID}&tracker_limit=100000&applovin_click_id={ID}&applovin_event_id={EVENT_ID}&external_tracker_ids=1&android_id_lower_sha1={HAID}&adj_install_callback=[POSTBACK_URL]&adj_cost_type=[COST_TYPE]&adj_cost_amount=[AD_CPM]&adj_cost_currency=[CURRENCY]&cost_id=[CLICK_ID]https://view.adjust.com/impression/jdbsf9?campaign={CAMPAIGN_NAME}%20({CAMPAIGN_ID})&adgroup={APP_ID}&creative={AD_NAME}&idfa={IDFA}&country={CC}&gps_adid={IDFA}&adgroup_id={PLACEMENT_ID}&ip_address={DEVICE_IP}&campaign_id={CAMPAIGN_ID}&device_type={DEVICE_TYPE}&publisher_id={APP_ID}&tracker_limit=100000&applovin_click_id={ID}&applovin_event_id={EVENT_ID}&external_tracker_ids=1&android_id_lower_sha1={HAID}&adj_install_callback=[POSTBACK_URL]&adj_cost_type=[COST_TYPE]&adj_cost_amount=[AD_CPM]&adj_cost_currency=[CURRENCY]&cost_id=[CLICK_ID]


Note: Adjust platform counts all clicks, while SmartyAds DSP counts unique clicks.
| Issue | Solution |
|---|---|
| Conversions not tracked | Verify pixel/postback is placed correctly and triggered on the right event. |
[CLICK_ID] is missing |
Ensure your ad Click URL includes the [CLICK_ID] macro in the stated form. |
| Pixel fires too early | Place pixel only after confirmation events (not on page load if action is not complete). |
| Postback fails | Check server logs; ensure [CLICK_ID] is correctly captured and substituted. |
| Duplicate conversions | Use logic on your site/server to ensure pixels or postbacks fire only once per user/session. |