DTM: Global Variable config available to s.tl()

Avatar

Avatar

alyson_murphy

Avatar

alyson_murphy

alyson_murphy

07-10-2016

I have Global Variables set up at the Adobe Analytics tool level. I would like to be able to have a checkbox in the Event-Based rules that allow me to send that information in the servercall for the event-based rules that leverage the s.tl() function. This is useful so that I would only need to update in one place (the Global Variable settings) when we need to add a variable instead of needing to go into the affected event-based rules as well. 

4 Comments (4 New)
4 Comments

Avatar

Avatar

joshd7227840

MVP

Avatar

joshd7227840

MVP

joshd7227840
MVP

21-10-2016

Yes! This is one of the MANY problems I have with integrating AA as a tool in DTM. 

 

More often than not I find myself with a choice of a) implementing AA as a tool but with lots of nasty hacks/workarounds to get around a TON of wtfery with DTM vs. AA, or else I implement AA as a 3rd party tool and lose out on a number of benefits of implementing it as a tool!

 

It's really frustrating because I feel like the devs who implemented AA as a tool in DTM didn't really have much experience/understanding of how AA actually works (both in principle, or how it is normally used in practice).  

 

Supposedly they are working on major changes in DTM, particularly around being more SPA friendly. I have not yet seen a list of what exactly is being changed/added/etc., so who knows, maybe they will address this.

Avatar

Avatar

ericmatisoff

Employee

Avatar

ericmatisoff

Employee

ericmatisoff
Employee

21-10-2016

Hi there - if you need to set a variable on all tags (both s.t and s.tl) the best suggestion is to leverage doPlugins in the Customize Code section of the AA tool. I've even built some additional logic in doPlugins to add particular variables based on s.linkType (Custom vs Download vs Exit Links).

 

doPlugins is a *great* way to set truly global variables across all tags that fire on a site.

 

Hope that helps!

Avatar

Avatar

joshd7227840

MVP

Avatar

joshd7227840

MVP

joshd7227840
MVP

21-10-2016

Hello Eric,

 

Yes, that is what I do as well. However, a couple of things to note:

 

a) having to do it the "legacy" way kind of defeats the purpose of making things "friendlier" with a tag manager

 

b) Up until (relatively) recently, it wasn't even possible to make use of doPlugins in that manner. You see, DTM doesn't reference the originally created AA object when an event/dc rule is triggered. Instead, it builds a whole new AA object for reasons unclear to anybody.  This means pretty much everything you've done in any of the lib/custom code boxes in the AA tool config is effectively wiped - including doPlugins.  But again, (relatively) recently, Adobe fixed that - at least for doPlugins anyways. You're still SoL on other stuff in your boxes unless you can move them inside doPlugins (which isn't always possible).  

 

Oh, and let's not get into order of operations shenanigans with doPlugins vs. event based rules.  DTM seems to flip a coin on which one comes first - doPlugins or event/dc fields for a given var.  And the ones you set in doPlugins? Most of them you have to register in custom code box of the event/dc rule instead of doPlugins  because of order of operations. 

 

Oh, and also up until (relatively) recently, you couldn't even do THAT, because DTM summarily overwrote linkTrackVars/linkTrackEvents in event/dc rules no matter what.  I had to hack core DTM code to make that stop. 

 

The long story short of it is DTM does not treat AA the same way as AA works on its own - and it's not even consistently different.  If you are doing a brand new implementation from scratch, it's "okay" - as long as you understand how AA works based on how DTM interprets how AA works.  But if you are trying to migrate a legacy implementation - including any implementation of AA outside of DTM alongside it, it's nothing but frustration and headache.  

 

It's a mess.  And these are just a few of many examples that make me believe the devs who were originally tasked with implementing AA as a tool in DTM didn't really understand how AA works both on paper and how it's used in practice.  

 

 

 

But.. to Adobe's credit, it's been slowly getting better over time.  And I'm extremely hopeful it will be even more better on the next major release. I keep hearing from various Adobe AMs and Engineers how there's a lot of good stuff in it (but again, haven't actually seen a list yet). 

Avatar

Avatar

ericmatisoff

Employee

Avatar

ericmatisoff

Employee

ericmatisoff
Employee

21-10-2016

Glad to hear you've been seeing improvements, the DTM team has been working hard and yes, you should definitely be excited for the next major release - it's a doozy!

 

Regarding the history of doPlugins and order of operations, I really haven't seen the majority of issues that you're mentioning over the last 3 years that I've been using DTM across a bunch of different customers - migrating from legacy and net new. My suggestion when you see these types of things is to submit a bug with Client Care so that it can be properly tracked (if you haven't already) and resolved.

 

To the point of this Idea - I'm in agreement that it'd be great to have a doPlugins-style interface available in DTM - above and beyond the Global Variables section since that only applies to s.t().