-
-
Save thewheat/9d5068b54f40cf93d679b91ac9f51f03 to your computer and use it in GitHub Desktop.
Adding Google Tag Manager variables to intercomSettings
This file contains 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
``` | |
<script> | |
// app ID | |
var intercomSettings = { | |
app_id: "{{IC - Dynamic app ID}}" | |
}; | |
// Verifies and cleans all GTM variables | |
function pushGTMVariablesToIntercom(gtmKey, gtmValue) { | |
if("{{User - Account - Type}}" != "Guest"){ | |
if(gtmValue != null && gtmValue != "" && gtmValue != "undefined") { | |
if(typeof gtmValue == "string") { | |
gtmValue = gtmValue.trim(); | |
if(gtmValue == "") { | |
return false; | |
} | |
} | |
intercomSettings[gtmKey] = gtmValue; | |
return true; | |
} | |
return false; | |
} | |
return false; | |
} | |
function pushGTMObjectToIntercom(gtmKey, gtmValue) { | |
if("{{User - Account - Type}}" != "Guest"){ | |
if(gtmValue != null && gtmValue != "undefined") { | |
intercomSettings[gtmKey] = gtmValue; | |
return true; | |
} | |
return false; | |
} | |
return false; | |
} | |
// Default variables | |
pushGTMVariablesToIntercom("user_id", "{{User - Account - ID}}"); | |
pushGTMVariablesToIntercom("user_hash", "{{User - Account - Hash}}"); | |
pushGTMVariablesToIntercom("email", "{{User - Account - Email}}"); | |
pushGTMVariablesToIntercom("created_at", "{{User - Account - Registration date}}"); | |
pushGTMVariablesToIntercom("name", "{{User - Account - First name}}" + " " + "{{User - Account - Last name}}"); | |
// Custom variables example | |
pushGTMVariablesToIntercom("user_services", "{{User - Account - Services}}"); | |
// Company data | |
pushGTMObjectToIntercom("company", { id: '{{User - Account - Company ID}}' , name: '{{User - Account - Company name}}' }); | |
</script> | |
<script>(function() {var w = window;var ic = w.Intercom;if (typeof ic === "function") {ic('reattach_activator');ic('update', intercomSettings);} else {var d = document;var i = function() {i.c(arguments)};i.q = [];i.c = function(args) {i.q.push(args)};w.Intercom = i;var s = d.createElement('script');s.type = 'text/javascript';s.async = true; | |
s.src = 'https://widget.intercom.io/widget/{{IC - Dynamic app ID}}'; | |
var x = d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);}})(); | |
</script> | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment