There is massive non-standardisation in the TMS industry regarding JSON object names, which is:
- harming automation and increasing implementation time
- complicating the process of migrating between TMS vendors
- fragmenting data collection validators (e.g. Qubit validator or W3C validator)
Additionally, dynamic remarketing of individual products to customers for display ads within ecommerce and travel verticals is driving industry standardisation. Thus consolidation of JSON object names is inevitable.
However, there is no clear winner in this race for standardisation.
At the time of writing, it does not matter which naming schema you select, so long as you pick one and stick to this! Changing a schema mid-way through a project will cause significant delays within the QA process.
Here are the 5 most common schema`s (sorted in order of preference):
- Automatic CMS native dataLayer names (Magento2, Shopify, piggybacking of CQ5)
- Automatic CMS plugin dataLayer names (e.g WordPress, Magento1, Drupal)
- Automatic CMS plugin for other TMS (e.g. DemandWare piggybacking of Qubit/Telium)
- Manual GTMs dataLayer names (fixed for ecommerce & social). See page 7.
- Manual W3C digitalData names. See W3C cheatsheet on page 6.
DataLayers are monogamous, once a global JavaScipt objects is output to the page, it is easy to re-map this to the relevant fields in GTM, via a customHTML mapping script. For example it is easy to re-map GTMs dataLayer >> W3C digitalData or vice-versa.
However, there is a ~0.5% loss in recorded transaction when using these mapping scripts because a small delay is added using gtm.dom (rather than gtm.js started) and the customHTML/JSmacro mapping script add an extra level of complexity (especially for enhanced ecommerce, or when using arrays for multiple item within a basket).
Thus, where possible, a native dataLayer should be used; which does not require the need to wait for gtm.dom ready and because this is added automatically – it is reduces the risk that a developer will incorrectly render JSON values, thus reducing QA time.
Magento2 and Shopify are the only CMS that will soon natively outputting a standard dataLayer by default; removing the need to select a schema!
If you are not on one of these CMS`s, or are unable to piggyback an existing dataLayer, then you will need to use a manual dataLayer, and thus you will need to go through the process of decide on a naming convention standard. Please read the next page to start this process….