I'm having quite a problem. A client's site speed is quite poor, both in GTmetrix and Google Insights. After doing all the usual stuff and good practices I managed to get it to 98% in GT (from 65) and 70 in Insights (from 54). However, those numbers are only real if I don't use GTM.

If I use GTM, it starts to add external resources like mad, see example below (edited for privacy)

Remove the following redirect chain if possible:


And it gets me down to 87 in GT and 60 in Insights, not to mention the load speed grows 1 second. Take GTM off... back to high speed. Add it again... horrible.

SO my question is: is there a way to load GTM without affecting load times? I could take a small hit, just not this ridiculously bad (note: teh GTM code came with the site, so there's a chance it's wrong)

  • 2
    In short: no. GTM is an asynchronously loading, non-blocking resource and will not hinder your load time. While all other 3P libraries (like those in your example) fired via GTM are also asynch, that doesn't mean that they will complete loading before the page finishes rendering. So really you should reach out to the vendors to see if they can optimise their libraries.
    – nyuen
    Commented Feb 23, 2017 at 16:08
  • I agree with nyuen. Nothing you can really do other than try and see if the 3rd party libraries that are being loaded have a minified library you can load rather than the one(s) currently being used.
    – conorb
    Commented Nov 4, 2017 at 20:58

1 Answer 1


I am pretty late to the party, but what @nguyen and @conorb wrote as comments is 100% correct.

The Google Tag Manager snippet in itself does load asynchronous and will not block resources or add anything noticeable to your page loading times.

It all depends on what resources you load with the Google Tag Manager. It seems some of your third-party scripts loaded via GTM have bad performance. If these are loaded through GTM's HTML feature, try adding async to the script like so:

<script async src="/js/script.js"></script>

GTM has a habbit of adding scripts added through GTM to the head (or beginning of the body), async pushes the scripts to be executed last. Those third-party snippets are usually built to work no matter where you position them in your code (since they don't have control over your source code).

More information here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.