S2S / ClickID Tracking
Cookieless tracking via unique ClickIDs and server-side postbacks — ideal for mobile, apps and maximum tracking reliability.
ClickID tracking: How it works
With ClickID tracking, QUALITYCLICK generates a unique ClickID for each click and appends it to the outgoing link. This ID replaces cookie-based attribution and enables cookieless tracking.
The flow
Step 1: Set up click targets with ClickID
All links under Creatives → Click Targets must contain the ClickID as a URL parameter. Use the placeholder <% CLICKID %>:
https://www.your-shop.com/landing?qc_clickid=<% CLICKID %>Optionally, you can also include the PartnerID:
https://www.your-shop.com/landing?qc_clickid=<% CLICKID %>&qc_pid=<% PID %>On click, QUALITYCLICK generates a unique ID in the format QC423840809685489623456289367 (QC prefix + unique string) and redirects the visitor to your shop.
qc_clickid is a recommendation — you can choose any parameter name (e.g. clickid, affiliate_click etc.). What matters is that your shop correctly receives and stores the value.Step 2: Store the ClickID in your shop
Your shop must read the ClickID from the URL parameter and retain it until the order confirmation. Two options:
- Session cookie: Store the value in your own cookie or server session
- URL parameter: Carry the value from page to page as a URL parameter
Step 3: Pass the ClickID to the tracking pixel
On the order confirmation page, pass the stored ClickID to the tracking pixel:
https://partner.your-site.com/get_trans.cgi
?cpid=1
&tid=ORD-2026-001
&clickid=QC423840809685489623456289367
&produkt=Sale
&umsatz=95.50QUALITYCLICK automatically resolves all information from the original click via the ClickID: PartnerID, SubID, CreativeID, Referrer. This way, the transaction is attributed to the correct partner — without a cookie.
pid, subid or wmid in the tracking pixel, they override the values from the ClickID. Only pass parameters you can actually populate with values — when in doubt, leave them out.Server-to-Server Tracking (S2S)
With server-to-server tracking, the get_trans.cgi is not called from the customer's browser (client-side), but from your web server (server-side). The call is technically identical — the same URL with the same parameters.
Advantages of S2S
- Works even when the customer has disabled JavaScript or images
- Independent of browser restrictions (ad blockers, cookie blocking)
- Higher reliability with slow connections or when customers leave the page prematurely
Recommended strategy: Pixel + S2S as fallback
We recommend using both methods in parallel:
- Client-side pixel (JavaScript or image) on the order confirmation page — captures the transaction instantly in real-time
- Server-side S2S call a few seconds later — as a safeguard for cases where the client-side call fails
QUALITYCLICK automatically detects duplicates based on the TransactionID (tid) and only creates the transaction once.
PHP example: S2S call with cURL
<?php
// S2S postback to QUALITYCLICK after order completion
$params = [
'cpid' => 1, // Program ID
'tid' => 'ORD-2026-001', // Your order number (unique)
'clickid' => $_SESSION['qc_clickid'] ?? '', // Stored ClickID
'produkt' => 'Sale', // Commission product (exact spelling)
'umsatz' => 95.50, // Net revenue excl. VAT/shipping
];
$url = 'https://partner.your-site.com/get_trans.cgi?' . http_build_query($params);
// Asynchronous call (does not block page rendering)
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
$response = curl_exec($ch);
curl_close($ch);
?>cURL example (command line)
curl -s "https://partner.your-site.com/get_trans.cgi?\
cpid=1&\
tid=ORD-2026-001&\
clickid=QC423840809685489623456289367&\
produkt=Sale&\
umsatz=95.50"Additional parameters
nocheck — Allow cross-selling
By default, QUALITYCLICK checks whether the partner is approved for the submitted commission product. If not, the transaction is discarded.
With the parameter nocheck=1, this check is skipped: the transaction is created even if the customer ordered a different product than what the partner linked to.
https://partner.your-site.com/get_trans.cgi
?cpid=1&tid=ORD-2026-001&clickid=QC...&nocheck=1Typical use case: Online shops with broad product ranges, where a partner promotes a specific product but the customer buys a different one (cross-selling).
Testing the tracking
After setup, you should test thoroughly:
- Click a creative of the test partner (PartnerID 2)
- Check whether the ClickID arrives correctly in the URL parameter
- Complete a test order
- Check under Transactions → Edit whether the transaction was created with the correct PartnerID
- Check under Transactions → Log whether the call appears in the logs
If the transaction does not appear, check the transaction log: discarded transactions show a dash "–" instead of a number in the "saved" column.