Created
April 7, 2018 16:00
-
-
Save chaffeqa/f8da3be746e9fd3b327ba3166832419f to your computer and use it in GitHub Desktop.
Example usage of custom DTM setup
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
window._satellite.pageBottom(); | |
var dataLayer = {}; | |
window._satellite.setVar('dataLayer', window.dataLayer); | |
// apply defaults that persist throughout session: | |
Object.assign(dataLayer, { | |
eVar1: '...', | |
channel: '...', | |
heir: '...', | |
}); | |
// sample function for interactions: | |
function trackInteraction(linkName, extraVarsOrEvents) { | |
addExtraVarsOrEvents(extraVarsOrEvents) | |
dataLayer.linkName = linkName; | |
window._satellite.track('interaction'); | |
removeExtraVarsOrEvents(extraVarsOrEvents) | |
} | |
// sample function for pageViews: | |
function trackInteraction(pageName, extraVarsOrEvents) { | |
addExtraVarsOrEvents(extraVarsOrEvents) | |
dataLayer.pageName = pageName; | |
window._satellite.track('pageview'); | |
removeExtraVarsOrEvents(extraVarsOrEvents) | |
} | |
// shared helpers | |
function addExtraVarsOrEvents(extraVarsOrEvents) { | |
for (var key in extraVarsOrEvents) { | |
// s.eVar3 = 'viaFacebook' | |
// s.event1 = 'login' | |
dataLayer[key] = extraVarsOrEvents[key]; | |
} | |
} | |
function removeExtraVarsOrEvents(extraVarsOrEvents) { | |
for (var key in extraVarsOrEvents) { | |
// blank string is "null value" (not added to next call) | |
dataLayer[key] = ''; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment