Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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

This comment has been minimized.

Copy link
Owner Author

@benjaminhoffman benjaminhoffman commented Dec 23, 2017

read full blog post here:

Want to skip the manual steps of adding Intercom chat widget to your website? Simply download the GTM JSON export that you can import with just a few clicks: https://gist.github.com/benjaminhoffman/00fa0cbc6cf734958ad79d286edc6438

If you still would like to install this logic manually, you'll also need this GTM Tag: https://gist.github.com/benjaminhoffman/a0b214cceb1d486c2ba25f844f3c686b

@benjaminhoffman

This comment has been minimized.

Copy link
Owner Author

@benjaminhoffman 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