Follow

Probabilistic Attribution (receiving postback without click ID)

Time to read: 7 min.

topic.pngThe article covers the following topics:

By the policy conducted by Apple Inc. in 2021, it is prohibited for attribution platforms to store information, which could help to identify the end-user. As a result it becomes impossible to pass to the advertiser this information (in particular click ID, IP, User Agent) and as a result to get it back. The ordinary process of S2S conversions tracking in Affise has always envisaged the receiving of click ID via the postback link. That’s why Affise offers a new system of conversions tracking, which is called Probabilistic Attribution.

In this article you'll learn how to get postbacks without click ID values there if you're integrated with Appsflyer as well as with other tracking/attribution platforms. You also can check out the article on integration with Appsflyer in particular.

If your advertiser uses one of the listed attribution platforms and it concerns Apple’s policy, it means you and all your affiliates should use Probabilistic Attribution.

Regular scheme

How it works on clicks level

Regular scheme is useful when the chain of traffic sources isn't long. You're integrated with Appsflyer and have not more than 4 traffic sources.

Step #1:  You need to give the Affise tracking URL to the affiliate. 

Markup_2020-05-07_at_19.10.37.png

You can use the following parameters to get some values if needed:

sub1-sub8 Parameters for all kinds of information
os_id An additional parameter
ext1-ext3 Additional parameters
ref_id An additional parameter

import.png Values passed via ext1 - ext3, os_id and ref_id parameters are not depicted in Statistics, but it is possible to get them via API by using Statistics method for clicks. See our guide on using API methods related with Statistics.

Step #2: Your advertiser should give you a link, which is to be put in the ‘Tracking URL’ field in the offer:

unnamed__4_.png

You can use the following macros here:

{pid} Affiliate ID - mandatory macro
{offer_id} Offer ID - mandatory macro
{ip} IP-address
{geo} Country code (ISO 3166-1 alpha-2)
{sub1} - {sub8} SubId #1 - SubId #8
{deeplink} Deeplink
{device_ua} Device User Agent
{rand} Unique number (UUID format, eg: 9cdf32d5-124e-4e06-b25b-4c92d3cec9dc)
{time} Unix time
{city} City
{time_petty} Time of click committing in format h:i:s
{date_only} Date of click committing in format y-m-d
{affiliate_name} Company name of affiliate
{advertiser_id} ID of Advertiser
{offer_name} Offer Title
{referrer} Click referrer
{impression_id}
Impression ID
{language}  Device language

import.pngTechnically it is possible to pass all information about clicks, which Affise stores, however it is important to remember that according to Apple's policy attribution platforms shall not store this data on their side. It means you still can send your IP, User Agent and other unique information to the advertiser, who uses an attribution platform, however he shall not store this information and you won’t be able to receive it via postback. As a result it is useless to pass it to him.

How it works on conversions level

The process of conversion tracking has many peculiarities in the case of Probabilistic Attribution. 

Firstly you need to get a postback link here: Offers - Offer edit page - Postbacks tab:

Annotation_on_2021-03-23_at_11-11-29.png

The sample of the postback link for Appsflyer:

https://offers-rocketcompany.affise.com/probattribution?action_id={postback_id}&goal={event_name}&offer_id={af_c_id}&pid={af_siteid}&country={country_code}&timestamp={attributed_touch_hour}&sub2={af_sub_siteid}&action_timestamp={event_hour}&platform={platform}&sub8=a_macro_with_data_on_all_subsources.

The sample of the postback link for other tracking/attribution platforms:

https://offers-rocketcompany.affise.com/probattribution?action_id={transaction_id}&goal={event_name}&offer_id={offer_id}&pid={pid}&country={country}&timestamp={timestamp}&sub2={aff_sub2}&platform={platform}&sub8=a_macro_with_data_on_all_subsources.

There are only 2 mandatory parameters for the Affise postback link for Probabilistic Attribution:

offer_id

Offer ID

pid

Affiliate ID

In the majority of cases we pass info and get it back through the same parameters & macros:

  • Tracking link: &offer={offer_id}
  • Postback URL: offer_id={offer}

Other parameters for Appsflyer are:

action_id Unique postback ID
goal Goal number or goal value
country Country where the conversion was made. Use Alpha-2 ISO codes (FR, RU, DE, etc.)
timestamp Time of click creation in YYYY-MM-DD HH:SS format. Rounded down to the nearest hour on Appsflyer's side.
action_timestamp
Time of conversion creation in YYYY-MM-DD HH:SS format. Rounded down to the nearest hour on Appsflyer's side.
sub2 Sub2 value, which helps to select a right payout in the offer
platform OS of the end user, who created the conversion. Use these values: ios/android. 
status

Conversions status:

1 - Approved

2 - Pending

3 - Declined

5 - Hold

comment Comment
custom_field1 - custom_field7 Additional information about conversions

Other available parameters for other platforms are:

action_id Unique conversion ID in the advertiser's system
goal Goal number or goal value
country Country where the conversion was made. Use Alpha-2 ISO codes (FR, RU, DE, etc.)
timestamp Time of click creation in Unix format
sub2 Sub2 value, which helps to select a right payout in the offer
platform OS of the end user, who created the conversion. Use these values: ios/android. 
status

Conversions status:

1 - Approved

2 - Pending

3 - Declined

5 - Hold

comment Comment
sum Conversion revenue 
custom_field1 - custom_field7 Additional information about conversions

import.pngIf you don’t have both mandatory parameters in the postback link, then the conversion won’t be registered. You’ll see ‘Status 2’ in the Server postbacks slice of Statistics: 

Annotation_on_2021-01-22_at_13-25-45.png

All conversions registered with the usage of Probabilistic Attribution have a relevant comment [Probabilistic Attribution]:

Annotation_on_2021-01-22_at_15-01-38.png

Sub8 scheme

If the whole chain of redirect is quite long and there are many traffic sources (affiliates), we suggest the following: use the {sub8} macro for the advertiser's tracking URL and &sub8= parameter for the Probabilistic Attribution postback.

Step 1

Receive the offer ID and affiliate ID via &sub8= parameter in your Affise tracking link:

https://yourcompany.g2afse.com/click?pid=1&offer_id=1&sub8={sub8}|{offer_id},{pid}

where:

  • &pid= - affiliate ID on your side
  • &offer_id= - offer ID on your side
  • &sub8= - parameter for receiving offer ID and affiliate ID of your affiliate's sources
  • {sub8} - offer IDs and affiliate IDs of your affiliate's sources
  • {offer_id} - offer ID on your affiliate side
  • {pid} - affiliate ID on your affiliate side

Step 2

Pass your offer ID and affiliate ID as well as the offer ID and affiliate ID your sub sources via {sub8} macro to your advertiser:

https://youradvertiser.g2afse.com/click?pid=1&offer_id=1&sub8={sub8}|{offer_id},{pid}

where:

  • &pid= - affiliate ID on the advertiser side
  • &offer_id= - offer ID on the advertiser side
  • &sub8= - parameter for receiving offer ID and affiliate ID of your sources
  • {sub8} - offer IDs and affiliate IDs of your sources
  • {offer_id} - offer ID on your side
  • {pid} - affiliate ID on your side

import.pngKeep the indicated order of macros in the advertiser's tracking link: &sub8={sub8}|{offer_id},{pid}. If you don't have sub sources, the order is: &sub8={offer_id},{pid}. If the order is incorrect, the system won't be able to extract the needed data on the postback level.

Step 3

Receive offer IDs and affiliate IDs of all traffic sources (including yourself) via your postback link:

https://offers-yourcompany.affise.com/probattribution?sub8={sub8}

where:

  • &sub8= - your parameter to receive offer IDs and affiliate IDs of all your sub sources, including yourself.
  • {sub8} - advertiser's macro to pass this data to you.

Step 4

Pass the offer ID and affiliate ID of all your sub sources via {sub8} parameter in the postback link to your affiliate: 

https://offers-youraffiliate.affise.com/probattribution?sub8={sub8}

where:

  • &sub8= - parameter of your affiliate to receive offer IDs and affiliate IDs of all his sub sources
  • {sub8} - your macro to pass this data to your affiliate

import.pngIf you use this scheme, no need to use &offer_id= and &pid= parameters in the postback link. You also can use all the macros and parameters suggested in the regular scheme, except these ones in the postback link.

We higly recommend to set local postback for your affiliates instead of the global one.

The example

The scheme: Affise client #4 -> Affise client #3 -> Affise client #2 -> Affise client #1 -> Appsflyer -> Affise client #1 -> Affise client #2 -> Affise client #3 -> Affise client #4. 

Aff_postbacks_PA1.jpg

Clicks

Client # Tracking link sample Example data
Client #4

https://client3.g2afse.com/click?pid=3&offer_id=3&sub8={offer_id},{pid} 

https://client3.g2afse.com/click?pid=3&offer_id=3&sub8=4,4
Client #3 https://client2.g2afse.com/click?pid=2&offer_id=2&sub8={sub8}|{offer_id},{pid} https://client2.g2afse.com/click?pid=2&offer_id=2&sub8=4,4|3,3
Client #2 https://client1.g2afse.com/click?pid=1&offer_id=1&sub8={sub8}|{offer_id},{pid} https://client1.g2afse.com/click?pid=1&offer_id=1&sub8=4,4|3,3|2,2
Client #1 http://app.appsflyer.com/com.appsflyer?af_siteid={pid}&af_c_id={offer_id}&parameter_for_all_subsources={sub8}|{offer_id},{pid} http://app.appsflyer.com/com.appsflyer?af_siteid=1&af_c_id=1&parameter_for_all_subsources=4,4|3,3|2,2|1,1
Appsflyer gets &af_siteid={pid}&af_c_id={offer_id}&parameter_for_all_subsources={sub8}|{offer_id},{pid} &af_siteid=1&af_c_id=1&parameter_for_all_subsources=4,4|3,3|2,2|1,1

Conversions

Client # Affise postback link Example data
Client #4 offer_id={offer_id}&pid={pid}  offer_id=4&pid=4
Client #3 https://offers-client4.affise.com/probattribution?sub8={sub8} https://offers-client4.affise.com/probattribution?sub8=4,4
Client #2 https://offers-client3.affise.com/probattribution?sub8={sub8} https://offers-client3.affise.com/probattribution?sub8=4,4|3,3
Client #1 https://offers-client2.affise.com/probattribution?sub8={sub8} https://offers-client2.affise.com/probattribution?sub8=4,4|3,3|2,2
Appsflyer sends https://offers-client1.affise.com/probattribution?sub8=a_macro_with_data_on_all_subsources https://offers-client1.affise.com/probattribution?sub8=4,4|3,3|2,2|1,1

Peculiarities

Probabilistic Attribution envisages several key peculiarities regardless of the scheme you use:

1) As there is no need to get a click ID via the Affise postback link, the conversion received via it won’t have the click ID. 

conv.png

However, it always has an action ID anyway. 

How is it generated? There are two ways:

  • The advertiser sent some value to your &action_id= parameter - this exact value will be depicted in the ‘ID’ column in Conversions slice.
  • The advertiser didn’t send you his value. In this case, Affise will generate a specific number for this exact conversion. This value will be depicted in the ‘ID’ column (see the screenshot above).

2) If you use ‘Click session lifespan’ or ‘Minimal click session lifespan’ options:

Annotation_on_2021-01-22_at_12-32-34.pngThen you need to use the &timestamp= parameter to let the system get the time when the click was created. Otherwise, both options won’t work.

import.png The date and time should be passed in UNIX format via this parameter.

There is a peculiarity when it comes to integration with Appsflyer: you need to use both parameters:

  • &timestamp= - Time of click creation in YYYY-MM-DD HH:SS format. 
  • &action_timestamp= - Time of conversion creation in YYYY-MM-DD HH:SS format. 

Both values are rounded down to the nearest hour on Appsflyer's side. It means there could be the following situation: click created at 14:00 and conversion created at 14.00, however the actual time is 14:15 and 14:55. Mind that when setting up Click session lifespan and Minimal click session lifespan options.

You can read about more points about Probabilistic integration with Appsflyer here.

3) If you would like to increase the security level of the tracking process, then you have to use only the ‘Allowed IP’ option: 

IPs.png

This option is available on the advertiser’s edit page as well. 

You can automatically add all IPs of Appsflyer by clicking on 'Add Appsflyer's server IPs' button. Nevertheless, you can insert all the needed IPs manually.

Secure postback code doesn’t work in case of the Probabilistic Attribution at all. The &secure= parameter doesn’t work for Probabilistic Attribution postback link.

4) ‘Unique IP only’ and ‘Reject not unique IP’ options don’t work in the case of Probabilistic Attribution.

5) When Probabilistic Attribution is used, the payouts selection is performed differently. There are three parameters for the Affise postback link, which help the system to select the appropriate payout: 

country Country where the conversion was made
platform OS of the end-user, who made the conversion
sub2 Sub2 value

 

If you have restrictions in relevant fields (‘Country’, ‘OS’, ‘Sub2’), then you have to use those parameters. Otherwise, the system will perceive information as ‘All countries’, ‘All OSes’, ‘All sub2 values’, which will influence the process of payouts selection

import.png It is possible to receive only sub2 value despite you might pass other subs to the advertiser via his tracking link. You have to use &sub2= parameter in the postback link if you have some relevant restrictions in payouts.

We highly recommend not to use restrictions in other fields (‘Cities’, ‘Devices’, other subs), because the system will always perceive information from each postback as ‘All cities’, ‘All devices’, and all sub-values regardless of which parameters you use in the very postback link.

article.pngYou may also find the following articles helpful:

If you still have any questions left on Probabilistic Attribution, feel free to address them to Affise Technical Support Team via support@affise.com  as long as to contact your Dedicated Account Manager.  

Updated by Lizaveta Talkachova

Was this article helpful?
4 out of 4 found this helpful
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.