Target group Name Version Version info Implementation steps Last modified
merchant xt:Commerce 4 Standard implementation XT:COMMERCE 4 VEYTON TRADETRACKER CONVERSION IMPLEMENTATION

SETTING UP THE REDIRECT
Seeing as XT:Commerce uses php you can download the redirect file here download index.php After downloading, please add your domainName to line 6.

For more information regarding setting up the redirect we refer you to setting up the redirect guidelines. When the redirect is working, follow the instruction for setting up the conversion registration below.

Log in to your FTP account and open and edit the file xtCore/pages/page_action/checkout.success.php

At the bottom of the file you will find a php closing tag ( ?> ) above this closing tag the code that is found here must be added:

// TradeTracker conversion script
$campaignID = '[marker]CAMPAIGN_ID[/marker]';
$productID = '[marker]PRODUCT_ID[/marker]';
$orderID = !empty($success_order->oID) ? htmlspecialchars($success_order->oID) : '';
$orderAmount = empty($success_order->order_total['total']['plain']) ? 0.00 : (float) $success_order->order_total['total']['plain'] / 1.2; // The 1.2 is your VAT ratio.
$trackingCode = "<script type=\"text/javascript\">
var ttConversionOptions = ttConversionOptions || [];
ttConversionOptions.push({
type: 'sales',
campaignID: '$campaignID',
productID: '$productID',
transactionID: '$orderID',
transactionAmount: '$orderAmount',
quantity: '1',
descrMerchant: '$descrMerchant',
descrAffiliate: '',
currency: '',
trackingGroupID: '[marker][/marker]'
});
</script>
<noscript>
<img src=\"//ts.tradetracker.net/?cid=$campaignID&amp;pid=$productID&amp;tid=$orderID&amp;tam=$orderAmount&amp;qty=1&amp;event=sales\" 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>";

define('TRADETRACKER_TRACKING_CODE', $trackingCode);

Save and/or upload the file to your server.

Navigate to: /templates/YOUR_THEME_SKIN_DIRECTORY/xtCore/pages/checkout/subpage_success.html

Open and edit the file subpage_success.html and at the top of this file add

{txt key=TRADETRACKER_TRACKING_CODE}
Save and/or upload the file to your server.

If your redirect is working the implementation can be tested.

Please keep in mind that although we do our very best to cover a wide variety of different implementations and web shop systems, programming languages and conversion registration methods for different situations, we want to state here that they are all merely examples and are not guaranteed to work for your specific situation or specific conversion or tracking needs. The reason for this is that the implementation descriptions provided are based on default system configurations and do not take system configuration settings, customisations and usage of plug-ins into account. Besides that there are also a lot of other variables that can have impact on the correct working of our tracking and conversion registration which we just can't know upfront. In case you do encounter or experience issues when implementing our tracking, please report this to your account manager and describe (in detail) the steps you took and if it's possible, provide the code and/or files you are using for your implementation to the account manager.
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=39
14-Mar-2019 15:52:04
merchant Weebly Webshop NA Standard implementation WEEBLY WEBSHOP TRADETRACKER CONVERSION IMPLEMENTATION

The code below must use your campaign ID and product ID that you received from us.

The code must be pasted as custom tracking code by navigating to:

STORE >> ADVANCED >> Add custom tracking code and add it to the Receipt page input field and Save it

COPY THIS CODE (if needed replace CAMPAIGN_ID and PRODUCT_ID with your own ID's)

<script type="text/javascript">
var ttConversionOptions = ttConversionOptions || [];
ttConversionOptions.push({
type: 'sales',
campaignID: '[marker]CAMPAIGN_ID[/marker]',
productID: '[marker]PRODUCT_ID[/marker]',
transactionID: '{txid}',
transactionAmount: {total} - {tax} - {shipping},
quantity: '1',
descrMerchant: '',
descrAffiliate: '',
currency: ''
});
</script>
<noscript>
<img src="//ts.tradetracker.net/?cid=[marker]CAMPAIGN_ID[/marker]&amp;pid=[marker]PRODUCT_ID[/marker]&amp;tid={txid}&amp;tam={total}&amp;event=sales" 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>


STEP-BY-STEP GUIDE
Login to your Weebly account and click edit for the site you want to add our conversion script.

Navigate to STORE >> ADVANCED >> Add custom tracking code:



Paste our conversion code to the Receipt page input field:



Click Update Changes.

The implementation can be tested.
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=37
14-Mar-2019 15:51:22
merchant OpenCart 2.3.0+ Extension module OPENCART 2.3.0+ TRADETRACKER CONVERSION IMPLEMENTATION

TradeTracker.com Conversion Tools Module
To get the tracking up and running in a few steps, you may purchase and install the TradeTracker.com Conversion Tools module from the OpenCart market place.

This module will automatically install DirectLinking, conversion tracking, a product feed and optionally the automatic assessment of orders generated through the TradeTracker.com network.

The detailed and easy to read documentation required to get started is included within the package.
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=34
21-Mar-2017 11:49:02
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 ePages 6 and higher Standard implementation ePages 6 TRADETRACKER CONVERSION IMPLEMENTATION

The ePages webshop system uses the StratoShop backend code.

You can use the instructions for StratoShop to complete your implementation.
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=30
01-Jul-2014 14:25:44
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 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 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
merchant Shopware 4 Standard implementation SHOPWARE 4 CONVERSION IMPLEMENTATION

You can use the filter options above to select your shop system, the version of your shop. The Version info selection is a short description of the implementation method we created for the shop you selected.

SETTING UP THE REDIRECT
Seeing as Shopware uses php you can download the redirect file here download index.php. After downloading, please add your domainName to line 6 like after downloading the index redirect file, like:

$domainName = 'yourdomainWithoutWWW.com';
After adding your domain to the index file, it should be uploaded to a folder in the root of your website. The folder must be named a word that best represents your web shop's content.
For more information regarding setting up the redirect we refer you to SETTING UP THE REDIRECT GUIDELINES.

SETTING UP THE CONVERSION
STEP 1 The conversion script below should be added to the finish.tpl file that is part of the front-end template you are using and should be located in the folder /templates/_yourtheme_local/frontend/checkout/finish.tpl

Please note: If you for example are using the theme emotion in pink. The colour variation of the theme is in the /emotion_pink/ folder. This folder contains only colour information.
The finish.tpl file should be added to the folder _emotion_local so the theme name starting with an underscore.

For you convenience you can download finish.tpl (from version 4.2.3) here and save it to your computer and upload it to the folder or download finish.tpl from the base template from your server and upload that to the _local folder of the theme you are using.

If you not sure what to do or how this works, please read the sections ABOUT THE SHOPWARE TEMPLATE STRUCTURE and HOW TO IDENTIFY THE USED TEMPLATE/THEME FOR YOUR SHOPWARE SYSTEM AND ADDING THE FINISH.TPL at the bottom of this article.

STEP 2 Open finish.tpl and add the following conversion code above [marker]{/block}[/marker] (the block piece of code is at the bottom of the finish.tpl file):

<script type="text/javascript">
var ttConversionOptions = ttConversionOptions || [];
ttConversionOptions.push({
type: 'sales',
campaignID: '[marker]CAMPAIGN_ID[/marker]',
productID: '[marker]PRODUCT_ID[/marker]',
transactionID: '{$sOrderNumber}',
transactionAmount: '{$sAmountNet}',
quantity: '1',
descrMerchant: '{$sBasketItem.articlename}',
descrAffiliate: '{$sBasketItem.articlename}',
currency: '{$sBasketItem|currency:use_shortname:left}'
});
</script>
<noscript>
<img src="//ts.tradetracker.net/?cid=[marker]CAMPAIGN_ID[/marker]&amp;pid=[marker]PRODUCT_ID[/marker]&amp;tid={$sOrderNumber}&amp;tam={$sBasketItem.amount}&amp;data=&amp;qty=1&amp;descrMerchant={$sBasketItem.articlename}&amp;descrAffiliate={$sBasketItem.articlename}&amp;event=sales&amp;currency={$sBasketItem.additional_details.currency}" 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>

STEP 3 Save finish.tpl to your ftp account to the _yourtheme_local/frontend/checkout/ folder to complete and test the implementation.

When testing the campaign, please use the tracking test url you received from your account manager. If you did not receive this test url, please request this.

TRACKING GROUP ID EXAMPLE FOR IN FINISH.TPL
If you know what this is and if you have a tracking group ID, use this code, if you don't know what it is and do not have tracking group id, use the other code.

<script type="text/javascript">
var ttConversionOptions = ttConversionOptions || [];
ttConversionOptions.push({
type: 'sales',
campaignID: '[marker]CAMPAIGN_ID[/marker]',
productID: '[marker]PRODUCT_ID[/marker]',
transactionID: '{$sOrderNumber}',
transactionAmount: '{$sAmountNet}',
quantity: '1',
descrMerchant: '{$sBasketItem.articlename}',
descrAffiliate: '{$sBasketItem.articlename}',
currency: '{$sBasketItem|currency:use_shortname:left}',
trackingGroupID: '[marker][/marker]'
});
</script>
<noscript>
<img src="//ts.tradetracker.net/?tgi=[marker][/marker]&amp;pid=[marker]PRODUCT_ID[/marker]&amp;tid={$sOrderNumber}&amp;tam={$sBasketItem.amount}&amp;data=&amp;qty=1&amp;descrMerchant={$sBasketItem.articlename}&amp;descrAffiliate={$sBasketItem.articlename}&amp;event=sales&amp;currency={$sBasketItem.additional_details.currency}" 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>

ABOUT THE SHOPWARE TEMPLATE STRUCTURE
Best practice is to not make modifications to the actual template files, but to create a a local version of the template files you modified or want to modify. In Shopware you are able to create a local version of the template you are using by creating a folder in the template directory of your shop that starts with the name of the template followed by _local. The _emotion folder that is part of a default Shopware installation is the base emotion theme folder. As you can see in the templates folder on the ftp there are some variations on the emotion theme, for example emotion_black contains only some styling parts of the emotion theme. When a variation is selected in the back-end, the system will still check for modified files in _emotion_local folder and uses the files found as an override to the base theme folder.

Shopware template fallback method

_themename [Base template files]
_themename_local [Place to add modified theme files]
themename_somecolor [Independent variations on the theme]

This basically comes down to that the finish.tpl file that we want to modify must be in the folder /templates/_yourtheme_local/frontend/checkout/

HOW TO IDENTIFY THE USED TEMPLATE/THEME FOR YOUR SHOPWARE SYSTEM AND ADDING THE FINISH.TPL

1) Log in to the back-end of your shop and navigate to Configuration > Basic Settings > Shop settings > Templates to identify the active template.
2) Lets say you are using the theme yourtheme. Log in to your FTP account and navigate to the /templates/ folder .
3) Locate or create the folder /templates/_yourtheme_local/
4) Add the folder /frontend/ to /templates/_yourtheme_local/
5) Add the folder /checkout/ to /templates/_yourtheme_local/ frontend/
6) This folder structure will be in place: /templates/_yourtheme_local/frontend/checkout/
7) The location of finish.tpl will be like: /templates/_yourtheme_local/frontend/checkout/finish.tpl
Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=25
14-Mar-2019 15:48:17
merchant General All Using multiple product group ID's WHEN OR WHEN NOT TO USE MULTIPLE PRODUCT GROUPS

Within the conversion script there is an option "productID". This is an ID that is generated by TradeTracker.
It is possible to specify a commission structure per product group.

It is not a description of your product or a category description or something, which is often assumed.

There is only one situation in which multiple product groups (ID's) should be used.
The only reason to use multiple product group ID's is when you offer 2 or more groups of products for which the difference in profit margin is so large that it is a risk to use 1 general commission model. For this purpose and only this, we would advise the usage of an additional product group ID, but even in this situation it is not 100% necessary. You could also base the affiliate commission you want to pay on the average profit margin of your entire shop. Just keep in mind that only a part of your sales will derive from your affiliate marketing endeavours. At the bottom line the actual commission percentages you spent on affiliates (when using your total profit margin to base this on) will always be on the low side in relation to your total average profit-margin percentage.

It is always possible to use product groups. But every situation is client specific.

There is no 1 general product group implementation solution.

The system you use does not matter, the way the system is configured is more important.


In essence using product groups requires just some basic web programming, in principle it is:

if product x is in category A use product group ID 1
else if product x is in category B use product group ID 2


The amount of time a client will need to set up the usage of product groups for their campaign will depend on the individual situation. We can't say that upfront, because we just can't know, because it is always a custom solution. If someone would need 20 different product groups and they/we would have to create very large regular expressions in order to identify each product to be able to set the correct group for it, it will be somewhat time consuming to set up.On the other hand, if the site already uses correct defined categories that are corresponding with the groups they want to use for example, it would be easier to set up. What you need to take in to consideration is how you are able to identify for each product in which product group the product must be. The usage of categories within a site is for example 1 way to do this. In case you do still need to use multiple product groups, there are some things to take into account.

How will you identify the correct product group for each product within an order?
For each product you must be able to identify the correct product group based on a specific identifier, this can be the SKU or category for example.

An order can consist of products from multiple product groups. This implies that the product group will have to be identified on product level, per individual item.

This can be done by a so called basket loop that runs through each product within the order and checks the order category for example.

In the example below a check is done on orderCategory that is a property of order. In case the orderCategory is "hardware" that product gets productID: 321.

$amountsPerProductGroup = array();
foreach ($orders as $order) {
switch($order['orderCategory']) {
case 'hardware':
$productID = '321';
break;
case 'software':
$productID = '322';
break;
default:
$productID = '323'; // "general" product ID.
break;
}

$amountsPerProductGroup[$productID] += $order['orderAmount'];
}

foreach ($amountsPerProductGroup as $productID => $transactionAmount) {
echo <<<TT
<script type="text/javascript">
var ttConversionOptions = ttConversionOptions || [];
ttConversionOptions.push({
type: 'sales', // 'sales' or 'lead'.
campaignID: '[marker]CAMPAIGN_ID[/marker]',
productID: '$productID',
transactionID: '[marker]ORDER ID[/marker]',
transactionAmount: '$transactionAmount',
quantity: '1',
descrMerchant: '',
descrAffiliate: '',
currency: '',
vc: ''
});
</script>
<noscript>
<img src="//ts.tradetracker.net/?cid=[marker]CAMPAIGN_ID[/marker]&amp;pid=$productID&amp;tid=[marker]ORDER ID[/marker]&amp;tam=$transactionAmount&amp;data=&amp;qty=1&amp;descrMerchant=&amp;descrAffiliate=&amp;event=sales&amp;currency=&amp;vc=" alt="" />
</noscript>
TT;
}

echo <<<TT
<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>
TT;
// Leave a blank line here.


Shortlink to this article: https://sc.tradetracker.net/implementation/overview?f[id]=23
23-May-2019 15:07:36