Configuring and implementing tracking tags

 

Before you start

In order to track the online marketing events of the advertisers on your platform, you will need to implement tracking tags on the website of the advertiser. Please note you will need to implement two tags: the conversion tag and the on-page tag.

The conversion tag should be implemented on any page on which a conversion is confirmed: the page on which a client is being thanked for his purchase, the page on which a client’s subscription for a newsletter is confirmed, etc. Before you implement a conversion tag, you will have to configure it, depending on the advertiser’s needs.

The on-page tag should be implemented on all other pages of the advertiser’s website. To configure it, you only need to choose a loading method and write a brief website description.

Also remember to receive the clickId that is transmitted by the clickId Parameter from all incoming traffic, save it and to include it in the conversion tag.

Consider to work with a first party tracking domain, since it usually allows the highest accuracy of tracking. Read more about first party tracking here.

As soon as you have implemented the tags, you should process a tracking test.

Preparation: The clickId

Especially in third party contexts (that means the tracking domain is a different one than the shop domain), the clickId is highly important to get tracking reliably working,.

All settings and configurations regarding the clickId should be done before implementing the tracking tags. Reason is, that the clickId needs to be included in the conversion tag and thus should be available, when it is implemented.

Details about receiving a transmitted clickId, saving it and fetching it to include it in the tag can be read here.

Getting started

The tracking tags for your advertisers can be found and configured in your UI. Click on advertiser in the navigation menu and proceed to click on manage advertisers. On the page you see now, find the advertiser you want to implement a tracking tag for and click on the on the  icon in the technical section.

If you do so, you will see a page which is rather large, but basically consists of three sections:

  1. The section in which you can process the configuration of the tracking tags (defining the conversion target and tracking categories for the conversion tags; choosing a loading method and creating a description for both tags; adding parameters for the conversion tag).

  2. Further below, you will see a panel in which the conversion tag is displayed.

  3. At the bottom of the page, you will find the on-page tag.

Configuring the conversion tag

Basic configuration

The basic configuration of the conversion tag takes place in the first section of the tracking tag page. Make sure you go through the following steps:

Choose a conversion target for which you want to create a conversion tag for. Conversion targets usually designate an event type such as sale or appinstall. This conversion target should obviously correspond with the conversion of the confirmation page you want to integrate the tag on. In case you work with multiple conversion targets, make sure the parameter is filled with the correct value from data layer. Conversion targets should be set up before implementing the conversion tag.
Working with conversion targets

Select a tracking category for the conversion tag you are implementing.  Tracking categories usually designate the commercial category of a conversion.

If you are implementing a conversion tag that should enable basket tracking, make sure you select basket. In case you work with multiple tracking categories, make sure the parameter is filled with the correct value from data layer. Tracking categories should be set up before implementing the tracking tag.
Tracking categories

 

Define whether you want the container tags in the container if the tracking tags to load synchronous or asynchronous. When you select synchronous loading, the tags implemented in the container will be loaded as soon as the browser reaches the position of the tracking tag in the source tag of the page. When you select asynchronous loading, the tags implemented in the container will be loaded as soon as the browser has loaded the complete page. Asynchronous loading is highly recommended, although it requires you to make sure all third party tracking tags implemented in the container of the conversion tag are asynchronous as well.

After you have selected a conversion target and the tracking category, you will need to fill in a brief description of the page you want to implement the tracking tag on. Make sure the description explains the event on the confirmation page unambiguously. We recommend that it is only one word, such as “checkout.”

In case of session tracking/ working with the click ID: Make sure the click ID is transmitted with every ad media click to the corresponding target URLs. It should be transmitted as additional parameter. We recommend working with the click ID, since it allows tracking when no cookie is available. For more details read more here: Working with the clickId

Mandatory parameters

If you look at panel below the configuration section, you will find that the conversion tag already contains six parameters. These parameters are mandatory and should not be removed from the conversion tag.

Name (JS tag)

Name (img tag)

Explanation

Format

Example

Name (JS tag)

Name (img tag)

Explanation

Format

Example

convTarget

ctg

This parameter identifies the conversion target. The value of the parameter corresponds with the target you selected in the configuration panel.

Attention: Uniqueness of conversions is determined by the combination of the convId, convTarget, and trcCat together. This means you can have multiple conversions with the same convId, but different convTarget and trcCat.

Alphanumeric

AddBasket

trcCat

trc

This parameter identifies the tracking category. The value of the parameter corresponds with the category you selected in the configuration panel.

Tracking category default will be used implicitly when none or unknown tracking category is supplied.

In case of basket tracking the value basket should be used.

Attention: Uniqueness of conversions is determined by the combination of the convId, convTarget, and trcCat together. This means you can have multiple conversions with the same convId, but different convTarget and trcCat.

Alphanumeric

default

convId

cid

This parameter identifies the the conversion and therefore should be unique. In case the ID contains sensitive information such as an email address, it can be replaced by an alternative ID on the platform.

Attention: Uniqueness of conversions is determined by the combination of the convId, convTarget, and trcCat together. This means you can have multiple conversions with the same convId, but different convTarget and trcCat.

Alphanumeric, max length 255 chars

ORD12345

ordValue

orv

This parameter transmits the net value of the conversion. If the conversion does not contain a value, the transmitted value should be 0.00.

If the conversion is based on positions (basket parameter), the value should not be transmitted.

Attention: Any other format than ##############.#### (Scale 20, Precision 4) is not allowed.

Numeric: ################.#### (Scale 20, Precision 4)

Max-Value: 9999999999999999.9999

25.00

ordCurr

orc

This parameter transmits the currency following ISO 4217. The currency should always correspond with the currency used on the advertiser's website.

Alphabetic

EUR

clickIds

cli

This parameter can transmit click IDs and enable attribution even when no cookie was dropped.

Alphanumeric, comma-separated or JSON array

a123456,b78910 or ["a123456","b78910"]

locationHref

hrf

The complete Browser-URL on which the tag was fired. Used to prevent accuracy issues in case of strict referrer browser policy. Please don’t change the default value window.location.href

URL

Result of window.location.href call

Adding advanced parameters

Before you start

Apart of the mandatory parameters that are added to the tag automatically, you can add advanced parameters. Please note that in order for these parameters to work properly, the data they are designed to transmit need to be available. Parameters marked with an asterix (*) in the description can also be used without the underscore (_). For example, you can use ‘commissionfix’ instead of ‘commission_fix’.

The advanced parameters are sorted by purpose, let’s go through them one by one.

Name (JS tag)

Name (img tag)

Explanation

Format

Example

Name (JS tag)

Name (img tag)

Explanation

Format

Example

discValue

dsv

This parameter transmits any discount values (net amounts) related to the conversion.

Numeric: #.#

12.34

discCode

dsc

This parameter transmits any discount tags related to the conversion.

Alphanumeric

XMAS2016-4578aved

invValue

inv

This parameter transmits the total order value of a conversion, i.e. including shipping costs and VAT.

Numeric: #.#

123.45

confStat

cfs

This parameter transmits the status of the conversion. If it is not used, conversions will be registered with an open status. Therefore, you should only use this parameter when you want to confirm or cancel conversions automatically.

0 = open
1 = approved
2 = rejected

Numeric

1

uniqid

uniqid

This parameter is needed when you want to automate your validation process. For more information, please read this article.

Universally unique identifier (UUID)

164a9ee7-4b7a-3a2a-802a-1a7a4be79e4a

siteId

sid

For security reasons, this parameter identifies the page on which the conversion is made.

Alphanumeric

 

requestTimestamp

rst

This parameter transmits the request time for this Conversion following the format in ISO 8601. The value must not be older then three months (92 days) ago and cannnot correspond to a future point in time.

YYYY-MM-DDTHH:mm:ss.sss+00:00

2021-11-12T14:00:00.000+00:00

Custom values

The parameters in this section can transmit custom values related to the conversion or the customer, such as points given for a loyalty program. The content can be alphanumeric.

Name (JS tag)

Name (img tag)

Explanation

Format

Example

Name (JS tag)

Name (img tag)

Explanation

Format

Example

isCustNew

csn

This parameter registers whether the customer was new to the advertiser. Possible values are true (new) or false (recurring).

Alphabetic

True

custId

csi

This parameter transmits any ID given to the customer who placed the conversion. Use this for implementing cross-device and cookieless tracking.

Alphanumeric, max length 255 chars

bon78945

session

session

This parameter transmits any ID given to the session of the customer who placed the conversion. Use this for implementing cross-device and cookieless tracking.

Alphanumeric, max length 255 chars

ses345

custGend

csg

This parameter transmits a value identifying the gender of the customer placing the conversion. Possible values are f (female) and m (male).

Alphabetic

f

custAge

csa

This parameter transmits the age of the customer placing the conversion.

Numeric

45

CustSurv

csr

This parameter transmits questions and answers to surveys held upon placing the order.

Alphanumeric: {"#":"#"}. Please note JSON format is higly recommended.

{"Your favorite movie":"Moonraker","Your favorite actor":"Sean Connery"}

payMethod

pmt

This parameter can transmit the payment method the customer chose when placing the order.*

Alphanumeric

paypal

addData

adt

This parameter can transmit costumer related data, such as the number of orders previously canceled or recommendations.

Alphanumeric: {"#":"#"}. Please note JSON format is highly recommended.

{"number_prev_cancellations":"12","recommended_by":"user_id: 15"}

userVal1

uv1

This parameter can transmit additional information.

Alphanumeric. It can be a string, a JSON or another format.

12345

userVal2

uv2

This parameter can transmit additional information.

Alphanumeric. It can be a string, a JSON or another format.

Berlin

userVal3

uv3

This parameter can transmit additional information.

Alphanumeric. It can be a string, a JSON or another format.

Germany

userVal4

uv4

This parameter can transmit additional information.

Alphanumeric. It can be a string, a JSON or another format.

Category: Newspaper Subscription

Basket tracking

A requirement for basket tracking is the tracking category ‘basket.’ we recommend to set it up before implementing the conversion tag.

To enable basket tracking, please make sure you add the ‘basket’ parameter to the conversion tag. Remember, the tracking category ‘basket’ should be set up. The only requirement for using this parameter is that your advertiser needs to be able to fill it with basket data in JSON format. The individual components of the basket data are discussed in the table below.

Name

Explanation

Format

Example

Name

Explanation

Format

Example

id

The optional ID of this position Can be submitted to address this position later. Generated automatically if empty.

1 or higher, max value 32767

1

uuid

The optional UUID of this position. Can be submitted to address this position later. Generated automatically if empty.

Valid UUID

0d5bb776-2d50-4d65-912c-d20e324f66b8

pid

The ID of the product to which the basket position relates.

Numeric

1234

prn

The name of the product to which the basket position relates.

Alphabetic

Green Hoover vacuum cleaner

sku

The stock keeping unit

Alphabetic

014-45253-4535

pri

The price of the product to which the basket position relates.

Numeric: #.#

145.55

brn

The brand name of the product to which the basket position relates.

Alphanumeric

Hoover

qty

The number of ordered products.

Numeric

3

dsv

The discount value of ordered products. Cannot be negative.

Numeric: #.#

10.23

shp

The shipping costs of ordered products.

Numeric: #.#

8.50

tax

The tax which needs to be paid for ordered products. Used to calculate the total invoice amount of this conversion.

Numeric: #.#

27.53

trc

The tracking category of the basket position, not to be confused with the tracking category of the conversion to which the basket position belongs. Any tracking category may be used except basket. If no specific tracking category is intended, please use default.

 

Never use the trc basket it will cause an error.

Alphanumeric

default

prc

The shop category of the product to which the basket position relates.

Alphanumeric

Household appliance

Attribution parameters

The parameters in this section can transmit attribution relevant values such as click ids.

Name (JS tag)

Name (img tag)

Explanation

Format

Example

Name (JS tag)

Name (img tag)

Explanation

Format

Example

admtag

amc

This parameter transmits the complete ad media tag of the click URL via which the conversion was generated.

foo.bar.#.#.#

1234... partner

5678... adspace

9012.... creative

foo.bar.1234.5678.9012

 

adspace

Alternatively to amc you can simply provide the adspace id. The full amc value is generated automatically.

Numeric adspace id

5678

subtag

smc

This parameter replaces any sub IDs added to the click URL via which the conversion was generated.

Alphanumeric, max length 255 chars

abc1234

(In JS tag, use clickIds to transmit this value)

awc

Awin click checksum.

String

1001_1502695821_b670d81e22c9e8a87g423efcf034fbaa

(In JS tag, use clickIds to transmit this value)

gclid

Google Ads click ID.

String

CjwKCAjwvZv0BRA8EiwAD9S8msHPVhhwIFhI3jzdnsgc_JZxyhR-RaZGs4j_86cmVljnIn7sgHCelU8AvbEfALw_wcB

(In JS tag, use clickIds to transmit this value)

fbclid

Facebook Ads click ID.

String

IwAR1j1yBKErYRyrUR9mLw8lHZssY9GTabc9cyfZ9j_R1H29BjYJSuxbTKUUF

(In JS tag, use clickIds to transmit this value)

msclkid

Microsoft Bing Ads click ID

String

dfe067436646166d59d804f709cfeb0f

(In JS tag, use clickIds to transmit this value)

aff_click_id

Tune partner click ID

String

8151ed78-8c25-11ed-b370-025177df826b

 

Server to server specific parameters

Name (server tag)

Explanation

Format

Example

Name (server tag)

Explanation

Format

Example

tsc

Value of the tsc cookie

String

kL8!H_LisIoXyQM!AQ|FuRQ!A!FQ!~SKSXql8Y*5MQJ

tsv

Value of the tsv cookie

String

kL8!H_LisIoXyQM!AQ|FuRQ!GDM4nc!^SKSXql8Y*3j

user_agent

User Agent value, usually provided in http header

String

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36

ip_address

IP Address

Numeric #.#.#.#

192.158.1.38

device_type

Optional device type. Will be ignored when user_agent is provided.

Possible values:

  • Mobile

  • Desktop

  • Tablet

  • Unknown

String

Mobile

Configuring the on-page tag

The on-page tag is quite simple to implement, there are only few parameters to be taken care of.

Tag parameters

If you look at panel below the configuration section, you will find that the on-page tag already contains five parameters, that you may work with.

Name

Explanation

Format

Example

Name

Explanation

Format

Example

locationHref

Mandatory: The complete Browser-URL on which the tag was fired. Used to prevent accuracy issues in case of strict referrer browser policy. Please don’t change the default value window.location.href

URL

Result of window.location.href call

custId

This parameter transmits any ID given to the customer. Use this for implementing cross-device and cookieless tracking.

Alphanumeric, max length 255 chars

bon78945

session

This parameter transmits any ID given to the session of the customer. Use this for implementing cross-device and cookieless tracking.

Alphanumeric, max length 255 chars

ses345

productId

only on product pages: This parameter is the product ID, e.g. EAN or SKU

Alphanumeric

1234567890

userVal1

optional parameter, you are free to put in any additional information that may be needed

Alphanumeric

 

userVal2

optional parameter, you are free to put in any additional information that may be needed

Alphanumeric

 

siteId

This parameter defines the placement of the tag. It should be filled with the path of the page or the URL

Alphanumeric

 

Implementing the tracking tags

Why use the full conversion tag?

After you have done the basic configuration, selected additional parameters and decided whether or not you use basket tracking, all that you need to do before you can start implementing the conversion tag is choose what type of conversion tag you need. As you can see from the dropdown menu in the second section, you can choose between a tag that is reduced to an image pixel and a full tag including javascript. It is strongly recommended to use the full tag, because it allows you to implement tracking tags from partners and integrate existing partner networks.

Why use the on-page tag?

To process basic tracking, implementing the on-page tag is not necessary. However, it is strongly recommended you use it nonetheless, for four reasons:

  • The on-page tag enables you to track page impressions, i.e. the number of times a customer sees a page on your advertiser’s website or in its app after the initial click on the ad media item.

  • The on-page tag allows you to process click-in tracking. This is a tracking process which captures clicks without the need of a tracking URL, which enables Bounceless tracking. It is also allows you to track traffic from CRM newsletters and comparable marketing channels in which links should not be recognizable as tracking links.

  • The on-page tag contains a container tag which facilitates the integration of tracking tags from partners, allowing them to gather customer-related data. This is particularly important for partners using retargeting and cashback marketing strategies. Please note the container tag of the on-page tag is loaded asynchronous, so it will not affect the performance of the advertiser’s website.

  • The on-page tag allows you to work with the so called universal tracking parameter (UTP), which improves the tracking quality significantly. For more information, please read this article.

Implementation: Placement of the tracking tags

If you have finished your configuration of the conversion tag, all you need to do is copy the conversion tag and the on-page tag and paste them into the source tag or tag management solution of the relevant advertiser pages. Also, please make sure the needed values are transmitted (e.g. with the corresponding placeholders).

  • Conversion tag: As was mentioned already, the conversion tag needs to be implemented on the confirmation page of the conversion you have configured the tracking tag for.

  • On-page tag: The on-page tag needs to be implemented on all other publicly accessible pages.

Please note that you should process a tracking test after you have implemented the tracking tag to make sure it is working properly.

See also our guide to conversion tracking implementation.

IAB TCFv2.0 parameters

The Transparency and Consent Framework (TCF) was created to help all parties who display and manage digital advertising and develop targeted content comply with the European Union’s General Data Protection Regulation (GDPR) and ePrivacy Directive (ePD) when processing personal data and/or accessing and/or storing information on a user’s device. It allows publishers and website operators to communicate to vendors, in a standardized way, what preferences users have expressed when it comes to their personal data. A vendor is a company that participates in the delivery of digital advertising within a publisher’s website, app, or other digital content, that either accesses an end user’s device or browser or processes personal data about end users visiting the publishers content.

Ingenious Technologies is a registered TCFv2.0 Vendor with the Vendor ID 871.

More information can be found in the main article about TCFv2.

Name (JS tag)

Name (img tag)

Explanation

Format

Example

Name (JS tag)

Name (img tag)

Explanation

Format

Example

gdpr

gdpr

not set : TCFv2.0 not implemented
0: GDPR does not apply
1: GDPR applies

Numeric: # (0 or 1)

gdpr=1

gdprConsent

gdpr_consent

Only meaningful if gdpr=1. URL-safe base64-entagd TC string obtained from the CMP JS API or OpenRTB. Must contain the consent for Vendor ID of the advertiser or for Vendor ID 871 (Ingenious Vendor ID) as default

Base64-entagd string

gdpr_consent=CO7KqXfO7KqXfCVAAAENAwCMAP_AAH_AAAAAGLtV_T9fb2vj-_Z99_tkeYwf95y3p-wzhheMs-8NyZeH_B4Wv2MyvBX4JiQKGRgksjLBAQdtHGlcTQgBwIlViTLMYk2MjzNKJrJEilsbO2dYGD9Pn8HT3ZCY70-vv__7v3ff_3gYu1X9P19va-P79n33-2R5jB_3nLen7DOGF4yz7w3Jl4f8Hha_YzK8FfgmJAoZGCSyMsEBB20caVxNCAHAiVWJMsxiTYyPM0omskSKWxs7Z1gYP0-fwdPdkJjvT6-___u_d9__eAAA.IGLtV_T9fb2vj-_Z99_tkeYwf95y3p-wzhheMs-8NyZeH_B4Wv2MyvBX4JiQKGRgksjLBAQdtHGlcTQgBwIlViTLMYk2MjzNKJrJEilsbO2dYGD9Pn8HT3ZCY70-vv__7v3ff_3g