Home page
Introduction
The home page is typically a generic page that does not have a specific product or product category associated to it.
On the homepage of the online store the following objects must be declared and filled: page
, website
, user
, cart
, version
.
Required variables
page
You need to define only one variable in the digitalData.page
object. All other variables are either optional or will be automatically filled by the SegmentStream SDK.
Example:
window.digitalData = {
...,
page: {
type: 'home'
},
...
}
website
You need to declare and fill in only 6 variables in the digitalData.website
object. The following 3 variables are required: website.type
, website.currency
, website.environment
. The remaining variables depend on the characteristics of your site.
Example:
window.digitalData = {
...,
website: {
region: "London",
regionId: "11",
type: "desktop",
language: "en-gb",
currency: "GBP",
environment: "production"
},
...
}
user
The composition of the digitalData.user
object strongly depends on the requirements of the project. We recommend that you fill at least the following variables: userId
, user.email
, user.isLoggedIn
, user.firstName
, user.isSubscribed
If you do not have information about a particular property of a visitor, do not declare the variable. For example: you do not know if the visitor is subscribed to the email-list.
Correct: do not declare the variabledigitalData.user.isSubscribed
.
Wrong: declare a variable and assign it a value of FALSE.
Example:
window.digitalData = {
...,
user: {
firstName: "John",
userId: "4638mn1",
email: "[email protected]",
isLoggedIn: true,
isSubscribed: false
},
...
}
cart
The digitalData.cart
object must be declared and filled when loading each page of the site.
If the user’s cart is empty fill the object as described in the cart object description
Example:
window.digitalData = {
...,
cart: {
id: "CART2203",
currency: "GBP",
subtotal: 100,
total: 105,
lineItems: [
...,
{
product: {
id: "1234567890",
url: "http://website.com/product.html",
imageUrl: "http://website.com/image.png",
thumbnailUrl: "http://website.com/image_thumb.png",
name: "Big Boots",
description: "Product description",
manufacturer: "Timberland",
category: ["Footwear","Boots"],
currency: "GBP",
unitPrice: 60,
unitSalePrice: 50,
skuCode: "TBL6065RW"
},
quantity: 2,
subtotal: 100
},
...
]
},
...
}
version
The digitalData.version
variable must be declared and filled when loading each page of the site.
More about the version variable
Example:
window.digitalData = {
...,
version: '1.1.3',
...
}
Example
In the end, your code will be similar to:
window.digitalData = {
page: {
type: 'home',
category: 'Home'
},
website: {
type: "desktop",
currency: "GBP",
environment: "production"
},
user: {
firstName: "John",
userId: "4638mn1",
email: "[email protected]",
isLoggedIn: true,
isSubscribed: false
},
cart: {
id: "CART2203",
currency: "GBP",
vouchers: [
"MYVOUCHER1"
],
voucherDiscount: 10,
tax: 10,
shippingCost: 5,
shippingMethod: "Delivery",
subtotal: 100,
total: 95,
lineItems: [
{
product: {
id: "1234567890",
url: "http://website.com/product.html",
imageUrl: "http://website.com/image.png",
thumbnailUrl: "http://website.com/image_thumb.png",
name: "Big Boots",
description: "Product description",
manufacturer: "Timberland",
category: ["Footwear","Boots"],
currency: "GBP",
unitPrice: 60,
unitSalePrice: 50,
skuCode: "TBL6065RW"
},
quantity: 2,
subtotal: 100
}
]
},
version: '1.1.3'
}
/**
* SegmentStream JavaScript SDK snippet should be
* placed after the digitialData object definition
*/
For convenience, we did not list the repeating elements of the
items
andlineItems
arrays.
Other body
This document was last updated on April 13, 2020. If you notice any gaps, outdated information or simply want to leave some feedback to help us improve our documentation, please let us know!