Весь смысл асинхронного фрагмента Google Analytics состоит в том, чтобы начать сбор данных как можно скорее - даже до завершения загрузки других файлов JavaScript. Помещение кода в конец файла scripts.js
в значительной степени противоречит этой цели.
Если вы хотите поместить его в отдельный файл .js
, чтобы фрагмент кода можно было кэшировать на стороне клиента, это здорово! Но обязательно загрузите его до других ваших скриптов:
<script src="analytics-snippet.js"></script>
<script src="other-scripts.js"></script>
Конечно, это один дополнительный HTTP-запрос, но давайте оптимизируем его для случая, когда каждый посетитель просматривает более одной страницы на вашем сайте.
Также вы можете заменить:
(document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0]).appendChild(ga);
С:
(document.head || document.getElementsByTagName('head')[0] || document.body).appendChild(ga);