Skip to content

Instantly share code, notes, and snippets.

@phylliswong
Last active June 4, 2019 17:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save phylliswong/b7b01f5455ecda83da62f1f74bb023a3 to your computer and use it in GitHub Desktop.
Save phylliswong/b7b01f5455ecda83da62f1f74bb023a3 to your computer and use it in GitHub Desktop.
<script>
// app ID
var intercomSettings = {
app_id: "r0j5pbsv"
};
// Verifies and cleans all GTM variables
function pushGTMVariablesToIntercom(gtmKey, gtmValue) {
if(gtmValue != null && gtmValue != "" && gtmValue != "undefined") {
if(typeof gtmValue == "string") {
gtmValue = gtmValue.trim();
if(gtmValue == "") {
return false;
}
}
intercomSettings[gtmKey] = gtmValue;
return true;
}
return false;
}
// Default variables
pushGTMVariablesToIntercom("user_id", "{{ascend_customer_id}}");
pushGTMVariablesToIntercom("user_hash", "{{ascend_user_hash}}");
pushGTMVariablesToIntercom("email", "{{ascend_user_email}}");
pushGTMVariablesToIntercom("name", "{{ascend_user_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/r0j5pbsv';
var x = d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);}})();
</script>
@phylliswong
Copy link
Author

phylliswong commented Jun 3, 2019

Settings I have tried that didn't have different results:

line 36: Intercom('update', intercomSettings);
line 36: Intercom('update');

I tried removing the dataLayer variables from the intercomSettings object
It used to look as such:

var intercomSettings = {
	app_id: "r0j5pbsv"
};

And I have tried having all the variables in the intercomSettings obj and removing the push method call

@phylliswong
Copy link
Author

For this tag to work, set the trigger to Page View - Window Loaded (All Window Loaded Events) and add an exception:
name: data-timer
Interval: 5000
Limit: 10
Enable this when:
list each variable equals undefined

This trigger fires on All Timers
References to Intercom Tag

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment