Advertiser Tracking Details
Advertiser S2S Tracking
Server-to-server (S2S) is the most commonly used tracking method in the Affiliate marketing Industry. All information passed by the publisher is stored on the server side and sent to the advertiser, who needs to have the capability of handling that information and transmitting the information back via a postback URL once there is a successful conversion.
How S2S Tracking Works in General
A user surfs the publisher Ad which has been served in an APP or on the web
The user clicks on the Ad and is redirected to the Swaarm tracker
Swaarm tracker stores the publisher click ID (unique ID to track conversions) and forwards the user to the corresponding Google Play Store or Apple AppStore page through the MMP that has been used by the advertiser
The MMP stores Swaarm click ID
The user installs and opens the app
MMP loads the server postback with the Swaarm click ID to notify the Swaarm tracker of a successful conversion
Once the Swaarm tracker tracks the successful conversion, it matches with the corresponding publisher click ID which is responsible for that conversion, and loads the server postback URL which has been configured on the Platform publisher page.
Click Macros Supported by SWAARM for Advertiser Tracking Link
The following macros are available from the Swaarm tracker to use for the advertiser tracking URL. In general, the advertiser tracking link should redirect any click to the proper landing page but it is mandatory to enter at least the “Click ID”(unique ID to track conversion) in the tracking link in order to get the same ID via postback once there is a successful conversion tracked on the advertiser side. There are many other following macros that can be used in the advertiser tracking link:
Macros | Description | Examples |
{id} | Swaarm click ID(mandatory pass) | Bd8aKzsAAAF1Wj-3twABwfUAAFG0 |
{publisher.id} | Swaarm network Publisher ID | 1234 |
{publisher.placement} | Publisher placement identifier | abc_game123 |
{publisher.site} | Publisher site identifier | abc_game123 |
{publisher.subId} | Publisher Sub identifier | abc123 |
{publisher.subSubId} | Publisher sub sub ID | abc_xyz_123 |
{device.geo.country} | Country code | DE |
{device.ids.gaid} | Google advertising identifier | GR56-1886–9D60–005776FC0465 |
{device.ids.idfa} | Apple iOS advertising identifier | 4D6F-1226–9C60–0050E4C04654 |
|
|
|
{offerId} / {offer.id} | Offer ID in Swaarm platform | 12345 |
{offer.name} | Swaarm network Offer Name | Ocean Clean Game |
{offer.theyGet} | Payout per conversion in $ | 3 |
{offer.weGet} | Revenue per conversion in $ | 5 |
{pea.chain} | The non-unique token generated by Swaarm platform | e6UKM7lLUwlwAWXUyNO25TCY |
{publisher.app_store_id} | Pass app ID | 343204456 |
{publisher.app} | Publisher APP name/ID | coolgame_app |
{publisher.clickId} | Publisher click ID | 0a81ad386f991aef1c191dfd60cc |
{publisher.creative} | Publisher creative ID/name | coolgame_320×50 |
{publisher.unique1} | Publisher unique value1 | 0a81ad386f991aef1c191dfd60cc_0a81ad386f991ae |
{publisher.unique2} | Publisher unique value2 | 0a81ad386f991aef1c191dfd60cc_0a81ad386f991ae |
{publisher.unique3} | Publisher unique value3 | 0a81ad386f991aef1c191dfd60cc_0a81ad386f991ae |
{term} | Search Term | Electric Vehicle |
{user.carrier} | Carrier of the user device | Verizon |
{user.encoded_ua} | URL-encoded user agent string determined at the time of click | Mozilla%2F5.0+%28iPhone%3B+CPU+iPhone+OS+10_3_1+like+Mac+OS+X%29+AppleWebKit%2F603.1.30+%28KHTML%2C+like+Gecko%29+Version%2F10.0+Mobile%2F14E304+Safari%2F602.1 |
{user.ip} | IP of the user device | 102.109.100.2 |
{user.language} | Language of the user device | EN |
{user.make} | Device manufacturer name of the user device | e.g. Samsung |
{user.model} | Device model number of the user device | e.g. GM-9621 |
{user.os_version} | OS version of the user device | 9.2.2 |
{user.os} | Operating System of the user device | Android |
{user.ua} | User agent string determined at the time of click | Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/613.2.7 (KHTML, like Gecko) Mobile/19F77 Listonic3/501 |
{att_detail} | Publisher placement identifier authorization status. |
|
{att_duration} | Pass value from parameter att_duration as time in seconds took the user to respond to the iOS ATT prompt. | 59175525 |
{att_time} | Pass value from parameter att_time as UNIX timestamp (Authorization time for IOS ATT) | 1622163110 |
{att} | Pass value from parameter att. |
|
{device.geo.city} | City | Berlin |
{device.geo.region} | Region or State | CA (California) |
{device.ids.gaid.sha1} |
| Yes |
{device.ids.idfa.sha1} |
| Yes |
{device.ids.idfv} | Pass value from parameter IDFV. | 3K0XXXXX-83XX-HEXX-KIXX-29KH83XXXXXX |
{http.referer} |
|
|
{kochava_ad_platform} | Transform value from parameter traffic_type for Kochava MMP. |
|
{performcb_ad_platform} | Transform value from parameter traffic_type for Perform cb. |
|
{publisher.originalSubId} | Publisher group original publisher sub ID | 1234 |
{publisher.realId} | Publisher group original publisher ID | 2 |
{publisher.unique4} | Publisher unique value4 | 0a81ad386f991aef1c191dfd60cc_0a81ad386f991ae |
{publisher.unique5} | Publisher unique value5 | 0a81ad386f991aef1c191dfd60cc_0a81ad386f991ae |
{taptica_ad_platform} | Transform value from parameter traffic_type for Taptica. |
|
{time.date} | Date of click | 2023-09-06 |
{time.datetime} | DateTime of click | 2023-09-06T16:34:20.389915626 |
{time.timestamp} | Timestamp of click | 1694018060 |
{appsflyer.signature} | AppsFlyer Signature | (Usually a big String value) |
{offer.appsflyer_revenue} | Pass Encrypted WeGet value to advertiser | Pass Encrypted WeGet value to advertiser |
ATT Privacy Macros
Additionally, we support more macros related to Apple's ATT Privacy for different MMPs, Here you will find the updated list:
🔗Sample Advertiser Tracking Link
https://advertiser.offer.com/click?offer_id=9876&pub_id=1234&click_id={id}&source_id={publisher.id}&idfa={device.ids.idfa}&gaid={device.ids.gaid}
Postback Parameters Supported by SWAARM
The following table contains Swaarm supported exclusive set of parameters that can be used to receive raw data and information via real-time callbacks (or postbacks) from advertisers:
Parameter Name | Description | Example |
click_id | Swaarm click id for the user for which the conversion is attributed | AUbVa-sAAAFpEHMTvQAA3FEAADph |
offer_id | Swaarm Offer ID | 123456 |
publisher_id | Swaarm Publisher ID | 321 |
publisher_sub_id | Swaarm Publisher Sub ID | abcdEFG |
app_id | App ID of the Publisher App | 332193586; de.is24.android |
app_title | App title/name of publisher app | MyApp |
app_version | Version of the App | 5.13.1 (Android); 5131 (iOS); unknown (if unavailable) |
gaid | Google Aid of the device | 4R45-1226–D565–8850E4C04654 |
gp_opened_at | Time recorded by Google play when the app was opened | 2020-06-04T21:00:56 |
gp_installed_at | Time recorded by Google play when the app was installed | 2020-06-04T21:06:56 |
idfa | IDFA of the iOS device | 8C6CBCOD-5F43-4765-A6E6-84DFF3D24707 |
installed_at | Time recorded by the SDK when the app was opened for the first time | 2020-06-04T21:06:56 |
sale_amount | The revenue per conversion we made in the advertiser platform | 5.00 |
sale_amount_currency | Currency of the revenue per conversion we made in the advertiser platform | USD/EUR |
original_sale_amount | The revenue (crypto) per conversion we made in the advertiser platform | 1.50 |
original_sale_amount_currency | Currency of the revenue (crypto) per conversion we made in the advertiser platform | Bitcoin |
sdk_version | The version of the SDK used by the advertiser | 12.3.3 |
rejection_reason | Advertiser’s reason for rejected attribution | CTIT is too high |
rejected_reason_value | Value related to the conversion rejection | 123434123 |
rejected_reason_subvalue | Sub-value related to the conversion rejection | bot_traffic |
status | Advertiser’s status for the attributed conversion | Approved/rejected |
click_timestamp | Click timestamp recorded by the advertiser’s SDK on click | 2020-06-04T21:00:56 |
conversion_timestamp | Conversion timestamp recorded by the advertiser’s SDK on conversion | 2020-06-04T21:05:56 |
event_name | Name of the event attributed in the advertiser’s SDK | Purchase |
event_value | JSON object containing all the custom event information collected by the SDK | {“level_reached”: “4”, “tasks_completed” : ”20”} |
event_id | Id of the event attributed in the advertiser’s SDK | 45332 |
tracker_name | Name of the tracker/SDK used by the advertiser | Adjust |
adgroup_name | Adgroup name as taken from the tracker | test_group |
creative_name | Creative name as taken from the tracker | 320x70_en |
impression_based | 1 if impression-based engagement, 0 if not | 1 |
conversion_duration | Time between click and install or reattribution in seconds | 3453 |
is_organic | 1 if organic traffic, 0 if non-organic | 1 |
install_finish_time | App download completion timestamp | 2019-06-04T21:05:56 |
install_begin_time | App download began timestamp (Android and Google Play Store only) | 2019-06-04T21:00:56 |
cpu_type | CPU type of the device that installed the app | CPU_SUBTYPE_ARM64_V8 |
hardware_name | Hardware name of the device that installed the app | D101AP |
network_type | The network type of the device that installed the app | CTRadioAccessTechnologyLTE |
click_attribution_window | Attribution window settings for device matching (hours) | 168 |
adid | Adjust device ID (all platforms) | 18546f6171f67e29d1cb983322ad1329 |
match_type | Attribution method | fingerprint; device_tag; reftag; external_click_id; google; facebook |
tracking_enabled | 1 if tracking is enabled, 0 if not | 1 |
tracking_limited | 1 if tracking is limited, 0 if not | 0 |
timezone | Device timezone | UTC+0400 |
session_count | Number of sessions recorded by the current version of SDK | 56 |
lifetime_session_count | Number of sessions recorded across the entire user lifetime | 78 |
deeplink | Deeplink URL appended to click URL | myapp://product?id=650 |
partner_parameters | Custom partner parameters collected by the SDK or S2S request and transmitted to third-party providers via postbacks | client_id |
postback_id | Postback ID passed by the Advertiser | WEhtwrkgjoirdkjwehdfkjwefihwr |
postback_time | Postback time passed by the advertiser | 2022-01-25 07:00:00.000 |
os_name | Operating system of the device that installed the app | iOS |
os_version | Operating system version number of the device that installed the app | 7.1.3 |
ip_address | User Device IP | 102.109.100.2 |
device_ip | User Device IP | 102.109.100.2 |
device_language | User Device Language | EN |
user_agent | User Device UserAgent | Mozilla%2F5.0+%28iPhone%3B+CPU+iPhone+OS+10_3_1+like+Mac+OS+X%29+AppleWebKit%2F603.1.30+%28KHTML%2C+like+Gecko%29+Version%2F10.0+Mobile%2F14E304+Safari%2F602.1 |
isp | Internet service provider of the device that installed the app | Verizon Internet |
region | Region code of the device that installed the app | us; gb; kr; pe |
country | Two-character country code of the device that installed the app | us |
city | City of the device that installed the app | Berlin |
postal_code | Device postal code of IP address | 12101 |
device_name | Device model number of the device that installed the app | G313HZ |
connection_type | Internet connection type of the device that installed the app | SM-cellular; Cable%2FDSL; Corporate |
device_manufacturer | Device manufacturer name of the device that installed the app | Samsung |
our_event_type_id | OUR event type id for which the event was attributed | 20876 |
tune_status | Indicates whether or not the click and corresponding installs/events were flagged as suspicious; possible values 1 (flagged as suspicious) or 0 (not flagged as suspicious) | 0 |
pea_chain | A non-unique token generated by the Swaarm platform | e6UKM7lLUwlwAWXUyNO25TCY |
retargeting | Whether the conversion is retargeted or not | 1 or 0 |
first_event | Whether the event conversion is fired for the first time or not | 1 or 0 |
uq | Identifier to match duplicated events | abc123xyz |
🔗 Sample Postback Link
https://track.yournetwork.swaarm-clients.com/postback?click_id=[Click ID macro for Advertiser]&event_id=[Advertiser Event ID/name Macro]&sale_amount=[Payout per conversion macro]&gaid=[Google Advertising ID macro]&idfa=[iOS advertising ID Macro]
💡 Publisher Value in Event Parameter
If your publisher requires a value in their event parameter for default events then use the following Swaarm macro for passing the Swaarm event ID to the publisher:
#{offer.eventTypeId?:'1'}
Using this macro, it will pass 1 for any conversions on the default event and the respective Swaarm event ID for any in-app conversions.