Tracking Documentation
This documentation describes how Tracking and Attribution works for both Android and iOS with the justtrack SDK.
In general, we do a last click/last view attribution. In order to find the best possible match between a click/view and an install, we support the following attribution practices (available both
s2s
and non-s2s
):- Referrer for Android
- Device id based - GAID for Android and IDFA for iOS (prior to iOS 14)
- Probabilistic fingerprinting in accordance with Apple's guidelines for iOS 14
- SKAdNetwork for iOS 14
- Postbacks from other attribution providers
We use a scoring logic that allows us to determine the most likely click, view or postback that caused an install.
During this process, we value the Playstore referrer, GAID and IDFA as the strongest signals. If they are missing, we do probabilistic fingerprinting and take additional parameters like IP, device type, device resolution and more into account.
The tracking parameters as well as the postback parameters for both iOS and Android can be found on this page. If there is a difference between the platforms or iOS 14, it is highlighted.
In order to track the source of the app installs, we rely on an internal view and click tracking tool. Therefore, we provide custom tracking URLs including required and optional parameters.
Depending on the campaign goal we can trigger postbacks on app installs as well as on custom in app events set up via the justtrack SDK.
We provide network specific tracking URLs. On app install, we check the referrer as well as additional information to match an app install with the associated view and click events.
All tracking URLs match the following pattern:
domain
+ event
+ appBundleId
+network specific ID
+ required tracking parameters
+ optional tracking parameters
click tracking URL
view tracking URL
Example click tracking URL containing all required parameters and some optional parameters.
https://tracking.justtrack.io/click?appBundleId={appBundleId}&network={networkId}&sourceCampaignId={sourceCampaignId}&platform={platform}&bidValue={bidValue}&clickId={clickId}&sourceId={sourceId}&creativeName={creativeName}&creativeId={creativeId}
Example view tracking URL containing all required parameters and some optional parameters.
https://tracking.justtrack.io/view?appBundleId={appBundleId}&network={networkId}&sourceCampaignId={sourceCampaignId}&platform={platform}&bidValue={bidValue}&viewId={viewId}&sourceId={sourceId}&creativeName={creativeName}&creativeId={creativeId}
- The
{networkId}
will be provided by us and will be generated automatically in the justtrack dashboard. - The remaining placeholders for the required and optional tracking parameters have to be provided by the partner network and configured in the justtrack dashboard by the advertiser.
- The justtrack dashboard will generate the network specific tracking links according to the configured placeholders.
The following tracking parameters are required for campaign tracking.
Tracking Parameter | Description |
appBundleId | App bundle ID/package name of the advertised app |
sourceCampaignId | Campaign ID issued by the partner network |
platform | "android" or "ios" |
The following tracking parameters are optional and primarily used for campaign optimization or to return in postbacks.
Tracking Parameter | Description |
viewId | Network generated unique ID of the view (view links only) |
clickId | Network generated unique ID of the click (click links only) |
referrerId | Network generated unique ID of the referrer (click links only) |
goalId | Id of the default or custom goal |
sourceCampaignName | Campaign Name as set in partner network |
campaignType | retargeting for retargeting campaigns, acquisition for acquisition campaigns |
bidType | Campaign cost model ("CPI", "CPA", "CPC", "CPM", "CPV", "CPCV") |
bidValue | CPI/CPA/etc. value (float, use . as decimal delimiter) |
bidCurrency | Currency (ISO 4217) |
sourceId | ID of the publisher’s app in which the ad was shown |
sourceName | Name of the publisher’s app in which the ad was shown |
sourceBundleId | App bundle ID/package name of the publisher’s app in which the ad was show |
sourceURL | Appstore URL in which the ad was shown |
sourcePlacement | Placement within the publisher’s app |
sourcePublisher | Publisher name of the source app |
sourceCategory | Category of the publisher’s app in which the ad was shown |
exchangeId | ID of ad exchange |
exchangeName | Name of ad exchange |
channel | Ad unit |
adSetId | Ad set / group id |
adSetName | Ad set name |
adType | Type of shown creative asset |
creativeName | Name of creative asset |
creativeId | ID of creative asset |
optimizationType | Optimization type of the campaign, e.g. CPA , CPI |
limitedAdTracking | "1" if ad tracking is limited "0" if ad tracking is not limited |
mobileId | Google Advertiser ID (GAID) / Identifier for Advertisers (IDFA)
- optional on views - required on clicks if the optional redirect parameter is set to false |
ip | Current GEO IP of the tracking event
- required on views - required on clicks if the optional redirect parameter is set to false |
country | GEO country of the user (ISO3166 alpha-2) |
osVersion | Operating system version |
deviceType | Device type (tablet, phone, etc.) |
deviceModel | Device model |
deviceResolution | User device’s screen resolution |
deviceVendor | Device vendor, e.g. apple |
userAgent | User agent of the tracking event, URL encoded |
redirect | true/false: Prevents user getting redirected to the appstore if set to false |
s2s | true/false: Describes if the click/view was executed by the server or by frontend |
custom0 | Optional custom parameter |
custom1 | Optional custom parameter |
custom2 | Optional custom parameter |
custom3 | Optional custom parameter |
On predefined and custom goals, we can trigger postbacks to share in app activity with the partner network.
The postback links with the required parameters have to be provided by the partner network and configured in the justtrack dashboard using the placeholders below.
On the following goals we can trigger postbacks.
Event | Trigger | Frequency |
user.attribution | App install / User gets attributed to a campaign | Once |
session_app_open | User opened the app | Multiple |
user.revenue | User generates revenue | Multiple |
custom | Custom event defined by the advertiser and sent via the justtrack SDK | Multiple |
On any goal conversion, we can send a postback and return the following parameter values.
Postback Parameter | Description |
{clickId} | Network generated unique ID of the click |
{viewId} | Network generated unique ID of the view |
{sourceId} | ID of the publisher’s app in which the ad was shown |
{sourceName} | Name of the publisher’s app in which the ad was shown |
{sourceBundleId} | App bundle ID/package name of the publisher’s app in which the ad was show |
{goalId} | ID of the reached goal |
{goalName} | IName of the reached goal |
{goalIdentifier} | ID of the goal and app. Can be configured on Postbacks for each app for networks that require an ID on goal and app level. |
{storeId} | Store ID of the advertiser’s app |
{appBundleId} | Package name/Track ID of the advertiser’s app |
{appId} | Internal ID of the advertiser’s app |
{conversionDateIso} | Time of the app install in ISO 8601, estimated for iOS 14 |
{conversionDateTime} | Time of the app install in YYYY-MM-DD HH:MM:SS |
{conversionTimestamp} | Unix timestamp of the app install (seconds precision) |
{attribution} | Information if a user was attributed by referrer, GAID/IDFA, SKAdNetwork, etc. |
{attributionType} | "view" or "click" based on the attribution type |
{attributionProvider} | Attribution provider name |
{isViewAttribution} | "1" in case of view attribution and "0" in case of click attribution |
{isAttributed} | "1" when attributed to notified network and "0" when attributed to other networks or organic |
{userType} | User type can either be "acquisition" (new users) or "retargeting" (returning users) |
{campaignType} | Campaign type can either be "acquisition" or "retargeting" |
{eventDateIso} | Time of event in ISO 8601 |
{eventDateTime} | Time of event in YYYY-MM-DD HH:MM:SS |
{eventTimestamp} | Event Unix timestamp (seconds precision) |
{sourceCampaignId} | Campaign ID of the network as provided in the tracking links or as provided by SKAdNetwork Postback |
{mobileId} | Google Advertiser ID (GAID) / Identifier for Advertisers (IDFA) |
{deviceId} | Android Device ID / Identifier for Vendors (IDFV) |
{androidId} | Android Device ID, empty on iOS |
{idfv} | Identifier for Vendors (IDFV), empty on Android |
{limitedAdTracking} | "1" if ad tracking is limited "0" if ad tracking is not limited |
{ip} | Current GEO IP of the tracking event |
{country} | GEO country of the user (ISO3166 alpha-2) |
{city} | GEO city of the user |
{platform} | "android" or "ios" |
{osVersion} | Operating system version |
{deviceType} | Device type as defined by Google |
{deviceModel} | Device model as defined by Google |
{device} | Device name as defined by Google |
{userAgent} | User agent of the tracking event |
{currentDateIso} | Current time in ISO 8601 |
{currentDateTime} | Current time in YYYY-MM-DD HH:MM:SS |
{currentTimestamp} | Current time as Unix timestamp (seconds precision) |
{network} | Network user has been attributed to |
{channel} | Channel defined via justtrack dashboard |
{campaignId} | JustTrack internal campaign ID |
{revenueValue} | Revenue value in USD (revenue event only) |
{appUserId} | JustTrack internal ID of the user |
{custom0} | Optional custom parameter |
{custom1} | Optional custom parameter |
{custom2} | Optional custom parameter |
{custom3} | Optional custom parameter |
The user specific parameters are not available on iOS 14 SKAdNetwork integrations due to Apple's privacy regulation. Please refer to the SKAdNetwork documentation for postback details.
We can return the following parameter values as provided once configured in the justTrack dashboard.
Postback Parameter | Description |
{digitalTurbineAppId} | Network and app specific Id |
{fyberAppId} | Network and app specific Id |
{kayzenApiKey} | Network and app specific Key |
Last modified 2mo ago