The document discusses tag management systems and how they operate in the stateless web environment. It notes that TMS inject JavaScript and act as message buses to update data models. While TMS were originally developed for non-technical marketers, they now serve both marketing and technical functions, including injecting tags and metadata, fixing code errors, and loading libraries. The document cautions against using TMS to fix underlying website issues and recommends proper integration with backend systems.
5. Landing Page, Session, and previous touchpoints are
terminology of a stateful machine, not the web.
6. Landing Page, Session, and previous touchpoints are
terminology of a stateful machine, not the web.
The web feeds messages to a backend process, which builds
the data pipeline. Not the other way around.
7. Solutions
- Simple response mechanism for hits to Analytics
(GA requests are unilateral today)
{"newSession":"true", "sourceMedium":"google/cpc"}
9. Solutions
- Forget it. Build a proper data pipeline server-
side and let the TMS do what it’s good for (sending
raw hit data to the backend).
^^^^^^^^^^^^^^^^^^^^^^^^
follow @carmenmardiros
19. dataLayer != data model
dataLayer is a message bus.
The push() method is appended with a listener that
updates values in the data model as they are pushed
into the Array.
20. dataLayer != data model
dataLayer is a message bus.
The push() method is appended with a listener that
updates values in the data model as they are pushed
into the Array.
push() is the only method with significance. pop(),
split(), slice(), splice() etc. will not affect the
data in the data model.
23. dataLayer and developers
I will not demean myself to comment on this.
OK, yes I will.
If you are working in digital
and you are allergic to
developer/IT cooperation, you
are in the wrong line of
business.
24. GTM and Google Analytics do not
have a special connection.
There is no special connection.
25. GTM and Google Analytics do not
have a special connection.
There is no special connection.
At the moment.
26. GTM and Google Analytics do not
have a special connection.
There is no special connection.
At the moment.
I’ve said too much.
33. Why it’s about marketing
1. ”Tags” collect data for marketing
attribution
34. Why it’s about marketing
1. ”Tags” collect data for marketing
attribution
2. Non-developers often got the code wrong
or didn’t understand variables -> TMS
was born to template the tagging process
35. Why it’s about marketing
1. ”Tags” collect data for marketing
attribution
2. Non-developers often got the code wrong
or didn’t understand variables -> TMS
was born to template the tagging process
3. Semantic information has been a mystery
to webmasters / developers strongly
immersed in presentational and
experiential layers (HTML+CSS+JS)
37. Why it’s about IT
1. It’s a freaking JavaScript injector!
38. Why it’s about IT
1. It’s a freaking JavaScript injector!
2. You can add all sorts of malicious /
website-breaking / malware-infested code
with the click of a button
39. Why it’s about IT
1. It’s a freaking JavaScript injector!
2. You can add all sorts of malicious /
website-breaking / malware-infested code
with the click of a button
3. If When you need dataLayer, it needs to
be integrated to the systems which
expose the semantic information
40. Why it’s about IT
1. It’s a freaking JavaScript injector!
2. You can add all sorts of malicious /
website-breaking / malware-infested code
with the click of a button
3. If When you need dataLayer, it needs to
be integrated to the systems which
expose the semantic information
4. If something goes awry, IT will be held
responsible (as they own the processes)
41. Should a TMS be used to hack
around a poorly coded website?
<insert witty golf analogy that
explains why it’s not a good
idea to overcorrect faults or to
fix errors with errors>
44. Things you can do with a TMS
pop-up dialogs
quick fixes to markup
45. Things you can do with a TMS
pop-up dialogs
quick fixes to markup
event.target.parentElement.parentElement.children[0].cousin[1].neighbor.dog
complex DOM traversal
46. Things you can do with a TMS
with a JavaScript-disabled browser
47. Things you can do with a TMS
with a JavaScript-disabled browser
48. Things you can do with a TMS
1.Proof-of-concept experiential & presentational
changes to get buy-in from IT / HiPPO
49. Things you can do with a TMS
1.Proof-of-concept experiential & presentational
changes to get buy-in from IT / HiPPO
2.Inject semantic information (JSON-LD, META
tags)
50. Things you can do with a TMS
1.Proof-of-concept experiential & presentational
changes to get buy-in from IT / HiPPO
2.Inject semantic information (JSON-LD, META
tags)
3.Fix glaring errors in conflicting JavaScript
51. Things you can do with a TMS
1.Proof-of-concept experiential & presentational
changes to get buy-in from IT / HiPPO
2.Inject semantic information (JSON-LD, META
tags)
3.Fix glaring errors in conflicting JavaScript
4.Load 3rd party libraries (e.g. jQuery)
asynchronously
52. Things you can do with a TMS
1.Proof-of-concept experiential & presentational
changes to get buy-in from IT / HiPPO
2.Inject semantic information (JSON-LD, META
tags)
3.Fix glaring errors in conflicting JavaScript
4.Load 3rd party libraries (e.g. jQuery)
asynchronously
5.Plus all the usual benefits (tagging,
consolidating code, arbitrary JavaScript /
HTML injection, etc.)