Skip to content

Instantly share code, notes, and snippets.

@benjaminhoffman
Last active July 3, 2018 08:23
Show Gist options
  • Save benjaminhoffman/2c8358dc482fd0d2d41fc0d6ec7cee2f to your computer and use it in GitHub Desktop.
Save benjaminhoffman/2c8358dc482fd0d2d41fc0d6ec7cee2f to your computer and use it in GitHub Desktop.
Intercom Chat widget snippet for Google Tag Manager (GTM) (see comments below for install instructions)
<script>
window.intercomSettings = { app_id: {{intercom_chat_widget_id}} };
</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; function l() { var s = d.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'https://widget.intercom.io/widget/{{intercom_chat_widget_id}}'; var x = d.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } if (w.attachEvent) { w.attachEvent('onload', l); } else { w.addEventListener('load', l, false); } } })()
</script>
@benjaminhoffman
Copy link
Author

benjaminhoffman commented Dec 23, 2017

Install steps:

  1. create a new GTM tag
  2. paste this code into that tag
  3. add a trigger logic to fire on All Pages, or a subset of pages if you prefer
  4. setup Advanced Settings so that the other Intercom HTML/CSS/JS Snippet fires immediately after this one (see screenshot below)
  5. add a new GTM variable (constant value) that is your Intercom ID and name that variable intercom_chat_widget_id
  6. click save

gtm_tag_advanced_settings

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