Documentation Advertiser Container Tag (ACT)

Introduction

Affilinet provides a technical platform to track views, clicks, sales and leads generated by internet users when viewing ads on publisher web sites or track user interest browsing advertiser’s onlineshops. Tracking of these events and actions is conducted via methodologies including cookie-, device-, session- or server-side tracking.

In order to easily track activities, conversions and user interests on an advertiser’s web site, affilinet provides a container tracking technology called Advertiser Container Tracking (ACT). This technology allows the simple integration of different tracking scenarios through an universal and scalable tracking script solution based on a JavaScript code-snippet.

The Advertiser Container fully replaces former conversion tracking implementations based on image pixels and provides extended functionality and flexibility. While the image-pixel implementations will still continue to work properly, we strongly encourage our clients to upgrade their web site code to the newer implementation using ACT in order to be future save, e.g. for mobile tracking.

This documentation describes the different usage scenarios for conversion tracking as well as the different profiling options available for targeting and prospecting purposes.

Advantages & Use Case

  • The container has a flexible structure and can be leveraged easily to support future tracking options without additional implementation effort
  • The container can be executed asynchronously to optimize the performance of the page where it is integrated
  • The container works with common tag managers
  • All containers are available via http and https.

How to read this documentation

This documentation describes the implementation and configuration of code containers, called tags, that track different actions a visitor executes on an advertiser web site, such as page visits or conversions.

ACT currently has two operating modes using the following modules: OrderTracking Module and Profiling Module. Each module supports different events depending on the type of action to track.

The Chapters Order Tracking and Profiling contain detailed information on the different code containers and how to implement them on your web site. The information includes a general tag description, a list of mandatory parameters as well as a code sample with comments outlining the different editable parts of the code.

The Chapter Parameters provides an exhaustive parameter list with detailed descriptions and their usage.

We recommend the following procedure:

  1. Have a look at the Chapter Important Notices
  2. Select the type of module you want to implement (OrderTracking or Profiling)
  3. Choose the appropriate event from this document
  4. Copy and paste the code sample into an editor
  5. Adapt the configuration parameters (Chapters Configuration Parameters (Module configuration) and Tracking Domains)
  6. Remove any parameter line in the editable areas you do not need
  7. Place your systems placeholders into the parameter values
  8. Deploy and test your code

If you are facing problems, affilinet support (support@affili.net) can help you identify issues based on the data we receive.

Advertiser portal - code delivery

You will find complete copyable ACT sample codes for single commission rates within the advertiser portal.

To display and to copy the code, please login to our advertiser portal with your affilinet login credentials and do the following steps:

  1. Go to Account -> Rates & Tracking Code -> Overview
    Advertiser
  2. Click on the link in the Tracking Code column for the corresponding rate
    Code
  3. Select one of the tabs, depending on what container tag you want to integrate e. g. tracking code or profiling tag
  4. The displayed code snippets for the tabs 'Tracking Code' and 'Profiling' can be copied completely to the page on your web site where the tracking order should be generated.
    Within the 'Profiling' tab you can further select for which profiling tag you need the container tag. Profiling
  5. In the last step just copy the displayed code and replace the red colored variable values dynamically with the actual value of this variable when an order is executed. Snippet

Important Notices

Syntax

To make sure your code works properly, please take care that all code lines in the parameter section (payload.push) end with a comma after you pasted your variables, except for the last line. (Following standard javascript syntax for arrays).

Example:

	[]
	payload.push({
		module: 'OrderTracking',
		event: 'Sale',
		net_price: 0.42
	});
	[]
	

The container script aligns to coding standards for Javascript. Therefore alphanumerical values are put into brackets while integer/decimals/boolean values are without:

	[]
		net_price: 0.42,
	 	order_id: 'AB23455873'
	[]
	

Customizable Parameters

The ACT tracking code contains different types of customizable parameters belonging to different parameter types as outlined below. These parameter types are highlighted with comments in the code samples.

Type of Parameter Description
Configuration Parameters
(Module configuration)

Parameters that are typically static per tag, e. g.
PROGRAMID,TRACKING-DOMAIN,TAG-ID,sync/async...

Fixed Parameters

These fix parameters define the main function of a tag. These parameters are mandatory for each tag, e. g.
Module,Event

Mandatory payload parameters These mandatory parameters track specific data within the tag. These parameters must be specified to make the tag work properly.
Optional payload parameters These optional parameters track specific data with the tag. These parameters are not needed to make a tag work properly but help to get more precise information about the visitor’s behaviour (profiling) or the action he is conducting (order tracking).

Please note:

This documentation uses string literals within the code examples to give you a better understanding of the value type and content. Usually in your web site code you will be using your custom placeholders instead of passing literal values to the tag parameters.

Example:

If you have a php-based system for your shop, your variable might be defined as:

$product_id='1234'
Within the container tag you replace the parameter value in the following way:
product_id: '<?php $_GET['product_id']; ?>', 

Default value for variables

All variables submitted in the container must have a value otherwise the container will not work. To avoid any malfunction you either need to remove the parameter-line out of the container completely or set the value to an empty value by placing two adjacent apostrophes.

This method also has to be used for values where an integer is expected.

Example:

[]
product_brand: '',
[]

NoScript section

Please observe that conversion tracking codes for lead, sale and basket tracking (all OrderTracking modules) can be extended with a <noscript>-section, which allows tracking in environments that do not support javascript. You only need the <noscript>-section, if your customers are able to convert in your shop while having JavaScript deactivated.

The <noscript>-section is using the same parameter names as the JavaScript Order Tracking.

Order Tracking

The order tracking module provides events for tracking sales, leads and basket orders.

  • SaleTracking is used if you want to pay a variable commission on an order
  • LeadTracking is used if you want to pay a fix commission on an order or a subscription
  • BasketTracking is used if you want to pay specific commissions on item level or category level or if you want to get detailed insights on purchased products.
    It also is possible to configure an automated rate mapping on item level based on article numbers or category names at your affilinet login area without the need to hardcode rate numbers in your code anymore.

Please find further details about the rate mapping in your interface by clicking the questionmark at the menu. The ratemapping can be found here:
Account » Rates & Tracking Code » Basket rate mapping

The following sections describe the usage of each of these events.

Sale Tracking

The SaleTracking-event allows you to track information regarding a completed order including its order value.

Furthermore you can track additional sale data and affilinet related data such as the program_subid, used voucher codes or the order date.

Mandatory parameters

The following parameters are mandatory to make the container work properly:

  • order_id
  • net_price
  • rate_number

Example Code


<script>
	(function (w, d, namespace, domain, progId, tagId, undefined) {
		w[namespace] = w[namespace] || {}; var act = w[namespace], payload = []; act.
		tags = act.tags || []; act.tags.push(tagId, payload);
		var protocol = d.location.protocol;

		payload.push({
			// Start: fixed parameters – don’t change!
			module: 'OrderTracking',
			event: 'Sale',
			// End: fixed parameters
			// Start: mandatory payload parameters – please edit
			order_id: '25125346532',
			net_price: 0.42,
			rate_number: 2,
			// End: mandatory payload parameters
			// Start: optional payload parameters – please edit
			currency: 'EUR', 
			order_description: 'test_order_123',
			product_ids: ['product1', 'product2', 'product3'],
			program_subid1: 'advertiser_subid_1',
			program_subid2: 'advertiser_subid_2',
			voucher_code: 'test_vouchercode',
			// Start: parameters for server sided tracking only
			ad_number: 6,
			ad_type: 4,
			click_time: '2014-10-05T11:13:01',
			date_format: 'yyyy-MM-ddTHH:mm:ss',
			order_date: '2014-11-03T18:12:13',
			publisher_id: '123',
			publisher_subid: 'test_subid',
			time_zone: '+1',
			uid: '1657A2C9-6764-4BF8-B5DE-5B2D1FFC1631'
			// End: optional payload parameters
		});
		if (act.get === undefined) {
			var s = d.createElement('script'); s.type = 'text/javascript'; s.src =
			protocol + '//' + domain + '/' + 'affadvc.aspx?ns=' + namespace + '&dm='
			domain + '&site=' + progId + '&tag=' + tagId; s.async = false;
			// always keep false for OrderTracking
			(d.getElementsByTagName('body')[0] || d.getElementsByTagName('head')[0]).appendChild(s);
		}else { act.get(w, d, progId, tagId); }
	})(window, document,
			// Start: configuration parameters
	'aff_act_1.0', 'TRACKING-DOMAIN', PROGRAMID, 'TAG-ID-1');
			// End: configuration parameters


</script>
<noscript>
	<img src="https://TRACKING-DOMAIN/TrackOrder.aspx?site=PROGRAMID&publisher_id=123
	&event=sale&net_price=0.42&Currency=EUR&order_id=25125346532&order_description=test_order_123
	&order_date=2014-11-03T18:12:13&date_format=yyyy-MM-ddTHH:mm:ss&time_zone=+1
	&rate_number=2&ad_type=4&ad_number=6&publisher_subid=test_subid
	&program_subid1=advertiser_subid_1&program_subid2=advertiser_subid_2
	&voucher_code=test_vouchercode&product_ids=product1,product2,product3
	&click_time=2014-10-05T11:13:01&uid=1657A2C9-6764-4BF8-B5DE-5B2D1FFC1631" />
</noscript>

Lead Tracking

The LeadTracking-event allows you to track information regarding leads. i.e. newsletter subscriptions.

Furthermore you can track additional lead data and affilinet related data such as the program_subid or the lead’s value.

Mandatory parameters

The following parameters are mandatory to make the container work properly:

  • order_id
  • rate_number

Example Code


<script>
	(function (w, d, namespace, domain, progId, tagId, undefined) {
		w[namespace] = w[namespace] || {}; var act = w[namespace], payload = []; act.
		tags = act.tags || []; act.tags.push(tagId, payload);
		var protocol = d.location.protocol;

		payload.push({
			// Start: fixed parameters – don’t change!
			module: 'OrderTracking',
			event: 'Lead',
			// End: fixed parameters
			// Start: mandatory payload parameters – please edit
			order_id: 'AE25125346532',
			rate_number: 3,
			// End: mandatory payload parameters
			// Start: optional payload parameters – please edit
			currency: 'EUR',
			lmulti: 4,
			net_price: 0.42,
			order_description: 'test_order_123',
			product_ids: ['product1', 'product2', 'product3'],
			program_subid1: 'advertiser_subid_1',
			program_subid2: 'advertiser_subid_2',
			voucher_code: 'test_vouchercode',
			// Start: parameters for server sided tracking only
			ad_number: 6,
			ad_type: 4,
			click_time: '2014-10-05T11:13:01',
			date_format: 'yyyy-MM-ddTHH:mm:ss',
			order_date: '2014-11-03T18:12:13',
			publisher_id: '123',
			publisher_subid: 'test_subid',
			time_zone: '+1',
			uid: '1657A2C9-6764-4BF8-B5DE-5B2D1FFC1631'
			// End: optional payload parameters
		});
		if (act.get === undefined) {
			var s = d.createElement('script'); s.type = 'text/javascript'; s.src =
			protocol + '//' + domain + '/' + 'affadvc.aspx?ns=' + namespace + '&dm='
			domain + '&site=' + progId + '&tag=' + tagId; s.async = false;
			// always keep false for OrderTracking
			(d.getElementsByTagName('body')[0] || d.getElementsByTagName('head')[0]).appendChild(s);
		}else { act.get(w, d, progId, tagId); }
	})(window, document,
			// Start: configuration parameters
	'aff_act_1.0', 'TRACKING-DOMAIN', PROGRAMID, 'TAG-ID-1');
			// End: configuration parameters


</script>
<noscript>
	<img src="https://TRACKING-DOMAIN/TrackOrder.aspx?site=PROGRAMID&publisher_id=123&event=lead
	&lmulti=4&Currency=EUR&order_id=25125346532&order_description=test_order_123
	&order_date=2014-11-03T18:12:13&date_format=yyyy-MM-ddTHH:mm:ss&time_zone=-1
	&rate_number=3&ad_type=4&ad_number=6&publisher_subid=test_subid
	&program_subid1=advertiser_subid_1&program_subid2=advertiser_subid_2
	&voucher_code=test_vouchercode&product_ids=product1,product2,product3
	&click_time=2014-10-05T11:13:01&uid=1657A2C9-6764-4BF8-B5DE-5B2D1FFC1631&net_price=0.42" />
</noscript>

Basket Tracking

The BasketTracking Event allows you to track detailed information regarding the shopping basket and its items. You can provide separate data for each basket item, such as the product price, quantity, the product category or additional product properties.

Mandatory parameters

The following parameters are mandatory to make the container work properly:

  • order_id
  • basket_items (Array: product_id, product_price, product_quantity)

Please note:
In the <noscript>-section, parameters that belong to the basket_items-array must be passed as one value of the GET parameter basket_items and separated with “%26” (without the quotes), the URL encoding for “&”. The separator between two sets of products is carriage return, line feed. The URL encoded value for this is “%0D%0A” (without quotes).

Example Code


<script>
	(function (w, d, namespace, domain, progId, tagId, undefined) {
		w[namespace] = w[namespace] || {}; var act = w[namespace], payload = []; act.
		tags = act.tags || []; act.tags.push(tagId, payload);
		var protocol = d.location.protocol;

		payload.push({
			// Start: fixed parameters – don’t change!
			module: 'OrderTracking',
			event: 'Basket',
			// End: fixed parameters
			// Start: mandatory payload parameters – please edit
			order_id: '25125346532',
			// End: mandatory payload parameters
			// Start: optional payload parameters – please edit
			currency: 'EUR',
			net_price: 16550.95,
			order_description: 'test_order_123',
			product_ids: ['product1', 'product2', 'product3'],
			program_subid1: 'advertiser_subid_1',
			program_subid2: 'advertiser_subid_2',
			rate_number: 2,
			voucher_code: 'test_vouchercode',
			// Start: parameters for server sided tracking only
			ad_number: 6,
			ad_type: 4,
			click_time: '2014-10-05T11:13:01',
			date_format: 'yyyy-MM-ddTHH:mm:ss',
			order_date: '2014-11-03T18:12:13',
			publisher_id: '123',
			publisher_subid: 'test_subid',
			time_zone: '+1',
			uid: '1657A2C9-6764-4BF8-B5DE-5B2D1FFC1631',
			// End: optional payload parameters
			basket_items:
			[
				{
					// Start: mandatory editable item parameters
					product_id: 'a121',
					product_price: 5.95,
					product_quantity: 5,
					// End: mandatory editable item parameters
					// Start: optional editable item parameters
					product_brand: 'Brand%20name',
					product_category: 'Main%20Cat%20%3E%20Sub%20Cat',
					product_name: 'Article%20name%201',
					product_property1: 'Size%3A%20XXL',
					product_property2: 'Colour%3A%20green',
					product_property3: 'Gender%3A%20all',
					product_property4: 'Fit%3A%20Slim%20fit',
					product_property5: 'Material%3A%20Cotton',
					product_rate_number: 23,
					product_rate_type: 'pps'
					// End: optional editable item parameters
				},
				{
					// Start: second Product with mandatory only
					product_id: 'b324',
					product_price: 16545.00,
					product_quantity: 2
					// End: second Product with mandatory only

				}
			]
		});
		if (act.get === undefined) {
			var s = d.createElement('script'); s.type = 'text/javascript'; s.src =
			protocol + '//' + domain + '/' + 'affadvc.aspx?ns=' + namespace + '&dm='
			domain + '&site=' + progId + '&tag=' + tagId; s.async = false;
			// always keep false for OrderTracking
			(d.getElementsByTagName('body')[0] || d.getElementsByTagName('head')[0]).appendChild(s);
		}else { act.get(w, d, progId, tagId); }
	})(window, document,
			// Start: configuration parameters
	'aff_act_1.0', 'TRACKING-DOMAIN', PROGRAMID, 'TAG-ID-1');
			// End: configuration parameters

</script>
<noscript>
	<img src="https://TRACKING-DOMAIN/TrackOrder.aspx?site=PROGRAMID&publisher_id=651
	&event=basket&net_price=16551.37&Currency=EUR&order_id=25125346532
	&order_description=test_order_123&order_date=2014-11-03T18:12:13
	&date_format=yyyy-MM-ddTHH:mm:ss&time_zone=+1&rate_number=2&ad_type=4
	&ad_number=6&publisher_subid=test_subid&program_subid1=advertiser_subid_1
	&program_subid2=advertiser_subid_2&voucher_code=test_vouchercode
	&product_ids=product1,product2,product3&click_time=2014-10-05T11:13:0
	1&uid=1657A2C9-6764-4BF8-B5DE-5B2D1FFC1631&basket_items=product_id%3
	a121%26product_name%3DArticle%20name%201%26product_price%3D5.95%26pro
	duct_quantity%3D5%26product_brand%3Drand%20name%26product_category%3D
	Main%20Cat%20%3E%20Sub%20Cat%20%26product_property1%3DSize%3A%20XXL%2
	6product_property2%3DColour%3A%20green%26product_rate_number%3D23%26p
	roduct_rate_type%3Dpps%0D%0Aproduct_id%3Db324%26product_name%3DArtice
	Name2%26product_price%3D16550.95%26product_quantity%3D2" />
</noscript>

Server Sided Tracking

The <noscript> snippet syntax also can be used as standalone pixel for server-sided-tracking methods as callbacks from third party mobile SDKs, distributed attribution or lifetime commissions.

You just have to replace the scriptname in the nonscript URL from TrackOrder.aspx to TrackOrderSST.aspx.

As server sided tracking is based on a third party you are using to track, you have to pass back some additional parameters which typically would be handled in the background by the affilinet tracking.

The values of publisher_id, publisher_subid, ad_number, ad_type and uid will be forwarded to you by affilinet by appending them to your deeplinks.

The value for click_time has to be generated by your system.

The parameter order_date and it´s specification parameters time_zone and date_format are only needed if the callback does not happen in realtime.

If you want to tag an order as being generated by postview you can ad the parameter ispostview with the value 1.

Mandatory parameters

The following parameters additionally get mandatory for server sided OrderTracking:

  • publisher_id
  • publisher_subid

Recommended parameters:

  • ad_number
  • ad_type

Example Code


<noscript>
<img src="https://TRACKING-DOMAIN/TrackOrderSST.aspx?site=PROGRAMID&publisher_id=123&event=sale&net_price=0.42
&Currency=EUR&order_id=25125346532&order_description=test_order_123&order_date=2014-11-03T18:12:13
&date_format=yyyy-MM-ddTHH:mm:ss&time_zone=+1&rate_number=2&ad_type=4&ad_number=6&publisher_subid=test_subid
&program_subid1=advertiser_subid_1&program_subid2=advertiser_subid_2&voucher_code=test_vouchercode
&product_ids=product1,product2,product3&click_time=2014-10-05T11:13:01&uid=1657A2C9-6764-4BF8-B5DE-5B2D1FFC1631&ispostview=0" />
</noscript>

Profiling

The profiling module allows you to provide publishers with customer centric visitor behaviour data for targeting purposes (e.g. Prospecting, Targeting, Retargeting or Cart Abandonment) before a sale or lead has been completed.

The description of each event contains information about mandatory and optional parameters to configure. The events work properly if you only configure the mandatory parameters. We strongly recommend to implement optional events as well in order to collect comprehensive data for ideal targeting.

To ensure proper profiling of web site visitor behaviour we recommend to implement at least following profiling tags:

  • PageView (Include on every page where no other tag is suitable)
  • CategoryView (Included on pages that reflect a category selection)
  • ProductView (Included on pages that reflect product details)
  • AddToCart or CartView Included on pages where a product is added to the cart or cart details are shown)
  • CheckOut (Include on Checkout page)

PageView

The PageView-event allows you to provide information about the pages visited, including the page’s name, its URL, its category and its referring page.

This tag is usually placed on landing pages, it can be placed on any page where none of the other tags fit.

The integration is mandatory, if you don´t deliver other tags on these pages.

Mandatory parameters

The PageView event does not require any mandatory parameters, but we strongly suggest to supply the parameter page_name to provide more detailed targeting possibilities.

Example Code


<script>
	(function (w, d, namespace, domain, progId, tagId, undefined) {
		w[namespace] = w[namespace] || {}; var act = w[namespace], payload = []; act.tags = act.tags || []; act.tags.push(tagId, payload);
		var protocol = d.location.protocol;

		payload.push({
			// Start: fixed parameters – don’t change!
			module: 'Profiling',
			event: 'PageView',
			// End: fixed parameters
			// Start: mandatory payload parameters – please edit
			page_name: 'Exampleshop%20Homepage',
			// End: mandatory payload parameters
			// Start: optional payload parameters – please edit
			page_category: 'general',
			page_type: 'landingpage',
			page_url: 'http%3A%2F%2Fexampleshop.com',
			referer_url: 'http%3A%2F%2Fgoogle.com'
			// End: optional payload parameters
		});

		if (act.get === undefined) {
			var s = d.createElement('script'); s.type = 'text/javascript'; s.src =
			protocol + '//' + domain + '/' + 'affadvc.aspx?ns=' + namespace + '&dm=' +
			domain + '&site=' + progId + '&tag=' + tagId; s.async = false;
			// always keep false for OrderTracking
			(d.getElementsByTagName('body')[0] || d.getElementsByTagName('head')[0]).appendChild(s);
		}else { act.get(w, d, progId, tagId); }
	})(window, document,
			// Start: configuration parameters
	'aff_act_1.0', 'TRACKING-DOMAIN', PROGRAMID, 'TAG-ID-1');
			// End: configuration parameters
</script>

CategoryView

The CategoryView-event allows you to provide information about visits on your category pages, including its referring pages or the category image. The integration of this tag is mandatory.

Mandatory parameters

The following parameters are mandatory to make the container work properly:

  • category_name
  • category_id (not mandatory but strongly recommended)

Example Code


<script>
	(function (w, d, namespace, domain, progId, tagId, undefined) {
		w[namespace] = w[namespace] || {}; var act = w[namespace], payload = []; act.
		tags = act.tags || []; act.tags.push(tagId, payload);
		var protocol = d.location.protocol;

		payload.push({
			// Start: fixed parameters – don’t change!
			module: 'Profiling',
			event: 'CategoryView',
			// End: fixed parameters
			// Start: mandatory payload parameters – please edit
			category_name: 'accessories',
			category_id: '123456',
			// End: mandatory payload parameters
			// Start: optional payload parameters – please edit
			category_click_url: 'http%3A%2F%2Fwww.mystore.com%2F%3Fnetwork%3Daffilinet',
			category_img_url: 'http%3A%2F%2Fyoururl.com',
			referer_url: 'http%3A%2F%2Fgoogle.com'
			// End: optional payload parameters
		});

		if (act.get === undefined) {
			var s = d.createElement('script'); s.type = 'text/javascript'; s.src =
			protocol + '//' + domain + '/' + 'affadvc.aspx?ns=' + namespace + '&dm='
			domain + '&site=' + progId + '&tag=' + tagId; s.async = false;
			// always keep false for OrderTracking
			(d.getElementsByTagName('body')[0] || d.getElementsByTagName('head')[0]).appendChild(s);
		}else { act.get(w, d, progId, tagId); }
	})(window, document,
			// Start: configuration parameters
	'aff_act_1.0', 'TRACKING-DOMAIN', PROGRAMID, 'TAG-ID-1');
			// End: configuration parameters
</script>

ProductView

The ProductView-event allows you to provide information about visits on a product detail page, including product price, image URL. This tag is mandatory.

Mandatory parameters

The following parameters are mandatory to make the container work properly:

  • currency
  • product_id
  • product_name
  • product_price
  • product_category(not mandatory but strongly recommended)

Example Code


<script>
	(function (w, d, namespace, domain, progId, tagId, undefined) {
		w[namespace] = w[namespace] || {}; var act = w[namespace], payload = []; act.
		tags = act.tags || []; act.tags.push(tagId, payload);
		var protocol = d.location.protocol;

		payload.push({
			// Start: fixed parameters – don’t change!
			module: 'Profiling',
			event: 'ProductView',
			// End: fixed parameters
			// Start: mandatory payload parameters – please edit
			currency: 'EUR',
			product_category: ['Clothes', 'Shoes', 'FlipFlops'],
			product_id: 'vr17896',
			product_name: 'velvet%20robe',
			product_price: 59.99,
			// End: mandatory payload parameters
			// Start: optional payload parameters – please edit
			product_accessory: 'true',
			product_brand: 'Apple',
			product_click_url: 'http%3A%2F%2Fwww.mystore.com%2F%3Fnetwork%3Daffilinet',
			product_img_url: 'http%3A%2F%2Fyoururl.com',
			product_in_stock: 'true',
			product_old_price: 89.99,
			product_on_sale: 'true',
			product_rating: '4',
			referer_url: 'http%3A%2F%2Fgoogle.com',
			// End: optional payload parameters
			// Start: only applicable if you have travel data
			travel_adults: 'true',
			travel_end_date: '2014-11-21',
			travel_from: 'Hamburg',
			travel_hotel_category: '4%20star',
			travel_kids: 'false',
			travel_product_type: 'last%20minute',
			travel_start_date: '2014-11-07',
			travel_to: 'Madrid'
			// End: only applicable if you have travel data
		});

		if (act.get === undefined) {
			var s = d.createElement('script'); s.type = 'text/javascript'; s.src =
			protocol + '//' + domain + '/' + 'affadvc.aspx?ns=' + namespace + '&dm='
			domain + '&site=' + progId + '&tag=' + tagId; s.async = false;
			// always keep false for OrderTracking
			(d.getElementsByTagName('body')[0] || d.getElementsByTagName('head')[0]).appendChild(s);
		}else { act.get(w, d, progId, tagId); }
	})(window, document,
			// Start: configuration parameters
	'aff_act_1.0', 'TRACKING-DOMAIN', PROGRAMID, 'TAG-ID-1');
			// End: configuration parameters
</script>

AddToCart

The AddToCart-event allows you to provide information about the products that were added to the shopping cart by visitors, including product price and categories the product belongs to. This tag is mandatory. If AddToCart is not implemented, you must implement the CartView Event.

Mandatory parameters

The following parameters are mandatory to make the container work properly:

  • currency
  • product_id
  • product_name
  • product_quantity
  • product_price
  • product_category(not mandatory but strongly recommended)

Example Code


<script>
	(function (w, d, namespace, domain, progId, tagId, undefined) {
		w[namespace] = w[namespace] || {}; var act = w[namespace], payload = []; act.
		tags = act.tags || []; act.tags.push(tagId, payload);
		var protocol = d.location.protocol;

		payload.push({
			// Start: fixed parameters – don’t change!
			module: 'Profiling',
			event: 'AddToCart',
			// End: fixed parameters
			// Start: mandatory payload parameters – please edit
			currency: 'EUR',
			product_category: ['Clothes', 'Shoes', 'FlipFlops'],
			product_id: 'vr17896',
			product_name: 'velvet%20robe',
			product_price: 59.99,
			product_quantity: 1,
			// End: mandatory payload parameters
			// Start: optional payload parameters – please edit
			product_brand: 'Apple',
			product_click_url: 'http%3A%2F%2Fwww.mystore.com%2F%3Fnetwork%3Daffilinet',
			product_img_url: 'http%3A%2F%2Fyoururl.com',
			product_old_price: 89.99,
			product_rating: '4',
			referer_url: 'http%3A%2F%2Fgoogle.com',
			// End: optional payload parameters
			// Start: only applicable if you have travel data
			travel_adults: 'true',
			travel_end_date: '2014-11-21',
			travel_from: 'Hamburg',
			travel_hotel_category: '4%20star',
			travel_kids: 'false',
			travel_product_type: 'last%20minute',
			travel_start_date: '2014-11-07',
			travel_to: 'Madrid'
			// End: only applicable if you have travel data
		});

		if (act.get === undefined) {
			var s = d.createElement('script'); s.type = 'text/javascript'; s.src =
			protocol + '//' + domain + '/' + 'affadvc.aspx?ns=' + namespace + '&dm='
			domain + '&site=' + progId + '&tag=' + tagId; s.async = false;
			// always keep false for OrderTracking
			(d.getElementsByTagName('body')[0] || d.getElementsByTagName('head')[0]).appendChild(s);
		}else { act.get(w, d, progId, tagId); }
	})(window, document,
			// Start: configuration parameters
	'aff_act_1.0', 'TRACKING-DOMAIN', PROGRAMID, 'TAG-ID-1');
			// End: configuration parameters
</script>

CartView

The CartView Event allows you to provide information about the contents of the visitor’s shopping cart. Each chosen product or travel arrangement is tracked within a product array including information such as product price, name and id or, in case of travel products, date or travel participants.

Only use this container if you are not able to integrate the AddToCart container. This tag is mandatory, if you don´t use AddToCart.

Mandatory parameters

The following parameters are mandatory to make the container work properly:

  • currency
  • products(Array: product_id, product_name, product_price, product_quantity)

Example Code


<script>
	(function (w, d, namespace, domain, progId, tagId, undefined) {
		w[namespace] = w[namespace] || {}; var act = w[namespace], payload = []; act.
		tags = act.tags || []; act.tags.push(tagId, payload);
		var protocol = d.location.protocol;

		payload.push({
			// Start: fixed parameters – don’t change!
			module: 'Profiling',
			event: 'CartView',
			// End: fixed parameters
			// Start: mandatory payload parameters – please edit
			currency: 'EUR',
			products: [
				{
					product_id: 'z777',
					product_name: 'Blue%20T-Shirt',
					product_price: 7.99,
					product_quantity: 5
				},
				{
					product_id: 'y888',
					product_name: 'All-Inclusive%20Trip',
					product_price: 899.99,
					product_quantity: 2,
			// Start: only applicable if you have travel data
					travel_adults: 2,
					travel_end_date: '2014-11-21',
					travel_from: 'Hamburg',
					travel_hotel_category: '4%20star',
					travel_kids: 0,
					travel_product_type: 'last%20minute',
					travel_start_date: '2014-11-07',
					travel_to: 'Madrid'
			// End: only applicable if you have travel data
				}
			],
			// End: mandatory payload parameters
			// Start: optional payload parameters – please edit
			referer_url: 'http%3A%2F%2Fgoogle.com',
			tax: 19,
			total_price: 931.95,
			total_quantity: 7,
			voucher_code: 'v987657899',
			voucher_code_discount: 10
			// End: optional payload parameters
		});

		if (act.get === undefined) {
			var s = d.createElement('script'); s.type = 'text/javascript'; s.src =
			protocol + '//' + domain + '/' + 'affadvc.aspx?ns=' + namespace + '&dm='
			domain + '&site=' + progId + '&tag=' + tagId; s.async = false;
			// always keep false for OrderTracking
			(d.getElementsByTagName('body')[0] || d.getElementsByTagName('head')[0]).appendChild(s);
		}else { act.get(w, d, progId, tagId); }
	})(window, document,
			// Start: configuration parameters
	'aff_act_1.0', 'TRACKING-DOMAIN', PROGRAMID, 'TAG-ID-1');
			// End: configuration parameters
</script>

Checkout

The Checkout-event allows you to provide information regarding products a visitor has purchased.
This tag is mandatory. It has to be placed on the checkout page. This event is for profiling only. For conversion tracking of basket items you have to use the BasketTracking Event/Tag.

Mandatory parameters

The following parameters are mandatory to make the container work properly:

  • currency
  • order_id
  • order_total_gross_price
  • order_total_items
  • products(Array: product_id, product_name, product_price, product_quantity)

Example Code


<script>
	(function (w, d, namespace, domain, progId, tagId, undefined) {
		w[namespace] = w[namespace] || {}; var act = w[namespace], payload = []; act.
		tags = act.tags || []; act.tags.push(tagId, payload);
		var protocol = d.location.protocol;

		payload.push({
			// Start: fixed parameters – don’t change!
			module: 'Profiling',
			event: 'Checkout',
			// End: fixed parameters
			// Start: mandatory payload parameters – please edit
			currency: 'EUR',
			order_id: '14165549865969',
			order_total_gross_price: 33119.75,
			order_total_items: 7,
			products: [
				{
					product_id: 'a121',
					product_name: 'Travel%201',
					product_price: 5.95,
					product_quantity: 5,
			// Start: only applicable if you have travel data
					travel_adults: 2,
					travel_end_date: '2014-11-21',
					travel_from: 'Hamburg',
					travel_hotel_category: '4%20star',
					travel_kids: 0,
					travel_product_type: 'last%20minute',
					travel_start_date: '2014-11-07',
					travel_to: 'Madrid'
			// End: only applicable if you have travel data
				},
				{
					product_id: 'b324',
					product_name: 'ArticleName2',
					product_price: 16545.00,
					product_quantity: 2
				}
			],
			// End: mandatory payload parameters
			// Start: optional payload parameters – please edit
			customer_age: 39,
			customer_age_range: '20-50',
			customer_country: 'Germany',
			customer_gender: 'male',
			customer_status: 'new',
			customer_zip: '30161',
			payment_type: 'paypal',
			referer_url: 'http%3A%2F%2Fgoogle.com',
			shipping_gross_price: 4.95,
			shipping_tax: 6,
			shipping_type: 'standard',
			tax: 19,
			voucher_code: 'v9917417431784',
			voucher_code_discount: 12
			// End: optional payload parameters
		});

		if (act.get === undefined) {
			var s = d.createElement('script'); s.type = 'text/javascript'; s.src =
			protocol + '//' + domain + '/' + 'affadvc.aspx?ns=' + namespace + '&dm='
			domain + '&site=' + progId + '&tag=' + tagId; s.async = false;
			// always keep false for OrderTracking
			(d.getElementsByTagName('body')[0] || d.getElementsByTagName('head')[0]).appendChild(s);
		}else { act.get(w, d, progId, tagId); }
	})(window, document,
			// Start: configuration parameters
	'aff_act_1.0', 'TRACKING-DOMAIN', PROGRAMID, 'TAG-ID-1');
			// End: configuration parameters
</script>

RemoveFromCart

The RemoveFromCart-event allows you to provide infomation about which products a visitor decided to remove from the shopping cart. Parameters are the same as for the event “AddToCart”, except for the event name. This tag is optional.

Mandatory parameters

The following parameters are mandatory to make the container work properly:

  • currency
  • product_id
  • product_name
  • product_price
  • product_quantity
  • product_category (suggested)

Example Code


<script>
	(function (w, d, namespace, domain, progId, tagId, undefined) {
		w[namespace] = w[namespace] || {}; var act = w[namespace], payload = []; act.
		tags = act.tags || []; act.tags.push(tagId, payload);
		var protocol = d.location.protocol;

		payload.push({
			// Start: fixed parameters – don’t change!
			module: 'Profiling',
			event: 'RemoveFromCart',
			// End: fixed parameters
			// Start: mandatory payload parameters – please edit
			currency: 'EUR',
			product_category: ['Clothes', 'Shoes', 'FlipFlops'],
			product_id: 'vr17896',
			product_name: 'velvet%20robe',
			product_price: 59.99,
			product_quantity: 1,
			// End: mandatory payload parameters
			// Start: optional payload parameters – please edit
			product_brand: 'Apple',
			product_click_url: 'http%3A%2F%2Fwww.mystore.com%2F%3Fnetwork%3Daffilinet',
			product_img_url: 'http%3A%2F%2Fyoururl.com',
			product_old_price: 89.99,
			product_rating: '4',
			referer_url: 'http%3A%2F%2Fgoogle.com',
			// End: optional payload parameters
			// Start: only applicable if you have travel data
			travel_adults: 'true',
			travel_end_date: '2014-11-21',
			travel_from: 'Hamburg',
			travel_hotel_category: '4%20star',
			travel_kids: 'false',
			travel_product_type: 'last%20minute',
			travel_start_date: '2014-11-07',
			travel_to: 'Madrid'
			// End: only applicable if you have travel data
		});

		if (act.get === undefined) {
			var s = d.createElement('script'); s.type = 'text/javascript'; s.src =
			protocol + '//' + domain + '/' + 'affadvc.aspx?ns=' + namespace + '&dm='
			domain + '&site=' + progId + '&tag=' + tagId; s.async = false;
			// always keep false for OrderTracking
			(d.getElementsByTagName('body')[0] || d.getElementsByTagName('head')[0]).appendChild(s);
		}else { act.get(w, d, progId, tagId); }
	})(window, document,
			// Start: configuration parameters
	'aff_act_1.0', 'TRACKING-DOMAIN', PROGRAMID, 'TAG-ID-1');
			// End: configuration parameters
</script>

Parameters

Fixed Parameters

These parameters define the main function of a tag. These parameters are mandatory for each tag.

Parameter Description Field Type
module

Describes the type of module of the script.

Valid input data:

  • OrderTracking
  • Profiling

String
e. g. OrderTracking
event

Describes the type of the event.

Valid event values for OrderTracking module

  • Sale
  • Lead
  • Basket

Valid event values for Profiling module

  • PageView
  • CategoryView
  • ProductView
  • AddToCart
  • CartView
  • Checkout
  • RemoveFromCart
  • Search
String
e. g. Sale

Payload parameters (alphabetical)

These parameters track specific data within the tag. These parameters can be mandatory or optional depending on the type of event where it is listed. Mandatory parameters are listed in the introduction text for each event described in the chapters Order Tracking and Profiling.

Parameter Description Field Type
Example (red)
Event
ad_number

When using server sided tracking insert the number of the creative that has been forwarded to you by affilinet.

Note: The parameter name in the former tracking is “affmn”. Please check the creative management in the affilinet advertiser portal for more information.

Note: Values found in the affilinet cookie have higher priority!

Integer
1
Sale
Lead
Basket
ad_type

When using server sided tracking insert the type of the creative that has been forwarded to you by affilinet.

Note: The parameter name in the former tracking is “affmt”. Values found in the affilinet cookie have higher priority.

Valid input data:

  • '1' for “graphic banner”
  • '2' for “text link”
  • '4' for “html creative”

Enum
2
Sale
Lead
Basket
basket_items

Insert and configure a collection of the products within the basket items array.

Note: Learn more about the basket items array in chapter BasketTracking.

Basket_items array parameters are listed in chapter basket_items

Array Basket
category_click_url

Insert the advertiser’s deeplink URL for the category.

Note: If you have a deduplication system in place,the URL has to contain the parameters or syntax that will identify the click as a click delivered from your affilinet campaign.

String (browser limit,
URL-encoded)
http%3A%2F%2Fwww.mystore.com
%2F%3Fnetwork%3Daffilinet
CategoryView
category_id

Insert the category ID the page belongs to.

Note: The Category ID is mandatory, if no category_name is present.

String (255)
123456
CategoryView
category_img_url Insert the URL of the category image. String (browser limit,
URL-encoded)
http%3A%2F%2Fyoururl.com
CategoryView
category_name

Insert the category name the page belongs to.

Note: Only the category name is required, not the full category path.

String (255)
accessories
CategoryView
click_time Insert clickdate and -time if you use server sided tracking. Datetime
(yyyy-MM-ddTHH:mm:ss)
2017-01-25T18:05:52
Sale
Lead
Basket
currency

Insert the currency of the order.

Note: Must be a three characters abbreviation according to ISO 4217.

String (3)
EUR
Sale
Lead
Basket
ProductView
AddToCart
CartView
CheckOut
RemoveFromCart
customer_age Insert the age of the customer in years Integer
25
CheckOut
customer_age_range Insert the age group of the customer. String (browser limit)
30-49
CheckOut
ProductView
customer_country Insert the country of the customer’s home address. String (browser limit)
Germany
CheckOut
customer_gender

Set the gender of the customer.

Valid input data:

  • female
  • male

String (6)
female
CheckOut
ProductView
customer_status

Insert the status of the customer for your company.

Values can be set individually. E.g.

  • new_customer
  • existing_customer
  • premium_customer

String (browser limit,
URL-encoded)
new_customer
CheckOut
customer_zip Insert the zip code of the customer’s home address. String (browser limit)
12345
CheckOut
ProductView
date_format When using server sided tracking you can insert the date format used for the parameter order_date. String (19)
yyyy-MM-ddTHH:mm:ss
Sale
Lead
Basket
ispostview With the value 1 you can classify an order as generated by postview. Only applicable for systems Tracking (SST) Integer
1
Sale (SST)ybr>Lead (SST)
Basket (SST)
lmulti

Insert a multiplier >1 for lead tracking.

The lead commission will be multiplied by the quantity transmitted in this parameter.

Integer
2
Lead
net_price

Insert the total price of the order which will be used for calculating the publisher commission with sale tracking.

Note: Must be a positive decimal number without thousand separators. A maximum of two decimals is possible.

With lead orders this value is only for statistical purpose.

For basket tracking the value may be used as fallback when the basket array has invalid syntax.

Decimal
49.95
Sale
Lead
(Basket)
order_date

Insert date and time the order took place when using server sided tracking.

Note: By default the date of the conversion request will be used. For server sided tracking or similar cases you can send an earlier date which affilinet will then use instead.

The date can be up to 180 days in the past.

The parameters time_zone and date_format will apply here if needed.

Datetime
(yyyy-MM-ddTHH:mm:ss)
2017-02-25T18:05:52
Sale
Lead
Basket
order_description Insert a description that overwrites the rate name shown to publisher’s. String (50, URL-encoded)
Christmas%20Special%20Rate
Sale
Lead
Basket
order_id

A unique (single-use) order- or invoice ID must be inserted here dynamically.

This string also will allow you to identify individual orders and to tie together order states from your e-commerce system and the affilinet system..

String (40, alphanumeric)
123ab456de
Sale
Lead
Basket
CheckOut
order_total_gross_price Insert the total gross price sum of all goods/items of the order.
Excluding shipping.
Decimal
19.95
CheckOut
order_total_items Insert the total number of items of the order. Integer
5
CheckOut
page_category Insert the category of the current web page the customer is visiting. String (browser limit,
URL-encoded)
service
PageView
page_name Insert the name of the current web page the customer is visiting. String (browser limit,
URL-encoded)
shipping%20infopage
PageView
page_type

Insert the type of the current web page the customer is visiting.

Values can be set individually. E.g.

  • content
  • community
  • shop
  • account

String (browser limit,
URL-encoded)
content
PageView
page_url Insert the URL of the web page the customer visited to make the order. String (browser limit,
URL-encoded)
http%3A%2F%2Fwww.exampleshop
.com%2Fshipping.html
PageView
payment_type

Insert the payment type used to complete the order.

Values can be set individually. E.g.

  • Paypal
  • CreditCard

String (browser limit)
CreditCard
CheckOut
product_accessory

Set in case the product is an accessory to another product. E.g. a smart phone case.

Valid input data:

  • 'true'
  • 'false'

String (5)
true
ProductView
product_brand Insert the brand name of the product. String (255, URL-encoded)
Procter%20%26%20Gamble
ProductView
AddToCart
RemoveFromCart
product_category Insert the category name or path of the product. Array
['Clothes','Shoes',
'FlipFlops']
ProductView
AddToCart
RemoveFromCart
product_click_url

Insert the advertiser’s deeplink URL for the product page.

Note: If you have a deduplication system in place, the URL has to contain the parameters or syntax that will identify the click as a click delivered from your affilinet campaign

String (browser limit)
http%3A%2F%2Fwww.mystore.com
%2F%3Fnetwork%3Daffilinet
ProductView
AddToCart
RemoveFromCart
product_id

Insert the article number of the product.

Note: For retail retargeting you have to use the same IDs as in the product data you might provide to affilinet.

String (255)
12-ab-23
ProductView
AddToCart
RemoveFromCart
product_ids

Insert the product IDs of all products of the order.

Note: Each product ID has to be enclosed by an apostrophe and separated by comma. The value is saved by affilinet and can be used in future developments.
You also can provide this data to publishers who can optimize their campaigns even if you don´t use basket tracking.

Array
[‘12345678’, ‘234567890’,
‘44446666’]
Sale
Lead
Basket
product_ids

Insert keywords of the product found for the search phrase.

Note: Each product has to be enclosed by an apostrophe and separated by comma.

String (browser limit,
URL-encoded)
['collapsible%20Umbrella',
'Leather%20Jacket']
Search
product_img_url Insert the URL of the product image. String (browser limit)
http%3A%2F%2Fyoururl.com
ProductView
AddToCart
RemoveFromCart
product_in_stock

Set in case the product is actually on stock.

  • 'true'
  • 'false'

String (5)
true
ProductView
product_name Insert the name of the product. String (255)
iPhone%206S
ProductView
AddToCart
RemoveFromCart
product_old_price

Insert the previous gross price of the product.

Note: No thousands separators allowed

Decimal
1020.95
ProductView
AddToCart
RemoveFromCart
product_on_sale

Set in case the product is for sale.

Valid input data:

  • 'true'
  • 'false'

String (5)
true
ProductView
product_price Insert the unit gross price of product. Decimal
1420.95
ProductView
AddToCart
RemoveFromCart
product_quantity Amount of items of the product in the cart. Integer
7
AddToCart
RemoveFromCart
product_rating Insert the rating of the product. String (browser limit)
4
ProductView
AddToCart
RemoveFromCart
products

Insert and configure a collection of the products within the products array.

Note: Learn more about the products-array in chapter Products

Array CartView
CheckOut
(AddToCart)
(RemoveFromCart)
program_subid1
program_subid2

Insert information to enrich your affilinet statistics.

Note: If necessary the information can be made available to publishers.

The name in the former tracking is “pSub1”.

String (30, URL-encoded)
New%20Customer
Sale
Lead
Basket
publisher_id

When using server sided tracking insert the affilinet publisherID that has been forwarded to you by affilinet.

Note: By default the affilinet tracking will determine the publisher ID.

Values found in the affilinet cookie have higher priority.

Integer
123456
Sale
Lead
Basket
publisher_subid

When using server sided tracking insert the affilinet publisher subID that has been forwarded to you by affilinet.

Note: Values found in the affilinet cookie have higher priority.

String (80)
abcde12345-efghi-123
Sale
Lead
Basket
rate_number

Insert the number of the affilinet rate used for calculating the commission of the order.

Note: For the Basket event the rate type ‘sale’ will be assumed as default. Instead of a global rate number for all basket items also separate rate types and numbers can be set for each item inside of the basket_items array.

For the Sale and Lead event, rate number 1 is taken as default if missing.

Integer
1
Sale
Lead
Basket
referer_url Insert the the URL of the web page that linked to the the current web page the customer is visiting. (HTTP referer) String
(browser limit, URL-encoded)
http%3A%2F%2Fgoogle.com
PageView
CategoryView
ProductView
AddToCart
RemoveFromCart
CartView
CheckOut
Search
search_keywords

Insert the search phrase used by the customer.

Note: Each keyword has to be enclosed by an apostrophe and separated by comma.

String (browser limit,
URL-encoded)
['Umbrella','Jacket']
Search
shipping_gross_price Insert the total costs for shipping of the the order. Decimal
6.99
CheckOut
shipping_tax

Insert the VAT-percentage that applies to the shipping_gross_price of that order.

Note: Insert the number without “%”.

Integer
7
CheckOut
shipping_type Insert the type of shipping of the order.
E.g. ‘standard’ or ‘premium’.
String (browser limit)
standard
CheckOut
tax

Insert the VAT-percentage that applies to the gross_price.

Note: Insert the number without “%”.

Integer
19
CheckOut
CartView
time_zone When using server sided tracking you can insert the the offset between the transmitted order_date value and CET/CEST. Default is Zero. String (3)
+1
Sale
Lead
Basket
total_price Insert the total gross price of all items in the cart. Decimal
19.95
CartView
total_quantity Insert the total number of items of this order. Integer
5
CartView
travel_adults

Set if product is available for adults

Note: Applies to travel data only.

Valid input data:

  • true
  • false

String (5)
true
ProductView
AddToCart
RemoveFromCart
travel_end_date

Insert the end date of the trip.

Note: Applies to travel data only.

String (yyyy-MM-dd)
2017-02-28
ProductView
AddToCart
RemoveFromCart
travel_from

Insert the starting location of the trip.

Note: Applies to travel data only.

String (browser limit,
URL-encoded)
Munich
ProductView
AddToCart
RemoveFromCart
travel_hotel_category

Insert the rating of the hotel or location.

Note: Applies to travel data only.

String (browser limit,
URL-encoded)
4%20star
ProductView
AddToCart
RemoveFromCart
travel_kids

Set if product is available for children.

Note: Applies to travel data only.

Valid input data:

  • true
  • false

String (5)
true
ProductView
AddToCart
RemoveFromCart
travel_product_type

Insert the category of the trip.
Values can be set individually. E.g. last%20minute or educational

Note: Applies to travel data only.

String (browser limit,
URL-encoded)
last%20minute
ProductView
AddToCart
RemoveFromCart
travel_start_date

Insert the start date of the trip.

Note: Applies to travel data only.

String (yyyy-MM-dd)
2017-02-15
ProductView
AddToCart
RemoveFromCart
travel_to

Insert the destination location of the trip.

Note: Applies to travel data only.

String (browser limit,
URL-encoded)
Paris
ProductView
AddToCart
RemoveFromCart
uid

When using server sided tracking insert the affilinet generated User-ID that has been forwarded to you by affilinet.

Values found in the affilinet cookie have higher priority.

String (40)
1657A2C9-6764-4BF8-
B5DE-5B2D1FFC1631
Sale
Lead
Basket
user_log

Set in case customer is logged in.

Valid input data:

  • true
  • false

String (5)
true
ProductView
voucher_code

Insert the voucher code that was used with the order.

Note: For OrderTracking the code will be available in the Advertiser Order List.
Publishers will only see that a voucher has been used but not the voucher code itself.

String (25, alphanumeric)
ChristmasSpecial01
Sale
Lead
Basket
CheckOut
CartView
voucher_code_discount

Insert the percentage of a voucher discount.

Note: Insert the number without “%”.

Integer
10
CheckOut
CartView

Arrays

Arrays store a sequential collection of elements of the same type such as products in a shopping cart. Arrays help you to identify and track complete orders or the evolution of single shopping events.

basket_items

The basket_items array collects all products in a shopping cart for Basket OrderTracking.

The basket_items array is part of the Basket event within the OrderTracking module.

Parameter Description Field Type
Example (red)
product_brand Insert the brand name of the product. String (255, URL-encoded)
Sony
product_category Insert the category path or category name of the product. String (255, URL-encoded)
Main%20Cat%20%
3E%20Sub%20Cat
product_id Insert the article number of the product. String (80, URL-encoded)
Art012345
product_name Insert the name of the product. String (255, URL-encoded)
Sony%20Walkman
product_price Insert the net price of single one item of this product here. Must be a decimal value without thousand separators. Decimal
49.95
product_quantity Insert the amount of this item in the basket. Integer
5
product_rate_number

Insert the rate number used for calculating the commission.

Each basket item can get a separate rate.

Note: A value given here will overwrite the value in the rate_number parameter of the Basket event.

Note: Better use “Rate Mapping” based on category or product_id in affilinet dashboard.

Note: For “Rate Mapping” don´t use this parameter, as it would overstrike the mapping.

Integer
2
product_rate_type

Set the rate type used for calculating the commission.

Each basket item can get a separate commission.

Valid input data:

  • 'pps' for sale rates
  • 'ppl' for lead rates

Note: Better use “Rate Mapping” based on category or product_id in affilinet dashboard.

Note: For “Rate Mapping” don´t use this parameter, as it would overstrike the mapping.

String (3)
pps
product_property1
product_property2
product_property3
product_property4
product_property5
Insert additional product information such as colour or size. String (255, URL-encoded)
Colour%3A%20green

Products

The products array collects products for shopping carts in the Profiling module.

The products array is part of the CartView Event and the Checkout Event.

For special purposes you also can use this array for the AddToCart and RemoveFromCart events.

Parameter Description Field Type
Example (red)
product_id

Insert the article number of the product.

Note: For retail retargeting you have to use the same IDs as in the product data you might provide to affilinet.

String (255, URL-encoded)
12-ab-23
travel_adults

Insert the number of adults booked on the product.

Note: Applies to travel data only.

Integer
2
travel_end_date

Insert the starting location of the trip.

Note: Applies to travel data only.

String (yyyy-MM-dd)
2017-02-28
travel_from

Insert the starting location of the trip.

Note: Applies to travel data only.

String (browser limit,
URL-encoded)
Munich
travel_hotel_category

Insert the rating of the hotel or location booked

Note: Applies to travel data only.

String (browser limit,
URL-encoded)
4%20star
travel_kids

Insert the number of children booked on the product.

Note: Applies to travel data only.

Integer
1
travel_product_type

Insert the category of the trip.

Values can be set individually. E.g. last%20minute or educational

Note: Applies to travel data only.

String (browser limit,
URL-encoded)
last%20minute
travel_start_date

Insert the start date of the trip.

Note: Applies to travel data only.

String (yyyy-MM-dd)
2017-02-15
travel_to

Insert the destination location of the trip.

Note: Applies to travel data only.

String (browser limit,
URL-encoded)
Paris
product_name Insert the product name. String (255, URL-encoded)
iPhone%206S
product_price Insert the gross price of one single item of the product. Decimal
1420.95
product_quantity Insert the amount of items of the product in the basket. Integer
7

Configuration Parameters
(Module configuration)

Configuration parameters set general values associated with your affilinet-program or a module.

Parameter Description Field Type
Example (red)
s.async

This parameter determines, if the browser renders the container together with the other content of the web page (synchronous) or after the other content of the web page (asynchronous).

Valid input data:

  • 'true' for asynchronous rendering
  • 'false' for synchronous rendering/li>

Note: For OrderTracking modules we strongly suggest to keep false.

Boolean (true, false)
false
aff_act_1.0 Version of the container. Do not change the version unless you want to switch to a different version in the future. String
aff_act_1.0
TRACKING-DOMAIN

Enter the tracking domain of the country platform where your affilinet program is registered.

Note: For valid input data see chapter Tracking Domains

String
act.webmasterplan.com
PROGRAMID Enter your affilinet advertiser program ID. Integer
12345
TAG-ID-1

Enter a personalized tag ID, if needed.

Note: Must be per tag if more than one affilinet module/tag is used on one page.
Also useful if affilinet shall help you to identify issues of a specific container location.

String (browser limit)
tag-01

Tracking-Domains

The domain to be used for the tracking depends on the country where the affilinet program is registered. Find the correct tracking domain in the table below. Orders with the wrong tracking domain will not be tracked.

Country Country ID TRACKING-DOMAIN <script> part TRACKING-DOMAIN <noscript> part
Germany DE act.webmasterplan.com partners.webmasterplan.com
UK UK act.successfultogether.co.uk being.successfultogether.co.uk
France FR act.reussissonsensemble.fr clic.reussissonsensemble.fr
Netherlands NL/BE act.samenresultaat.nl zijn.samenresultaat.nl
Spain ES/IT act.epartner.es web.epartner.es
Switzerland CH act.webmasterplan.com partners.webmasterplan.com
Austria AT act.webmasterplan.com partners.webmasterplan.com

FAQ

Q: Where does the container start and end?
A: The container starts with the first <script> - tag and ends at the closing </noscript> - tag. For the Profiling module the container ends with </script>
Q: Can I put two or more containers on one page?
A: Yes, you can render multiple tags on the same page.
They must have different “TAG-ID” values, so that they can be distinguished.
If you put a single tag containing different modules (e.g. a OrderTracking and a Profiling container) on one page, only the “module” value needs to be different.
Q: Can I use different events in one module?
A: Yes, for OrderTracking you can render multiple events on the same module.
For example to deliver one Lead event and one Sale event.
Example: Cellphone contract (Lead) and phone accessories (Sale)
Note: As this applies to one single order, you can use the same order_id.
Q: What is the TAG-ID for?
A: The TAG-ID helps affilinet to identify from which container the data is delivered and can help you with this information to debug. In a normal setup you don’t need to modify this ID.
Please note: If you render more than one container tag, each container tag must have a unique “TAG-ID” value, so that they can be distinguished.
Q: Can I use different modules in one container?
A: Yes, you can add several modules in one container/tag. If you want to use the OrderTracking module with the Profiling module for checkout the structure looks like this example:
    <script>
            [SNIP]
            payload.push({
                  module: 'OrderTracking',
                  event: 'Sale',
                  net_price: 25.00,
                  order_id: '25125346532',
                  rate_number: 2
            });
            payload.push({
                  module: 'Profiling',
                  event: 'Checkout',
                  order_id: '25125346532',
                  currency: 'EUR',
                  order_total_gross_price: 35.95,
                  products: [
                        {
                                product_id: 'a121',
                                product_name: 'Travel1',
                                product_price: 5.95,
                                product_quantity: 5
                        }
                  ]
            });
            [SNIP]
    </script>
    <noscript>
          <img src="https://TRACKING-DOMAIN/
          TrackOrder.aspx?site=PROGRAMID
          &event=sale&net_price=25.00&order_id=25125346532&rate_number=2" />
    </noscript>
        
Q: What is the challenge with voucher discounts and basket tracking?
A: Basket Tracking has no total order value. The value is calculated from the item price and the item quantity. If your customer uses a voucher (e.g. 10 EUR off) you cannot include this in the order tracking unless you allot and substract the voucher value in pro rata to each item.
Q: When is the <script> and <noScript> part used?
A: Usually the <script> part will be executed. Only if the visitor of your web site has blocked JavaScript in his browser, the browser will use the <noScript> part.
Q: Can I provide lifetime commissions?
A: Yes! We will attach the publisherID to your landingpage-URL as “&ref=xxxx”.
For lifetime commissions you have to store the publisherID together with the enduser data in your CRM.
Every time your client with an affilinet publisherID associated initiates a purchase, you have to fire our tracking-code while the checkout.
Example:
    
    order_id: '25125346532',
    publisher_id: '651',
    order_description: 'test_order_123',
    
        
Q:

I need to handover more than one product at “AddToCart” / “RemoveFromCart”.
How can I do that?
A: You need to add a products array to the event codes. You can adopt the syntax of the products array at the CartView and CheckOut events.
    products: [
    {
    product_specific_params
    }],