Весь этот код на самом деле находит первый элемент сценария в DOM и помещает новый элемент сценария непосредственно перед ним. Новый элемент скрипта в значительной степени эквивалентен:
<script type="text/javascript" async src="https://ssl.google-analytics.com/ga.js">
на страницах HTTPS и:
<script type="text/javascript" async src="http://www.google-analytics.com/ga.js">
на страницах HTTP.
Отлично работает в любом месте страницы, в голове и в теле. Кроме того, он не замедляет рендеринг вашей страницы, если он находится в голове, поэтому не имеет значения, куда вы его положили.
Единственное отличие состоит в том, что, когда он у вас в голове, вы можете легко подключить свою учетную запись Analytics к инструментам Google для веб-мастеров для этой страницы, а если она находится в теле, то вам придется использовать другую форму подтверждения, чтобы доказать, что она ваш сайт.
Помещение его во внешний файл означало бы еще один HTTP-запрос, если он не находится в кеше, и потенциально мог бы сохранить всего несколько строк кода, если он находится в кеше, но тогда вы не можете легко изменить идентификатор отслеживания для любая страница.
Кроме этого, я бы с осторожностью включил его во внешний скрипт, поскольку он может противоречить условиям обслуживания.