Skip to content

Latest commit

 

History

History
 
 

w3cdatalayer

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

W3C Datalayer Module

Module that makes it easy to add common datalayer to your website - which makes it easier to connect to analytics and to implement tracking pixels and tag managers.

The datastructure is oriented at: www.w3.org/community/custexpdata/

The datalayer information provides an easy access to common information relevant for tracking and datalayer. The datalayer module therefore listens to various events and adds information to the datalayer

Configurations:

w3cDatalayer:
  pageInstanceIDPrefix: "mywebsite"
  pageInstanceIDStage: "%%ENV:STAGE%%production"
  pageNamePrefix: My Shop
  siteName:  My Shop
  defaultCurrency: GBP
  version: 1.0
  # If you want sha512 hashes instead real user values
  hashUserValues: true

Also it reuses the configuration from locale package to extract the language:

locale:
  locale: en-gb

Usage example:

Template function w3cDatalayerService

The template function provides access to the current requests datalayer. You can get the datalayer and you can modify it:

For some values in the datalayer the template knows better than the backend what to put in, so please call the appropriate setter like this:

  - var result = w3cDatalayerService().setPageCategories("masterdata","brand","detail")
  - var result = w3cDatalayerService().setBreadCrumb("Home/Checkout/Step1")
  - var result = w3cDatalayerService().setPageInfos("pageID","pageName")
  - var result = w3cDatalayerService().setCartData(decoratedCart)
  - var result = w3cDatalayerService().setTransaction(cartTotals, decoratedItems, orderid)
  - var result = w3cDatalayerService().addProduct(product)
  - var result = w3cDatalayerService().addEvent("eventName")
      

If you want to populate the w3c datalayer to your page you can render the final digitalData object like this:

- var w3cDatalayerData = w3cDatalayerService().get()
script(type="text/javascript").
  var digitalData = !{w3cDatalayerData}
  digitalData.page.pageInfo.referringUrl = document.referrer
  digitalData.siteInfo.domain = document.location.hostname