Let’s continue on the journey and replace one more plugins with DTM goodness.
I even get to introduce an almost hidden feature!
I was slightly disappointed last time because I couldn’t find an easy way of replacing
getVisitNum. This plugin keeps track of how often someone comes to the site. Very useful for segmentation purposes.
The plugin really does two things: maintain the number of visits in a cookie (which means increasing the number at the start of a visit), and providing the current number so we can track it into a “variable” of our choice.
I knew that reading the visit number from a cookie was easy: just make a Data Element based on the cookie.
But would I have to add some custom logic to manage the visit number? Where exactly?
Turns out the answer is no! I don’t have to! DTM provides everything I need, although it is hidden away a little bit.
When you make a rule, you can add a condition based on the number of visits. Oh. So DTM actually does keep track of visits for me? Cool!
Can I read that value somewhere? I couldn’t find it.
Then my colleague Anna pointed me the right way: the visit number is only handled by DTM if I actually have a rule with a condition based on “Sessions” (aka Visits) in my setup. Otherwise it doesn’t care.
But if I do have a rule with such a condition, it will write a cookie (“_sdsat_session_count”)! Heureka!
So, let’s set up a rule with a condition, like so:
Now if we push that live or use the “DTM Switch plugin” to check the staging version, we should see a new cookie on our site.
All we need now is a Data Element that reads that cookie:
Use that Data Element with the Analytics variable that you currently use with the getVisitNum plugin:
And Bob’s your uncle!
s_code.js file, I was assigning the prop like so:
No parameter on the
getVisitNum plugin means that the plugin will store the visit number in a cookie called “s_vnum”.
So all we need to do is read that value from the “s_vnum” cookie and write it into the “_sdsat_session_count” cookie before DTM uses that cookie for the first time to populate our variable.
Don’t forget to delete the “s_vnum” cookie! You want to transfer the visit number once only.
11 thoughts on “With DTM you don’t need Plugins! – Part 2”
Cool! Looking forward to the next in the series.
Hi Jan! Love these posts. Any chance you have a getPageName example for DTM?
Not yet 😉
How about setting the page load rule as a top of the page rule? Since DTM does not guarantee order of execution, if you want to use the value at the bottom of the page, you need to make sure the “_sdsat_session_count” is already set.
One other comment. DTM sets the visit cookie to expire at the end of the session, where getVisitNum expires this cookie after 30 minutes of the last page viewed. This will add some discrepancy between the two codes.
It doesn’t seem like that is the case anymore. The “_sdsat_session_count” isn’t expiring for another 20 years it says on my machine.
Meant to say 2 years.
Very useful post(s). Can only agree with the objective of having a “clean” DTM implementation without the necessity of legacy code or plugins. Next up: getTimeParting/getVisitNum : )
Thanks for that getVisitNum workaround – for some reason every time I tried to add that plugin, it literally broke everything.