Track users from click to conversion across multiple devices.
Tradedoubler's Cross Device Tracking allows you to track user activity across devices.
Tradedoubler's Cross Device Tracking is supported by our global performance tracking platform. We'll use latency load balancing technology to ensure traffic is routed through the best data centre from anywhere in the world.
Once tracked every transaction then passes through Tradedoubler's proprietary tracking validation process. Impressions, clicks, leads and sales are all screened by dozens of quality checks to confirm their validity. So you can be confident in the accuracy of transactions being reported.
Do not have a publisher account? Register with Tradedoubler and get started today!
Updating your existing click tag to benefit from Cross Device Tracking is simple. You must add the following two parameters:
Name | Description | Type |
---|---|---|
extid | The user's email address (i.e. the email address of the user currently logged into your site, not your own email address). The value must be hashed using SHA-256 before being included in the click tag (see Example hash scripts for more information). | String |
exttype | Defines the user ID type. If you are supplying the user's email address then exttype=1. If you are supplying an internal user ID then exttype=0. An internal user ID is only to be used if you do not have access to the user's email address. | Integer |
This is an example of a click tag supplying the user's email address:
https://clk.tradedoubler.com/click?p=12345&a=12345&g=12345&extid=64f2d6b0c74c9f07beb8b8f983dab9a722bf813c204c6d8f0f742c57519ab6a7&exttype=1&epi=your-epi-value&epi2=your-epi2-value&url=https%3A%2F%2Fadvertiser.com%2Fproduct_page_url%2F
As well as reporting the email address on the click tag, you can also send the data to Tradedoubler at other times. For example, when a user logs into your site but before they have completed a click. Doing so will increase the reach and speed at which you build connections between users and their devices.
This is an example of a standard API call to Tradedoubler:
https://tbs.tradedoubler.com/user?o=12345&extid=64f2d6b0c74c9f07beb8b8f983dab9a722bf813c204c6d8f0f742c57519ab6a7&exttype=1&verify=true
This is an example of an API call that includes the device ID:
https://tbs.tradedoubler.com/user?o=12345&extid=64f2d6b0c74c9f07beb8b8f983dab9a722bf813c204c6d8f0f742c57519ab6a7&exttype=1&deviceid=5cfd36631ee6481d4d1b8581f1c8a212edbcddac&verify=true
This tables shows the parameters for the service.
Name | Description | Type |
---|---|---|
extid | The user's email address (i.e. the email address of the user currently logged into your site, not your own email address). The value must be hashed using SHA-256 before being included in the API call (see Example hash scripts for more information). | String |
exttype | Defines the user ID type. If you are supplying the user's email address then exttype=1. If you are supplying an internal user ID then exttype=0. An internal user ID is only to be used if you do not have access to the user's email address. | Integer |
o | Organisation ID (provided by Tradedoubler). | Integer |
deviceid | If the user is in-app (where no cookie is available) the device ID should be included. If the user is in the web browser (where a cookie is available) this parameter should be removed/left empty. In this case Tradedoubler will access the cookie and collect the TDUID. | String |
verify | Defines is the URL parameters should be verified. If false, a HTTP_OK response will always be returned. If true, the parameters will be verified and an appropriate response returned. | Boolean |
User privacy is extremely important so both Tradedoubler and it's partners need to take steps to protect it. As with all data sharing, publishers are required to abide by applicable local legislation; this includes gaining the user's consent.
In addition to gaining the consent, Tradedoubler requires all user IDs (extid) to be hashed before being passed to Tradedoubler. This ensures that the data is anonymised before leaving your system and does not classify as PII (Personally Identifiable Information).
Tradedoubler have chosen to use the SHA-256 function for its advanced security features. Hashing is a one-way process meaning Tradedoubler or other partners can not decrypt the value and will never know the email address/user ID of the user.
Before passing the email address/user ID through the hash function you must ensure:
Many programming languages provide built-in library support for SHA-256 hashing. Here are some examples.
The Apache Common Codec offers a built in SHA-256 function in the DigestUtils class. Assuming the parameter name for the user's email address is email
and we wanted to save the output to a parameter called hashed_email
the hash function would be called as follows:
String hashed_email = org.apache.commons.codec.digest.DigestUtils.sha256Hex(email);
If you already include DigestUtils in the page (e.g. using import org.apache.commons.codec.digest.DigestUtils;
) the above example can be shortened to the following:
String hashed_email = DigestUtils.sha256Hex(email);
PHP offers the following built in SHA-256 hash function:
string hash ('sha256', $data, false);
Assuming the parameter name for the user's email address is $email
and we wanted to save the output to a parameter called $hashed_email
the hash function would be called as follows:
$hashed_email ('sha256', $email, false);
Note that false ensures a hexidecimal output is returned rather than raw binary.
The .NET Framework offers a number of built in SHA-256 function in the SHA-256 Class of the System.Security.Cryptography namespace, including C#, C++ and VB.