We faced the same problem. To be able to add the tag manager to the main layout we updated the & (ampersand) to &
This fixed the XML Malformed error.
<!-- Google Tag Manager -->
<noscript>
<iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXX" height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<script>
(function(w,d,s,l,i){
w[l]=w[l]||[];w[l].push({
'gtm.start':new Date().getTime(),event:'gtm.js'});
var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';
j.async=true;
j.src='//www.googletagmanager.com/gtm.js?id='+i+dl;
f.parentNode.insertBefore(j,f);
})
(window,document,'script','dataLayer','GTM-XXXX');
</script>
<!-- End Google Tag Manager -->
If this appears in the developer console of the browser:
Failed to load resource: the server responded with a status of 404 () - https://www.googletagmanager.com/gtm.js?id=GTM-XXXX
Replace the id GTM-XXXX with your personal Google id.