Created
January 22, 2016 14:33
-
-
Save beastawakens/ec3ef32d7fe71fab5536 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; | |
} | |
// 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}}"); | |
</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
@Abhi942 sorry for the delay as the email notification got lost in my inbox 🙈 I haven't done any GTM work recently so I'll have to answer off the top of my head but hope it gets on you on the right track 👍
I'm not sure I get what you mean by "show the name dynamically in the chat icon". I'm not aware of any Intercom feature that allows showing the end user name directly in the chat icon itself (and by "chat icon" I'm referring to the image below)
But you can use variables https://www.intercom.com/help/en/articles/248-personalizing-messages-using-variables to address the customer. You will just need to update the
name
attribute on the record.The code above supports sending the name
And you will need to customize the values based on this
I'm not too familiar with GTM to answer this but I think you could if you can specify a variable value within the GTM dashboard itself and have that be passed though the code