Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rationalizing Tag Management

2,344 views

Published on

My slides from MeasureCamp VI. I gave a talk about the most common misconceptions and preconceptions surrounding tag management and, more generally, measuring the stateless web. Most of the examples are using Google Tag Manager, but many of them should be generic enough to extend to other solutions and platforms as well.

Published in: Internet
  • Tag Management serves Digital Marketers’ with advanced insights. See how an e-Commerce Site could implement 100 important tags and get insights here -> http://www.softcrylic.com/blogs/100-useful-tags-deploy-e-commerce-site/
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Rationalizing Tag Management

  1. 1. Rationalizing Tag Management by Simo Ahava (NetBooster) for MeasureCamp VI ”It’s just JavaScript” – William Henry Harrison
  2. 2. The web is inherently stateless. Tag Management Systems operate in the web. Tag Management Systems are inherently stateless.
  3. 3. it’s just JavaScript
  4. 4. Landing Page, Session, and previous touchpoints are terminology of a stateful machine, not the web.
  5. 5. 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.
  6. 6. Solutions - Simple response mechanism for hits to Analytics (GA requests are unilateral today) {"newSession":"true", "sourceMedium":"google/cpc"}
  7. 7. Solutions - Authentication of TMS, and real-time data written in dataLayer
  8. 8. 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
  9. 9. dataLayer. The confusing, intimidating, developer-requiring, geek-nerdy, ScravaJipty, structured-or- arbitrary, perhaps-necessary, damn-it-to-hell dataLayer.
  10. 10. it’s just JavaScript
  11. 11. It’s not generic Native Array GTM’s dataLayer
  12. 12. dataLayer != data model {{dataLayer test}} > undefined
  13. 13. dataLayer != data model {{dataLayer test}} > ”true”
  14. 14. dataLayer != data model {{dataLayer test}} > ”false”
  15. 15. dataLayer != data model {{dataLayer test}} > ???
  16. 16. dataLayer != data model {{dataLayer test}} > ”false”
  17. 17. dataLayer != data model dataLayer is a message bus.
  18. 18. 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.
  19. 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. push() is the only method with significance. pop(), split(), slice(), splice() etc. will not affect the data in the data model.
  20. 20. dataLayer and developers I will not demean myself to comment on this.
  21. 21. dataLayer and developers I will not demean myself to comment on this. OK, yes I will.
  22. 22. 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.
  23. 23. GTM and Google Analytics do not have a special connection. There is no special connection.
  24. 24. GTM and Google Analytics do not have a special connection. There is no special connection. At the moment.
  25. 25. GTM and Google Analytics do not have a special connection. There is no special connection. At the moment. I’ve said too much.
  26. 26. it’s just JavaScript
  27. 27. What is Google Tag Manager 1. A JavaScript injector.
  28. 28. What is Google Tag Manager 1. A JavaScript injector. Yeah... that’s it.
  29. 29. TMS is a marketer’s tool. TMS is a developer’s tool. TMS is a marketing-minded developer’s tool. TMS is a developer-minded marketer’s tool.
  30. 30. it’s just JavaScript
  31. 31. Why it’s about marketing
  32. 32. Why it’s about marketing 1. ”Tags” collect data for marketing attribution
  33. 33. 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
  34. 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 3. Semantic information has been a mystery to webmasters / developers strongly immersed in presentational and experiential layers (HTML+CSS+JS)
  35. 35. Why it’s about IT
  36. 36. Why it’s about IT 1. It’s a freaking JavaScript injector!
  37. 37. 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
  38. 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 3. If When you need dataLayer, it needs to be integrated to the systems which expose the semantic information
  39. 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 4. If something goes awry, IT will be held responsible (as they own the processes)
  40. 40. 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>
  41. 41. Things you can do with a TMS
  42. 42. Things you can do with a TMS pop-up dialogs
  43. 43. Things you can do with a TMS pop-up dialogs quick fixes to markup
  44. 44. 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
  45. 45. Things you can do with a TMS with a JavaScript-disabled browser
  46. 46. Things you can do with a TMS with a JavaScript-disabled browser
  47. 47. Things you can do with a TMS 1.Proof-of-concept experiential & presentational changes to get buy-in from IT / HiPPO
  48. 48. 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)
  49. 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) 3.Fix glaring errors in conflicting JavaScript
  50. 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 4.Load 3rd party libraries (e.g. jQuery) asynchronously
  51. 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 5.Plus all the usual benefits (tagging, consolidating code, arbitrary JavaScript / HTML injection, etc.)
  52. 52. it’s just JavaScript
  53. 53. Favorite JS resources http://www.codecademy.com/en/tracks/javascript
  54. 54. Favorite JS resources Nicholas Zakas – Professional JavaScript for Web Developers
  55. 55. Favorite JS resources Douglas Crockford – JavaScript: The Good Parts
  56. 56. Favorite JS resources Cody Lindley – DOM Enlightenment
  57. 57. Favorite JS resources http://eloquentjavascript.net
  58. 58. Favorite JS resources Chrome (OS X) : ⌘ + ALT + J Chrome (Win) : CTRL + SHIFT + J
  59. 59. THANK YOU @SimoAhava ”The awesome splendor of the universe is much easier to deal with if you think of it as a series of small chunks.”

×