Target group Name Version Version info Implementation steps Last modified
merchant Magento Plugin 1.x - 2.x MAGENTO CONVERSION IMPLEMENTATION

In order to get tracking up and running swiftly within your Magento webshop, we gladly point you to the available plugins.
Provided below are plugins for Magento version 1.7.2 - 1.9.X, as well as a plugin for Magento versions 2.3 - 2.X.

Magento version 2

Magento version 1 by third party Magmodules.eu.
For support, please refer to Magmodules in case you might run into configuration issues. Their professional support has short response times.
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=70
15-Dec-2021 16:39:24
merchant WP WooCommerce extension 1.x Generic Please note that Version 2.x is available now.
To ensure a seamless experience, make sure to implement the most recent version via the following guide: Version 2.x

In order to get the TradeTracker implementation up and running seamlessy with WooCommerce, you may add the TradeTracker WooCommerce Extension manually to your WP installation.

The zip-file in question may be found within your merchant dashboard under the "Support" heading at the top of the page:



Once you have downloaded the zip file, upload it to your Wordpress Plugins section by clicking the "Add new" button:



In the subsequent screen, click the "Upload Plugin" button and upload the above downloaded zip file:



This is also they way-of-working in case you're updating an existing TradeTracker WooCommerce plugin with a new version.

After a successful upload, head over to your plugins section and activate the plugin if not already done by clicking the "Activate" link:



After the plugin has successfully been activated, click "Settings":



On the subsequent page, enter your "Campaign ID" and "Product ID" as received from TradeTracker.


Optionally, you may enter a "Tracking Group ID" but only if explicitly instructed by TradeTracker to enter a value for it. If not, you may leave it blank.

Save these settings and you're good to go!

Now, please test the implementation together with your account manager.
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=72
06-Dec-2021 16:46:35
merchant General All Server to Server (S2S) tracking Setting up Server to Server (S2S) tracking
Server to server tracking is used in situations where regular conversion registration is not possible by means of placing our tracking code within the publicly available pages on your website (known as "client-side tracking"). The S2S method relies on a unique click identifier to be stored on your server and passed back at the time of the conversion.

We are able to pass our unique click identifier to each page on your website and you are free to choose exactly what the name of this parameter should be, e.g. "someparameter".

The tracking data value is a unique reference to identify clicks within our system and is unique for each incoming click on your website.

As a result, a link to one of your landing pages will look something like:

http://yourwebsite.com/landing/page?someparameter=[marker]0%3A%3A12345%3A%3Areference%3A%3A%3A%3A1405418672[/marker]
Please note we always send this parameter url-encoded. Also, it's important this value is stored somewhere within a storage of choice, e.g. a memory database and/or a relational database, depending on the usage. When using a database, it can for example be stored within a column ttClickID or any other column name you prefer.

How to pass back the click identifier
Whenever a conversion is triggered for which an affiliate should receive a reward, this click identifier should be passed back to TradeTracker.
One of the tasks that lies ahead for your development team, is to store this unique click identifier, together with the information that is used to trigger this conversion.

Example
Let's assume you run an online gaming website and you reward affiliates for bringing in new players. It's important that our unique click identifier is stored together with the new player information so that it can be accessed at the time of conversion trigger.

Within a database it would look something like:

idnameuseremlregdatettClickID
111J. Smithjsmith00jsmith@eml.net2014-09-01[marker]0::12345::abc::::1405418672[/marker]
112J. Doeplayer123doe.j@email.org2014-09-0212::54321::def::::1405419867

LEAD CONVERSION CALLBACK
In case an event is triggered that resembles a lead conversion (e.g. user registration), the following callback format is used:

https://tl.tradetracker.net/?s2s=1&cid=[marker]CAMPAIGN_ID[/marker]&pid=[marker]PRODUCT_ID[/marker]&tgi=&tid={transactionID}&descrMerchant={descrMerchant}&descrAffiliate={descrAffiliate}&data=[marker]{ttClickID}[/marker]&vc={voucherCode}

SALES CONVERSION CALLBACK
If an event is triggered that resembles a sales conversion (purchase, booking), the following callback format is used:

https://ts.tradetracker.net/?s2s=1&cid=[marker]CAMPAIGN_ID[/marker]&pid=[marker]PRODUCT_ID[/marker]&tgi=&tid={transactionID}&tam={transactionAmount}&descrMerchant={descrMerchant}&descrAffiliate={descrAffiliate}&currency={currency}&data=[marker]{ttClickID}[/marker]&vc={voucherCode}
In the above callbacks the {ttClickID} is tied to a fixed "data" parameter and its value must be replaced by the value saved during the initial click (and eventually stored within a database, like the table above).

Note: Please make sure all values are URL-encoded.

Example formatted callback

https://tl.tradetracker.net/?s2s=1&cid=[marker]CAMPAIGN_ID[/marker]&pid=[marker]PRODUCT_ID[/marker]&tgi=&tid=123456&descrMerchant=new%20player&descrAffiliate=new%20player&data=[marker]0%3A%3A12345%3A%3Areference%3A%3A%3A%3A1405418672[/marker]
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=31
30-Nov-2021 17:07:39
merchant General All Multi country campaign conversion script MULTI COUNTRY CAMPAIGN CONVERSION SCRIPTS
TradeTracker campaigns get a unique campaign ID per country in which the campaign will be active. The Tracking Group ID is used to be able to use just 1 general conversion script on your confirmation page, instead of a script for each country in which the campaign is active. The way that this works is that our system will check for each campaign within the tracking group where the originating click came from and assigns any resulting conversions to the correct campaign in the correct country.

The multi-country conversion script should only be used after receiving a Tracking Group ID from your account manager.

Please note that the script you choose below must contain 1 of your campaign ID's (in general just the main campaign ID) in order for the conversion scripts to work.

The campaign ID that is added is only used to check if the main campaign is active, the tracking group number is used to assign the conversion to the correct campaign in our system.

MULTI COUNTRY CAMPAIGN SALES CONVERSION SCRIPT
<script type="text/javascript">
var ttConversionOptions = ttConversionOptions || [];
ttConversionOptions.push({
type: 'sales',
campaignID: '[marker]CAMPAIGN_ID[/marker]',
productID: '[marker]PRODUCT_ID[/marker]',
transactionID: '[marker]ORDER_ID[/marker]',
transactionAmount: '[marker]ORDER_AMOUNT[/marker]',
quantity: '1',
descrMerchant: '',
descrAffiliate: '',
currency: '',
vc:'',
trackingGroupID: '[marker][/marker]'
});
</script>
<noscript>
<img src="//ts.tradetracker.net/?tgi=[marker][/marker]&amp;pid=[marker]PRODUCT_ID[/marker]&amp;tid=[marker]ORDER_ID[/marker]&amp;tam=[marker]ORDER_AMOUNT[/marker]&amp;data=&amp;qty=1&amp;descrMerchant=&amp;descrAffiliate=&amp;event=sales&amp;currency=[marker]EUR[/marker]&amp;vc=" alt="" />
</noscript>
<script type="text/javascript">
// No editing needed below this line.
(function(ttConversionOptions) {
var campaignID = 'campaignID' in ttConversionOptions ? ttConversionOptions.campaignID : ('length' in ttConversionOptions && ttConversionOptions.length ? ttConversionOptions[0].campaignID : null);
var tt = document.createElement('script'); tt.type = 'text/javascript'; tt.async = true; tt.src = '//tm.tradetracker.net/conversion?s=' + encodeURIComponent(campaignID) + '&t=m';
var s = document.getElementsByTagName('script'); s = s[s.length - 1]; s.parentNode.insertBefore(tt, s);
})(ttConversionOptions);
</script>


MULTI COUNTRY CAMPAIGN LEADS CONVERSION SCRIPT
<script type="text/javascript">
var ttConversionOptions = ttConversionOptions || [];
ttConversionOptions.push({
type: 'lead',
campaignID: '[marker]CAMPAIGN_ID[/marker]',
productID: '[marker]PRODUCT_ID[/marker]',
transactionID: '[marker]ORDER_ID[/marker]',
descrMerchant: '',
descrAffiliate: '',
trackingGroupID: '[marker][/marker]'
});
</script>
<noscript>
<img src="//tl.tradetracker.net/?tgi=[marker][/marker]&amp;pid=[marker]PRODUCT_ID[/marker]&amp;tid=[marker]ORDER_ID[/marker]&amp;data=&amp;descrMerchant=&amp;descrAffiliate=&amp;event=lead" alt="" />
</noscript>
<script type="text/javascript">
// No editing needed below this line.
(function(ttConversionOptions) {
var campaignID = 'campaignID' in ttConversionOptions ? ttConversionOptions.campaignID : ('length' in ttConversionOptions && ttConversionOptions.length ? ttConversionOptions[0].campaignID : null);
var tt = document.createElement('script'); tt.type = 'text/javascript'; tt.async = true; tt.src = '//tm.tradetracker.net/conversion?s=' + encodeURIComponent(campaignID) + '&t=m';
var s = document.getElementsByTagName('script'); s = s[s.length - 1]; s.parentNode.insertBefore(tt, s);
})(ttConversionOptions);
</script>

OUR UNIVERSAL CONVERSION SCRIPTS
PRE-CONFIGURED WEB SHOP CONVERSION IMPLEMENTATION SOLUTIONS
SETTING UP THE REDIRECT INSTRUCTIONS
IMPLEMENTATION CONSIDERATIONS

VARIABLES OVERVIEW AND DESCRIPTIONS

Available variablesPossible value(s)ExampleRequiredDescription
typesales or leadsalesYesDefine if the conversion is a sale or a lead.
campaignIDNumeric string1234YesYour campaign ID.The campaign ID as provided by TradeTracker.
productIDNumeric string4321YesYour product ID. The product ID as provided by TradeTracker.
transactionIDTextual stringABC-12345YesYour shop's internal and unique order identifier. The transaction identifier (e.g. orderID) is a variable value that is available on the order confirmation page of your web shop. The variable used is different for each shop or custom solution.
transactionAmountNumeric string123.45Yes, if type is 'sales'.Transaction amount variable. The transaction amount is a variable value that is available on the order confirmation page of your web shop. The variable used is different for each shop or custom solution. In case of a lead campaign this can be left blank or set to '0'.
quantityNumeric string1NoIntended for statistical analysis in future software releases. You are able to specify the quantity of the order here. Currently this does not affect the registration of the order, in the future this will be used to be able to calculate the order amount for example (if this has added value for you) and it will be used for statistical information.
descrMerchantTextual stringSamsung UE55HU7500YesDetailed description of the order. Used for statistical purposes. Visible for the merchant only. You can add variable values here and/or other order information you might want to see in your TradeTracker account. Use this to add product information or order information.
descrAffiliateTextual stringSamsung Ultra HD TVYesDescription of the order. Visible for affiliates only. Used by affiliates for campaign optimisation.
currencyTextual stringUSDNoCurrency of the transaction. ISO 4217 standard, e.g. EUR, USD, GBP, PLN etc. Defaults to company currency if left empty. Also used in combination with our automatic currency conversion option This option is turned off by default. Ask your account manager if you need this option to be activated.
trackingGroupIDNumeric string11Leave blank by default unless instructed to do otherwise by TradeTracker Used to group campaigns for multiple countries.
vcTextual stringWelcome-123No The (main) discount code used for the order in question. Used in case you would like to work with unique voucher codes for certain publishers
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=29
08-Dec-2020 10:50:12
merchant Shopify All Group basket items Login to the Shopify administration backend.

Go to Settings --> Checkout --> Order processing --> Additional content & scripts

Paste the script below to the Additional content & scripts input field. Be sure to substitute the CAMPAIGN_ID and PRODUCT_ID values with the values received from TradeTracker.

<script type="text/javascript">
var ttConversionOptions = ttConversionOptions || [];
ttConversionOptions.push({
type: 'sales',
campaignID: 'CAMPAIGN_ID',
productID: 'PRODUCT_ID',
transactionID: '{{ order.order_number }}',
transactionAmount: parseFloat({{ subtotal_price | divided_by: 100 }}) || 0,
quantity: '1',
descrMerchant: encodeURIComponent('Internal order ID: {{ order_id }}'),
descrAffiliate: '',
currency: '{{ checkout.currency }}',
vc: '{{ checkout.discount_applications[0].title | escape }}',
trackingGroupID: ''
});
</script>
<noscript>
<img src="//ts.tradetracker.net/?cid=CAMPAIGN_ID&amp;tgi=&amp;pid=PRODUCT_ID&amp;tid={{ order.order_number }}&amp;tam={{ subtotal_price / 100 }}&amp;data=&amp;qty=1&amp;descrMerchant={{ transaction.gateway }}&amp;descrAffiliate=&amp;event=sales&amp;currency={{ checkout.currency }}&amp;vc={{ discount.code }}" alt="" />
</noscript>
<script type="text/javascript">
(function(ttConversionOptions) {
var campaignID = 'campaignID' in ttConversionOptions ? ttConversionOptions.campaignID : ('length' in ttConversionOptions && ttConversionOptions.length ? ttConversionOptions[0].campaignID : null);
var tt = document.createElement('script'); tt.type = 'text/javascript'; tt.async = true; tt.src = '//tm.tradetracker.net/conversion?s=' + encodeURIComponent(campaignID) + '&t=m';
var s = document.getElementsByTagName('script'); s = s[s.length - 1]; s.parentNode.insertBefore(tt, s);
})(ttConversionOptions);
</script>


Click Save to save the configuration.
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=71
18-Nov-2020 15:09:43
merchant Shopify All Split basket items Login to the Shopify administration backend.

Go to Settings --> Checkout --> Order processing --> Additional content & scripts

Paste the script below to the Additional content & scripts input field. Be sure to substitute the CAMPAIGN_ID and PRODUCT_ID values with the values received from TradeTracker.

{% for line_item in line_items %}
<script type="text/javascript">
var ttConversionOptions = ttConversionOptions || [];
ttConversionOptions.push({
type: 'sales',
campaignID: 'CAMPAIGN_ID',
productID: 'PRODUCT_ID',
transactionID: '{{ order.order_number }}',
transactionAmount: parseFloat({{ line_item.price - line_item.line_level_total_discount | divided_by: 100 }}) || 0,
quantity: '{{ line_item.quantity }}',
descrMerchant: encodeURIComponent('SKU: {{ line_item.sku }}'),
descrAffiliate: '',
currency: '{{ checkout.currency }}',
vc: '{{ line_item.discount_allocations[0].discount_application.title | escape }}',
trackingGroupID: ''
});
</script>
<noscript>
<img src="//ts.tradetracker.net/?cid=CAMPAIGN_ID&amp;tgi=&amp;pid=PRODUCT_ID&amp;tid={{ order.order_number }}&amp;tam={{ line_item.price - line_item.line_level_total_discount | divided_by: 100 }}&amp;data=&amp;qty={{ line_item.quantity }}&amp;descrMerchant={{ line_item.sku }}&amp;descrAffiliate=&amp;event=sales&amp;currency={{ checkout.currency }}&amp;vc={{ line_item.discount_allocations[0].discount_application.title | escape }}" alt="" />
</noscript>
{% endfor %}
<script type="text/javascript">
(function(ttConversionOptions) {
var campaignID = 'campaignID' in ttConversionOptions ? ttConversionOptions.campaignID : ('length' in ttConversionOptions && ttConversionOptions.length ? ttConversionOptions[0].campaignID : null);
var tt = document.createElement('script'); tt.type = 'text/javascript'; tt.async = true; tt.src = '//tm.tradetracker.net/conversion?s=' + encodeURIComponent(campaignID) + '&t=m';
var s = document.getElementsByTagName('script'); s = s[s.length - 1]; s.parentNode.insertBefore(tt, s);
})(ttConversionOptions);
</script>


Hit the Save button to save the configuration.
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=42
18-Nov-2020 15:09:13
merchant General All Redirect IMPLEMENTING TRADETRACKER REDIRECT AND CONVERSION INSTRUCTIONS AND CONSIDERATIONS
The articles on these pages are created to help you implement our tracking and conversion registration method.

If you arrived at this portal by using a link that was sent to you, we would like to inform you about the accompanying document to these pages.
This document contains more or less similar information as to be found on this site, but is structured chronological and contains links to the relevant pages on this site, making it somewhat easier to read, depending on what you prefer.
The document is part of the start mail you received or available in your account.

Implementing our click registration and conversion tracking should take about 30 minutes up to 2 hours for general situations.
Although it can be done in 15 minutes in case you are already familiar with setting it up using an available pre-configured implementation method and if there are no unexpected surprises. It can however be longer in more complex set-ups with more stakeholders or when encountering other problems.

We highly recommend you to read the information in the document or on this site.
These articles contain important information about how, why and what you should do in order to set up your campaign successfully.

Setting up the TradeTracker tracking consists of 2 parts:
1) Registering a click from the affiliate’s website to your site.
2) Registering resulting conversions to be able to match the click to the sale.

In order to be able to implement our tracking system, you must be able to:
1) Create a redirect location on your (sub) domain.
2) Make modifications to the checkout success / order confirmation page of your web shop system.

The first thing that needs to be done is getting the click registration mechanism to work.
The redirect is based on creating a location on your domain which will handle all incoming clicks from your affiliates. This can be done by either creating a separate rewrite path or physical directory and making one of our redirect example code files available to handle the incoming clicks. Optionally, you may also create a subdomain (e.g. offers.merchant.com) and making the desired redirect available within the root of your subdomain. This is the preferable method in case you want to keep this implementation separate from your regular developments on your main domain.

The available languages we offer are ASP (.asp) | Coldfusion (.cfm) | CSHARP (.aspx) | JSP (.jsp) | PERL (.pl) | PHP (.php) | Python (.py) | Visual Basic ASPX (.aspx).

DOWNLOAD THE AVAILABLE REDIRECT REDIRECT SCRIPT EXAMPLES HERE and extract the zip-file to your computer.

The zipped file contains directorys that represent the programming language of the redirect script example. You should choose an redirect script example in a language (extension) that is supported by your server.

ADD YOUR DOMAIN NAME TO THE INDEX REDIRECT FILE
The redirect script example to use depends on the type of server and the programming language that is supported by your server.
To make sure our tracking is working as intended, the domain of your website (without www. ) must be added to the redirect file. Check the file for the "domainName" variable and change to your main domain accordingly.
If your shop is running on www.merchant.com or shop.merchant.com for example, the domainName value to enter would be "merchant.com".

By default the redirect script example we provide should work in most situations. They are created, tested and verified to work for the majority of our clients. We do not encourage further modification of the provided redirect script example, unless you have a very good reason to do so and know exactly what you are doing.

MAKING THE REDIRECT AVAILABLE
Within the introduction e-mail that you received from your account manager a suggestion for the location of the redirect location is made. If you decide to use an other location, please communicate this to your account manager because the correct location is needed to get your campaign to work as intended.

CHOOSING A LOCATION FOR THE REDIRECT
The redirect location name should be a phrase that best represents your shop or topic of your site. If you have a website that sells fashion items or clothing, the name of the redirect directory should represent this. For instance in this case it might be www.yourwebsite.com/fashion/ or www.yourwebsite.com/clothing/.

Please refrain from using a name that resembles any connection or relation to TradeTracker like www.yourwebsite.com/tt/ www.yourwebsite.com/tracking/ www.yourwebsite.com/tradetracker/ or www.yourwebsite.com/redirect/ for example.

You should verify that the suggested directory is not already part of your website’s link structure. This can be the case if URL rewriting is used for the suggested directory and content is already attached to the suggested location. If that is the case, please think of an alternative location/directory to place the redirect file.

Turn URL rewriting off in case you use an actual "physical" directory
In case your site is using URL rewriting to create pretty links on your website, URL rewriting must be turned off for the redirect directory in order for it to work correctly. This is done in different ways for different server environments. On an Apache web server, the URL rewrite engine can be turned off for a specific directory by placing an .htaccess file within the redirect directory containing the line:

RewriteEngine Off
For more information about URL rewriting and links to different server settings we refer you to Wikipedia - URL Rewrite Engine.

In case your server supports .htaccess files you can download a zipped .htaccess file to use here.

SUMMARY TO SET UP THE REDIRECT LOCATION

1. Determine the server environment and choose the programming language format accordingly (or create one based on one of the example codes)
2. Create the redirect location (either a rewrite, physical directory or subdomain)
3. Set the domainName variable with your main domain (without www.) in the redirect script example
4. Make the redirect script publicly available at the chosen location and if using an actual physical directory, turn off the URL rewrite engine according to your server configuration options
5. Use the tracking test URL that corresponds to the redirect location to test the redirect

When these steps are done, you are ready to test the redirect to your site by using the tracking test link.

If you did not receive the tracking test link or used a different then suggested redirect location, please contact your account manager.

SETTING UP THE TRADETRACKER CONVERSION SCRIPT AND IMPLEMENTATION CONSIDERATIONS
Before you start copying and pasting the codes that can be found by clicking the links below to your site and come to the conclusion that it's not working as you had planned, please hold on to your horses. Implementing our conversion script requires some thought and consideration. The reason for this is that there are a lot of options and configuration situations to take into account.

Do you have a custom built website? If so, what program language is used? Do you use a Payment Service Provider? An existing web shop system? Are for example things that influence the technical implementation strategy to follow.

We have described a couple of things for you to consider or determine before continuing the implementation.

When you have a clear picture of your technical environment and the other factors described above, you have to main options:

PRE-CONFIGURED WEBSHOP CONVERSION IMPLEMENTATION SOLUTIONS
click the link above to see if we have a solution for your environment available.
The advantages are that these solutions are already configured to use the correct variable values and tested in a default installation of the web shop system.

OUR UNIVERSAL CONVERSION SCRIPTS.
Our universal script is the script that we use to create the web shop specific solutions.
The script requires the variable values that are needed to register conversions within our system to be added manually, but it can be used for any situation.
It does require some basic programming knowledge of the environment in which the script must be placed or use the supported variable placeholders of your shop or environment.
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=1
30-Jul-2020 14:01:11
merchant Tracking SDK 1.0 Android TradeTracker SDK provides functionalities to track statistics of app install, usage, leads and sales generated from the app. The SDK is compatible with Android 4.0 (API version 14) and above. Android Studio is the recommended development environment.

Downloading the SDK
Download the SDK from following link: TradeTracker Android SDK

Importing the SDK
To import AAR file into your Android Studio project, go to File -> New -> Import module -> import JAR/.AAR package -> Select the path to AAR file -> select ‘Finish’.

To add a dependency to the SDK, go to Module Settings -> Select your app module -> Select dependencies tab -> Select ‘+’ option -> Module dependency -> Select the TradeTracker SDK -> select ‘OK’.

Using the SDK

Permissions
Update your project's AndroidManifest.xml file to include the INTERNET and ACCESS_NETWORK_STATE permissions.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.app.package">

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<application android:name="MyApplication">
...
</application>
</manifest>

INSTALL_REFERRER broadcast receiver
In the AndroidManifest.xml, add the following receiver as the FIRST receiver for INSTALL_REFERRER.
<application

[......]

<receiver
android:name="com.tradetracker.CampaignTrackingReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER"/>
</intent-filter>
</receiver>

</application>

Note : If your app has multiple broadcast receivers for INSTALL_REFERRER action, then you can write a custom broadcast receiver which receives the INSTALL_REFERRER broadcast and passes the broadcast intent to all other receivers from different SDKs.
public class CustomBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
CampaignTrackingReceiver tradeTrackerReceiver = new CampaignTrackingReceiver();
tradeTrackerReceiver.onReceive(context, intent);
}
}

Then in manifest file, you can add this as receiver for INSTALL_REFERRER action.
<application
[......]

<receiver
android:name="com.your.package.CustomBroadcastReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER"/>
</intent-filter>
</receiver>

</application>

SDK initialization
Initialize the TradeTracker SDK in the Application class. This must be called before calling any other APIs on the shared singleton TradeTracker object.
public class MyApplication extends Application {

@Override
public void onCreate() {
super.onCreate();
TradeTracker.getInstance().init(this, "your-app-id");
}
}

SDK Logging (Optional)
You can enable the SDK logging to see the logs generated by the SDK during debugging. But remember to disable the logging before releasing the app.
TradeTracker.getInstance().enableLogging(LogLevel.DEBUG);
Installed Application
Deep linking has to be handled in your app to update the "referrer". In a case, if a user has already installed the app using an affiliate site and open the app using another affiliate site, the "referrer" has to be updated to get new MaterialID and AffiliateID. Following is an example;
import com.tradetracker.utility.Constants;
import com.tradetracker.utility.ParameterNames;
import com.tradetracker.utility.PreferenceUtility;
.....

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detailed_tracking);

Intent intent = getIntent();
Uri data = intent.getData();

if(data != null && data.isHierarchical()){
String referrer = data.getQueryParameter(ParameterNames.REFERRER);
Context context = getApplicationContext();
if (!TextUtils.isEmpty(referrer)) {
PreferenceUtility.saveStoreReference(context, referrer);
TradeTracker.getInstance().trackAppStart();
}
}

initViews();
}


Tracking of the app start event
Track the app start in onCreate() function of the Launcher activity.
public class LauncherActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launcher);

TradeTracker.getInstance().trackAppStart();;
}


Tracking of custom leads
To manually trigger a lead you can use the following API.
TradeTracker.getInstance().trackCustomLead(descrMerchant, descrAffiliate, eml, pid, tid);

Tracking of custom sales (in-app purchases)
To manually trigger a sale you can use the following API:
TradeTracker.getInstance().trackCustomSales(tam, descrMerchant, descrAffiliate, eml, pid, tid);

In addition to the parameters listed in the table above, you may pass on the order amount ("tam") as a Double, e.g. 123.45.


Testing
After the integration of the TradeTracker SDK, make sure that SDK receives the install referrer properly.

Testing install referrer by uploading a beta app to play store
You can upload a beta version of your app to google play store & use a sample advertising link to install the app.
Ex : https://play.google.com/store/apps/details?id=your.package.name&referrer={{MaterialID}}::{{AffiliateID}}
On the first launch of the app, SDK receives the install referrer info from play store & uses it as a param in subsequent events fired. Enable the SDK logging as described in section 2.4 to see the event logs generated by the SDK.

Testing install referrer with ADB
To verify that SDK is receiving the install referrer info properly, install your app in the device & run the following command in the Terminal:

adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n
com.your.package/com.tradetracker.CampaignTrackingReceiver --es
"referrer" "test_referrer_key=test_referrer_value"


Enable the SDK logging as described above to see the event logs generated by the SDK.
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=45
23-Sep-2019 13:03:14
merchant General All Exclusive voucher codes EXCLUSIVE VOUCHER CODES

Exclusive voucher code tracking makes it possible for advertisers to make voucher codes in the TradeTracker interface exclusive for one affiliate. Although advertisers often hand out vouchers exclusively to one publisher, this feature offers full exclusivity. This implies that when the voucher is used by a consumer, the last touchpoint will always go to the exclusive affiliate. This means that even when another affiliate or website is communicating this voucher code and generates traffic using this voucher code, the last touchpoint will go to the publisher granted with the exclusivity.

If you are a new Advertiser, please proceed to our general conversion script page and implement the pixel.

If you are a existing Advertiser, please amend your conversion script with following (place in script that requires additions is marked):
- Add vc:'EXCLUSIVE_CODE', to conversion script
- Add &vc= parameter to image pixel

Note: EXCLUSIVE_CODE should be variable passed to the script from your system. It is case-sensitive and it should be passed from your voucher code field on checkout page.

Note 2: If you are using any form of deduplication, please make sure that our complete tracking script is always triggered if this exclusive voucher code is used by a consumer. Otherwise offline tracking will not be possible and the voucher will not be full-exclusive for the publisher.



<script type="text/javascript">
var ttConversionOptions = ttConversionOptions || [];
ttConversionOptions.push({
type: 'sales',
campaignID: 'CAMPAIGN_ID',
productID: 'PRODUCT_ID',
transactionID: 'ORDER_ID',
transactionAmount: 'ORDER_AMOUNT',
quantity: '1',
descrMerchant: '',
descrAffiliate: '',
[marker]vc:[/marker]'[marker]EXCLUSIVE_CODE[/marker]',
currency: ''
});
</script>
<noscript>
<img src="//ts.tradetracker.net/?cid=CAMPAIGN_ID&amp;pid=PRODUCT_ID&amp;tid=ORDER_ID&amp;tam=ORDER_AMOUNT&amp;data=&amp;qty=1&amp;descrMerchant=&amp;descrAffiliate=&amp;event=sales&amp;currency=EUR[marker]&amp;vc=[/marker]" alt="" />
</noscript>
<script type="text/javascript">
// No editing needed below this line.
(function(ttConversionOptions) {
var campaignID = 'campaignID' in ttConversionOptions ? ttConversionOptions.campaignID : ('length' in ttConversionOptions && ttConversionOptions.length ? ttConversionOptions[0].campaignID : null);
var tt = document.createElement('script'); tt.type = 'text/javascript'; tt.async = true; tt.src = '//tm.tradetracker.net/conversion?s=' + encodeURIComponent(campaignID) + '&t=m';
var s = document.getElementsByTagName('script'); s = s[s.length - 1]; s.parentNode.insertBefore(tt, s);
})(ttConversionOptions);
</script>
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=69
07-Jun-2019 18:24:35
merchant General All General conversion script GENERAL TRADETRACKER CONVERSION SCRIPTS Click here in case you need to use a MULTI COUNTRY SOLUTION with a TRACKING GROUP ID

Here you will find our general conversion scripts that can be used to place on the order confirmation page or thank you page of your site.
To register conversions, the script must be populated with information from your site.

SALES CONVERSION SCRIPT EXAMPLE

<script type="text/javascript">
var ttConversionOptions = ttConversionOptions || [];
ttConversionOptions.push({
type: 'sales',
campaignID: '[marker]CAMPAIGN_ID[/marker]',
productID: '[marker]PRODUCT_ID[/marker]',
transactionID: '[marker]ORDER_ID[/marker]',
transactionAmount: '[marker]ORDER_AMOUNT[/marker]',
quantity: '1',
descrMerchant: '',
descrAffiliate: '',
vc: '',
currency: ''
});
</script>
<noscript>
<img src="//ts.tradetracker.net/?cid=[marker]CAMPAIGN_ID[/marker]&amp;pid=[marker]PRODUCT_ID[/marker]&amp;tid=[marker]ORDER_ID[/marker]&amp;tam=[marker]ORDER_AMOUNT[/marker]&amp;data=&amp;qty=1&amp;descrMerchant=&amp;descrAffiliate=&amp;event=sales&amp;currency=[marker]EUR[/marker]&amp;vc=" alt="" />
</noscript>
<script type="text/javascript">
// No editing needed below this line.
(function(ttConversionOptions) {
var campaignID = 'campaignID' in ttConversionOptions ? ttConversionOptions.campaignID : ('length' in ttConversionOptions && ttConversionOptions.length ? ttConversionOptions[0].campaignID : null);
var tt = document.createElement('script'); tt.type = 'text/javascript'; tt.async = true; tt.src = '//tm.tradetracker.net/conversion?s=' + encodeURIComponent(campaignID) + '&t=m';
var s = document.getElementsByTagName('script'); s = s[s.length - 1]; s.parentNode.insertBefore(tt, s);
})(ttConversionOptions);
</script>


LEAD CONVERSION SCRIPT EXAMPLE

<script type="text/javascript">
var ttConversionOptions = ttConversionOptions || [];
ttConversionOptions.push({
type: 'lead',
campaignID: '[marker]CAMPAIGN_ID[/marker]',
productID: '[marker]PRODUCT_ID[/marker]',
transactionID: '[marker]{transactionID}[/marker]',
descrMerchant: '[marker][/marker]',
descrAffiliate: '[marker][/marker]'
});
</script>
<noscript>
<img src="//tl.tradetracker.net/?cid=[marker]CAMPAIGN_ID[/marker]&amp;pid=[marker]PRODUCT_ID[/marker]&amp;tid=[marker]{transactionID}[/marker]&amp;data=[marker][/marker]&amp;descrMerchant=&amp;descrAffiliate=&amp;event=lead" alt="" />
</noscript>
<script type="text/javascript">
// No editing needed below this line.
(function(ttConversionOptions) {
var campaignID = 'campaignID' in ttConversionOptions ? ttConversionOptions.campaignID : ('length' in ttConversionOptions && ttConversionOptions.length ? ttConversionOptions[0].campaignID : null);
var tt = document.createElement('script'); tt.type = 'text/javascript'; tt.async = true; tt.src = '//tm.tradetracker.net/conversion?s=' + encodeURIComponent(campaignID) + '&t=m';
var s = document.getElementsByTagName('script'); s = s[s.length - 1]; s.parentNode.insertBefore(tt, s);
})(ttConversionOptions);
</script>


VARIABLES OVERVIEW AND DESCRIPTIONS

Available varsValue(s)ExampleRequiredInfo
typesales or leadsalesYesDefine if the conversion is a sale or a lead.
campaignIDNumeric string1234YesYour campaign ID.The campaign ID as provided by TradeTracker.
productIDNumeric string4321YesYour product ID. The product ID as provided by TradeTracker.
transactionIDTextual stringABC-12345YesYour shop's internal and unique order identifier. The transaction identifier (e.g. orderID) is a variable value that is available on the order confirmation page of your web shop. The variable used is different for each shop or custom solution.
transactionAmount Numeric string123.45Yes, if type is 'sales'.Transaction amount variable. The transaction amount is a variable value that is available on the order confirmation page of your web shop. The variable used is different for each shop or custom solution. In case of a lead campaign this can be left blank or set to '0'.
quantityNumeric string1NoIntended for statistical analysis in future software releases. You are able to specify the quantity of the order here. Currently this does not affect the registration of the order, in the future this will be used to be able to calculate the order amount for example (if this has added value for you) and it will be used for statistical information.
descrMerchantTextual stringSamsung UE55HU7500YesDetailed description of the order. Used for statistical purposes. Visible for the merchant only. You can add variable values here and/or other order information you might want to see in your TradeTracker account. Use this to add product information or order information.
descrAffiliateTextual stringSamsung Ultra HD TVYesDescription of the order. Visible for affiliates only. Used by affiliates for campaign optimisation.
currencyTextual stringUSDNoCurrency of the transaction. ISO 4217 standard, e.g. EUR, USD, GBP, PLN etc. Defaults to company currency if left empty. Also used in combination with our automatic currency conversion option This option is turned off by default. Ask your account manager if you need this option to be activated.
vcTextual stringDISCOUNT50NoVoucher code variable. The voucher code is a variable value that is used on checkout page of your web shop.

SETTING UP THE REDIRECT INSTRUCTIONS
IMPLEMENTATION CONSIDERATIONS
PRE-CONFIGURED WEBSHOP CONVERSION IMPLEMENTATION SOLUTIONS
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=27
07-Jun-2019 15:28:45