product

All the following e-commerce tracking functions that are related to one or more products must precede the "product" function. All products that are recorded with "product" are assigned to the next tracked E-Commerce function.

Trackingcommand: "product"

Properties:

namedescriptiontypemandatoryexample
id

Unique ID per product

string(tick)"ab12"
typeThe type is defined as the ecommerce-function the product is linked to (f.e. productview, currentcart, ...)string(tick)"currentcart"
name

A meaningful name for the product

string
"Baby Oil"
group

The product groups in which the product is listed according to the ERP system.

array
["Small Sortiment","Baby"]
CODE
brutto
The price of the product including VAT.
decimal
14.90
netto
The price of the product excluding VAT.
decimal
12.42
positionThe position of the product in a list of products.int
4
oldbrutto

If the product has been discounted, state the original price of the product including VAT here

decimal
18.90
oldnettoIf the product has been discounted, state the original price of the product excluding VAT heredecimal
16.90
brandThe brand of the productstring|array

"Milka"

["Milka","Cholatex"]
CODE
quantity

The amount of the product

int
3

Example:

_jts.push({
	"track"		:	"product",
	"type"		:	"order",
	"id"		:	"12345567",
	"name"		:	"Baby Oil",
	"group"		:	["Small Sortiment","Baby"],
	"brutto"	:	123.90,
	"netto"		:	110.90,
	"oldbrutto"	:	150.00,
	"oldnetto"	:	140.00,
	"brand"		:	"Milka",
	"quantity"	:	3,
	"position"	:	2
});
CODE

var (product)

To track additional data related to a product, use the "var" function with type product.

This function must be carried out before the respective product function. 

Trackingcommand: "var"

Properties:

namedescriptiontypeexample
typeThe tracking-command you want to extend with custom-variablesstring"product"
keyA meaningful name for the variable.string"color"
valueThe value of the variable.string|int|bool"red"

Example:

_jts.push({
    "track"     : "var",
    "type"      : "product",
    "key"       : "color",
    "value"     : "red"
});
CODE

productlist

If the visitor sees several products such as in a slider so you can track it as a "productlist"

Prerequisite: Product Datalayer Pushes per Product in a specific slider

Trackingcommand: "productlist"

Properties:

namedescriptiontypeexample
listnameA meaningful name for the liststring"main-slider"

Example:

_jts.push({
	"track"		:	"productlist",
	"listname"	:	"main-slider"
});
CODE

productview

If the visitor visits a product detail page, track this with the "productview" function 

Prerequisite: Product Datalayer Pushes per Product which is shown on the product-detail-page

Trackingcommand: "productview"

Properties: No Properties

Example:

_jts.push({
	"track"		:	"productview"
});
CODE

addtocart

If the visitor places something into the shopping cart, use the "addtocart" tracking function. 

Prerequisite: Product Datalayer Pushes per Product which is added to a cart

Trackingcommand: "addtocart"

Properties: no properties

example:

_jts.push({
	"track"		:	"addtocart"
});
CODE

removefromcart

If the visitor removes a product from the shopping cart, use the "removefromcart" function. 

Prerequisite: Product Datalayer Pushes per Product which is removed from the cart

Trackingcommand: "removefromcart"

Properties: no properties

example:

_jts.push({
	"track"		:	"removefromcart"
});
CODE

cartview

If the visitor sees the shopping cart page, use the tracking function "cartview". Instead you can use the checkout command with property step = 1!

Prerequisite: Product Datalayer Pushes per Product in the cart

Trackingcommand: "cartview"

Properties: no properties

example:

_jts.push({
	"track"		:	"cartview"
});
CODE

checkout

If the visitor navigates through the checkout, use the tracking function "checkout".

Prerequisite: Product Datalayer Pushes per Product in a specific slider

Trackingcommand: "checkout"

Properties:

namedescriptiontypemandatoryexample
stepThe current step of the checkoutint(tick)2
bruttoThe price of all products currently in the cart including VATdecimal
199.99
nettoThe price of all products currently in the cart excluding VATdecimal
179.99
shippingThe shipping costs of the current checkoutdecimal
20.00
taxThe sum of taxes in the cartdecimal
40.00
paytypeThe current choosen method for paying the cartstring
"creditcart"

Example:

_jts.push({
	"track"		:	"checkout",
	"step"		:	2,
	"brutto"	:	199.99,
	"netto"		:	179.99,
	"shipping"	:	20.00,
	"tax"		:	40.00,
	"paytype"	:	"creditcard"
});
CODE

order

If the visitor has completed a purchase, use the tracking function "order" on the thank you page.

Prerequisite: Product Datalayer Pushes per Product of the purchase / order

Trackingcommand: "order"

Properties:

namedescriptiontypemandatoryexample
orderidDefines the unique orderid / transactionid of the order / purchasestring(tick)"182jd773j"
bruttoThe price of all products from the order including VATdecimal(tick)125.80
nettoThe price of all products from the order excluding VATdecimal
111.11
subtotalThe subtotal is the value of all goods on an invoice without discount or other rebates, and no shipping costs applied.decimal
120.11
taxThe sum of taxes from the orderdecimal
20.96
shippingThe shipping costs of the orderdecimal
5.90
zipThe zipcode of the orderstring
"1120"
cityThe city of the orderstring
"vienna"
countryThe country of the orderstring
"austria"
paytypeThe choosen method for paying the orderstring

"creditcard"

vouchers

If vouchers / coupons are applied, then they should be parsed into an object, wrapped inside an array to have the change to add more.

namedescriptiontypemandatoryexample
codeThe unique code to identify the voucherstring(tick)"ASDF-111"
valueIn dependency to the typem there could be the value of the voucher or the percentage value of the voucherstring|decimal

"10%"

15.80

typeDefine the type of the voucher f.e. coupon, percentage, ...string(tick)"percentage"
appliedAmountDefine the value of the currently applied amountdecimal(tick)12.70
nameDefines the name of the voucherstring
"Birthday"
Array[Object]
[
	{
		"code":		"edc123",
		"value":	15.80,
		"type":		"coupon"
		"appliedAmount" : 15.80
		"name":		"Coupon-2018"
	},	
	{
		"code":		"asdd32123",
		"value":	"10%",
		"type":		"percentage"
		"appliedAmount" : 12.70,
		"name":		"Christmas-2019"
	}
]
CODE

Example:

_jts.push({
	"track"		:	"order",
	"orderid"	:	"12345666",
	"brutto"	:	199.99,
	"netto"		:	170.99,
	"subtotal"	:	111.99,
	"tax"		:	40.00,
	"shipping"	:	20.00,
	"zip"		:	"2273",
	"city"		:	"Hohenau an der March",
	"country"	:	"Austria",
	"paytype"	:	"creditcard",
	"vouchers"	:	[
		{
			"code":		"edc123",
			"value":	15.80,
			"type":		"coupon"
			"appliedAmount" : 15.80
			"name":		"Coupon-2018"
		}
	]
});
CODE

var (ecommercevar)

To track additional data related to an ecommerce-function, use the "var" function with type named after the ecommerce-function (f.e. productview).

This function must be carried out before the respective ecommerce function. 

Trackingcommand: "var"

Properties:

namedescriptiontypeexample
typeThe tracking-command you want to extend with custom-variables, f.e. productview, checkout, order, ...string"productlist"
keyA meaningful name for the variable.string"feedpath"
valueThe value of the variable.string|int|bool"Desk>Small"

Example:

_jts.push({
    "track"     : "var",
    "type"      : "productlist",
    "key"       : "feedpath",
    "value"     : "Desk>Small"
});
CODE

reservation

If the visitor reserves an order or multiple products, use the tracking function "reservation". 

Prerequisite: Product Datalayer Pushes per Product in a reservation

Trackingcommand: "reservation"

Properties:

namedescriptiontypemandatoryexample
reservationidDefines the unique orderid / transactionid of the order / purchasestring(tick)"182jd773j"
bruttoThe price of all products from the order including VATdecimal
125.80
nettoThe price of all products from the order excluding VATdecimal
111.11
subsidiaryThe ID of the subsidiary where the reservation has been donestring(tick)"AT-2273"

Example:

_jts.push({
	"track"		:	"reservation",
	"reservationid"	:	"RS-123123",
	"brutto"	:	199.99,
	"netto"		:	179.00,
	"subsidiary"	:	"AT-2273"
});
CODE


checkoutoption

This command should be triggered if you have choosen a payment method insdie the checkout process.

Trackingcommand: "checkoutoption"

Properties:

namedescriptiontypemandatoryexample
keyA static value name paymentmethodstring(tick)"paymentmethod"
valueThe name of the choosen payment methodstring(tick)"paypal"
stepThe checkout step in which the payment method has been choosenint
3

Example:

_jts.push({
	"track"		:	"checkoutoption",
	"key"		:	"paymentmethod",
	"value"		:	"paypal",
	"step"		:	3
});
CODE

recommendationclick

If the visitor clicks on a product inside a recommendation slider, use the tracking function "recommendationclick". 

Prerequisite: Product Datalayer Pushes per Product clicked in the recommendation slider

Trackingcommand: "recommendationclick"

Properties:

namedescriptiontypemandatoryexample
nameA meaningful name for the recommandation liststring(tick)"bottom-slider"
provider
Indicates from which recommendation system the slider was generated
string
"fredhopper"

Example:

_jts.push({
	"track"		:	"recommendationclick",
	"name"		:	"bottom-slider",
	"provider"	:	"fredhopper"
});
CODE

currentcart

Track the current status of the visitor's shopping cart on each page. 

Prerequisite: Product Datalayer Pushes per Product in the shopping cart

Trackingcommand: "currentcart"

Properties: No Properties

Example:

_jts.push({
	"track"		: "currentcart"
});
CODE