7. 7Proprietary & Confidential
W3C
[...] a JavaScript Object which can be used for communicating
[...] data to digital analytics and reporting servers.
8. 8Proprietary & Confidential
[...] a JavaScript object that is
used to pass information
from your website to your
Tag Manager container.
They are all data layers.
[...] the behind-the-scenes
structure that web sites and
mobile apps tap into for
timely and consistent visitor
data.
[...] a JavaScript Object which
can be used for
communicating [...] data to
digital analytics and
reporting servers.
dataLayer utag_data digitalData
9. 9Proprietary & Confidential
dataLayer = [{
“pageName” : “Home Page”
}];
They are all able to store contextual information.
utag_data = {
“pageName” : “Home Page”
};
digitalData = {
“pageName” : “Home Page”
};
dataLayer utag_data digitalData
12. 12Proprietary & Confidential
● EDDL
● Event-Driven-Data Layer
● Array-based
● Populated by the TMS
● Retrieve DLVs and e.g. store them in
Custom Dimensions
● Use events as triggers
● Good for asynchronous TMSs
● Good for SPAs
● CEDDL
● Customer Experience Digital Data Layer
● Object-based
● Populated by the dev team
● Retrieve DLVs and e.g. store them in
Custom Conversion Variables (eVars)
● No events
● Not good for asynchronous TMSs
● Good for static data
EDDL vs. CEDDL
14. 14Proprietary & Confidential
Whenever
a visitor successfully submits a form
Let
the data layer know
Store
relevant (non-pii) context data as data
layer variables
Use Case: Form Submit
Last NameFirst Name
Job TitleEmail
Submit
20. 20Proprietary & Confidential
digitalData {
formData:{
jobTitle: “Analyst”
}
};
Context
1 Populate the data layer 2 Send a trigger to DTM/Launch
1. Direct Call Rule (DCR)
_satellite.track(“formSubmit”);
OR
2. Custom JS Event
var event = new
CustomEvent(“formSubmit”);
Action
So … how did Adobe folks track non-standard events?
Then
22. 22Proprietary & Confidential
● Public Launch Extension
● Dispatches custom DL events
● Provides computed state for DLVs
Data Layer Manager Extension
23. 23Proprietary & Confidential
var measureCamp = window.measureCamp = || [ ];
measureCamp.push({
‘event’: ‘formSubmit’,
‘jobTitle’: ‘Analyst’
})
Data Layer Manager Extension - Prerequisites
● Build an array-based data layer
● Name it whatever you want
● Push events to the data layer
24. 24Proprietary & Confidential
var measureCamp = window.measureCamp = || [ ];
Best Practices for Instantiating a Data Layer
Set the value of the variable
measureCamp...
… to whatever is already
globally named measureCamp.
If measureCamp doesn’t exist,
set it to an empty array.
26. 26Proprietary & Confidential
● Specify your data layer’s root object
Data Layer Manager Extension - Extension Configuration
● Specify your data layer events
27. 27Proprietary & Confidential
● Easily access computed state of the
data layer variables (DLVs)
Data Layer Manager Extension - Data Elements I
28. 28Proprietary & Confidential
● Use the Data Elements to populate custom analytics variables (eVars & sProps) in rules
Data Layer Manager Extension - Data Elements II
29. 29Proprietary & Confidential
● Use the Data Layer Events as events to trigger your rules
Data Layer Manager Extension - Events
30. 30Proprietary & Confidential
In Summary
1. The EDDL is great for
- asynchronous deployments
- modern, event-heavy analytics
implementations
- site performance
- SPAs
2. GA folks always liked the EDDL
3. AA folks also like the EDDL
36. 36Proprietary & Confidential
Maik
So...make sure to meet with them!
Markus B. Markus V. Helen
GA - GADS
Webinars
Podcast: Die
Sendung mit der
Metrik
Audio Book:
Dein Weg zum
Webanalysten
Podcast: Beyond
Pageviews
ITP & ETP
Book: Google
Analytics - Das
umfassende
Handbuch
GMP Con