Similar to other MMPs, If you are not integrated with Singular yet, you need to write to their integration team and ask for the details about the integration process. However, if you are already integrated, then simply ask for the current integration details, meaning the tracking and the postback link configurations, and replace them with the new link populated by Swaarm-supported parameters and macros.
In most cases, you can update the integration by logging into Singular, going to the Partner Configuration page, opening the integration, and re-saving it.
Singular Tracking link
Singular tracking links have the following structure, a[SUBDOMAIN] and the [DNS_ZONE] is "sng.link". Together, the subdomain and the DNS zone make up the domain.
This is an example of a Singular Link without any query parameters:
https://examplesubdomain.sng.link/C59c0/47bm?
Singular Attribution link Template:
This is how the Singular tracking URL template should look after adding the Swaarm macros:
https://examplesubdomain.sng.link/C59c0/47bm?cl={id}&psid={publisher.id}&pssid={publisher.subId}&idfa={device.ids.idfa}&aifa={device.ids.gaid}&pcn={offer.name}&pcid={offer.id}&ip={user.ip}&ua={user.ua}&psn={publisher.app}
Additional Tracking Link mapping:
Singular Parameter | Definition | Swaarm Macro | Definition2 |
cl | The ID of the click or transaction, when available | {id} | Swaarm click ID(mandatory pass) |
ip | IP of the device at the time of the click | {user.ip} | IP of the user device |
ve | The version of the OS on the user's device. Note: numeric and decimal only. | {user.os_version} | OS version of the user device |
idfa | The iOS Advertising ID of the device (unhashed/raw) | {device.ids.idfa} | Apple iOS advertising identifier |
aifa | The Android Advertising ID of the user's device, a.k.a. GAID | {device.ids.gaid} | Google advertising identifier |
ua | The user agent of the device | {user.ua} | user-agent string determined at the time of click |
lc | The language preference on the device, e.g., "en-US" | {user.language} | Language of the user device |
pssid | The ID of the site/placement within the publisher app - Sub Publisher ID | {publisher.subId} | Publisher Sub identifier |
pcn | The name of the campaign | {offer.name} | Swaarm network Offer Name |
pcid | The ID of the campaign | {offer.id} | Offer ID in Swaarm platform |
psid | The public ID of the app in which the ad was served (usually the ID of the app in the relevant app store) - Publisher ID | {publisher.id} | Swaarm network Publisher ID |
p | Device Platform (Android/iOS) | {user.os} | Operating System of the user device |
psn | The name of the app in which the ad was served (usually the name of the app in the relevant app store). | {publisher.app} | Publisher APP name |
pcrn | The name of the creative (depending on the network, Singular's "creative" may be the same as the network's "ad", or there may be multiple creatives for each ad) | {publisher.creative} | Publisher creative ID/name |
For the full list of Advertiser tracking link macros supported by Swaarm, here
You can find the additional tracking link parameters supported by Singular,
here.
Singular Postback Link Templates:
Singular supports Install and event postback separately. The main difference should be in the Swaarm event_id parameter. As an optional, they also support Revenue and Fraud postbacks separately. Here we have suggested some templates that can be used.
Install postback template
https://track.yournetwork.swaarm-clients.com/postback?click_id={cl?Network Name}&gaid={AIFA}&idfa={IDFA}&city={EVENT_CITY}&conversion_timestamp={UTC}&country={EVENT_COUNTRY}&os_name={PLATFORM}
Event postback template
https://track.yournetwork.swaarm-clients.com/postback?event_id={EVTNAME}&click_id={cl?Network Name}&gaid={AIFA}&idfa={IDFA}&city={EVENT_CITY}&conversion_timestamp={UTC}&country={EVENT_COUNTRY}&os_name={PLATFORM}
Do note: The event will be tracked based on the Singular event name, so it should be placed on the Swaarm event page in Adv.EventType ID section as follows:
Revenue postback template
https://track.yournetwork.swaarm-clients.com/postback?sale_amount={AMOUNT}&event_id={EVTNAME}&click_id={cl?Network Name}&gaid={AIFA}&idfa={IDFA}&city={EVENT_CITY}&conversion_timestamp={UTC}&country={EVENT_COUNTRY}&os_name={PLATFORM}
Fraud postback template
https://track.yournetwork.swaarm-clients.com/postback?status=rejected&rejection_reason={FRAUD_REASON_EXTERNAL}&click_id={cl?Network Name}&gaid={AIFA}&idfa={IDFA}&city={EVENT_CITY}&conversion_timestamp={UTC}&country={EVENT_COUNTRY}&os_name={PLATFORM}
Additional Postback Link mapping:
Swaarm Parameter | Parameter Definition | Singular Macro | Macro Definition |
click_id | Swaarm click id for the user for which the conversion is attributed | {cl?Network Name} | Network click ID (string) which is passed by the network through Singular's tracking link's cl parameter. Network Name must be replaced with the name by which it is integrated with Singular |
gaid | Google Aid of the device | {AIFA} | unhashed Android advertising identifier of the device |
idfa | IDFA of the iOS device | {IDFA} | Unhashed iOS advertising identifier of the device |
publisher_id | Swaarm Publisher ID | {psid?Network Name} | Source site or application ID for the click(string). Available if passed with the click. |
event_id | Id of the event attributed in the advertiser’s SDK | {EVTNAME} | Name of the event. For rejected revenue events, this will become __iapinvalid__ - see IAP_RECEIVED_EVENT_NAME for the original event name. |
city | City of the device that installed the app | {EVENT_CITY} | Country location of the device when the event occurred |
country | Two character country code of the device that installed the app | {EVENT_COUNTRY} | Country location of the device when the event occurred |
os_name | Operating system of the device that installed the app | {PLATFORM} | iOS or Android |
sale_amount | The revenue per conversion we made in the advertiser platform | {AMOUNT} | Revenue event postbacks only. The transaction amount in the transaction currency, rounded to two digits after decimal E.g. Revenue amount 1.346 will be sent as 1.35. |
conversion_timestamp | Conversion timestamp recorded by the advertiser’s SDK on conversion | {UTC} | Install or event timestamp in UNIX format in seconds |
click_timestamp | Click timestamp recorded by the advertiser’s SDK on click | {CLICK_UTC} | Click timestamp in UNIX format in seconds |
rejection_reason | Advertiser’s reason for rejected attribution | {FRAUD_REASON_EXTERNAL} | The rejection reason can be either one of Singular's built-in Fraud Protection Methods (see details) or a custom rule defined by the customer. |
device_name | Device model number of the device that installed the app | {DEVICE_MODEL} | Device model |
device_manufacturer | Device manufacturer name of the device that installed the app | {DEVICE_BRAND} | Device brand |
For the full list of advertiser postback parameters supported by Swaarm, here
You can find the additional postback link macros supported by Singular, here
It is important to note these are suggested templates that you can use, but you can add or delete some parameters and macros based on your company's requirements.
The domain name (
yournetwork
) should be replaced with your own postback domain