Skip to content

Instantly share code, notes, and snippets.

@WalrusSoup
Created October 29, 2021 17:58
Show Gist options
  • Save WalrusSoup/8cb1bbc7dfd11e14a909f12b556fb3e9 to your computer and use it in GitHub Desktop.
Save WalrusSoup/8cb1bbc7dfd11e14a909f12b556fb3e9 to your computer and use it in GitHub Desktop.
Lazy load intercom on scroll to help speed up PageSpeed Insights
// replace YOUR_INTERCOM_URL_HERE with your app_id
var intercomLoader = function() {
(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',w.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 l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/YOUR_INTERCOM_URL_HERE';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);};if(document.readyState==='complete'){l();}else if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();
window.Intercom('boot', {
app_id: 'YOUR_INTERCOM_URL_HERE'
})
window.removeEventListener('scroll', intercomLoader);
}
window.addEventListener('scroll', intercomLoader);
@tilomitra
Copy link

Very helpful!

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