Прежде чем я даже начну рассказывать о коде Google Analytics, перейдем к code.google.com за официальной рекомендации о том, где должен быть размещать код отслеживания на страницах вашего сайта.
Фрагмент Analytics – это небольшой фрагмент кода JavaScript, который вы вставляете на свои страницы. Он активирует отслеживание Google Analytics, вставив ga.js на страницу. Чтобы использовать это на своих страницах, скопируйте фрагмент кода ниже, заменив UA-XXXXX-X на свой идентификатор веб-ресурса. Вставьте этот фрагмент на страницу шаблона вашего сайта, чтобы он появился перед закрывающим тегом </head> .
Асинхронный код отслеживания Google Analytics
1 2 3 4 5 6 7 8 9 10 11 12 | <script type="text/javascript" var _gaq = _gaq || []; _gap.push(['_setAccount', 'UA-XXXXX-X']); _gap.push(['_trackPageview']); (function() { var ga = document.createElement('script');ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'https://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName ('script') [0]; s.parentNode.insertBefore(ga, s); }) (); </script> |
Асинхронный код отслеживания Google Analytics
где я должен поставить свой Google Tracking Code?
Один из первых пунктов на который я смотрю, где установлен код. Какую версию кода отслеживания вы используете, и где она находится на странице. Существует множество вариантов, но наиболее распространенный, он не обновлен, имеет неасинхронный (или «традиционный») код отслеживания, который помещается внизу страницы. Первый пункт аудита говорит: «Я рекомендую обновить код асинхронного отслеживания и перенести его размещение в <head> а не в конце <body>».
Неправильно ли иметь код отслеживания Google в нижней части страницы? Я читал, что вы должны положить его внизу, а не в голову, потому что он делает ваш сайт быстрее.
Должны ли вы поместить код отслеживания в <body>?
Быстрый ответ заключается в том, что да, безопасно поместить новый код на место где угодно на странице, а для 99% пользователей вы захотите использовать асинхронный код и поместить его в начало вашего документа. Есть несколько исключений о которых я вам ниже покажу.
Менее быстрая часть ответа заключается в том что было плохим решением раньше устанавливать код отслеживания в <head>, это было ранее, но если вы сейчас хотите увеличить скорость работы сайт вам необходимо устанавливать его в <head>.
Google выпустила код асинхронного отслеживания на 1 декабря, 2009г. До этого момента у нас был обычный код, и он работал, как и большинство других базовых JavaScript-кодов. То есть он будет идти по одной линии за раз. Поэтому, когда ваш браузер загрузил строку кода, он будет загружать только эту строку, а затем дождитесь полной загрузки этой строки. Затем и только тогда он переместится на следующую строку, а затем загрузит эту линию и т.д. как и один конвейер. Проблема с этим дизайном заключается в том, что если вы столкнулись с проблемой, вся страница будет зависать. Поэтому, если код отслеживания Google был помещен наверху вашей страницы в начало документа, то скорость загрузки вашего сайта частично определится тем, насколько быстро Google отправил вам этот код. Если Google отправил вам 10 секунд, чтобы отправить вам этот код, это было еще 10 секунд, посетителю пришлось ждать, чтобы просмотреть страницу. Поэтому было рекомендовано поместить этот код в самую нижнюю часть страницы. Таким образом, если он остановился при загрузке файлов из Google, по крайней мере ваша страница была загружена первой.
Асинхронный код работает по-разному. Вместо того, чтобы говорить о единственной конвейерной ленте, теперь есть несколько, и остальная часть вашей страницы может загружаться независимо от того, сколько времени потребуется для извлечения данных из Google. Код отслеживания загружается на собственный конвейер, а остальная часть вашего сайта загружается на другой.
И кроме того, асинхронный код предназначен для загрузки только один раз из Google, а затем он обслуживается из вашего кеша (то есть он сохраняется на вашем компьютере, и вам не придется его снова загружать) что делает его намного быстрее.
Вы потеряли меня poindexter, что это значит для меня?
Это означает, что асинхронный код отслеживания в среднем улучшает отслеживание данных на 5%, а некоторые сайты показывают улучшение их данных на 10 и даже на 20%. Если вы используете Adwords, он закрывается с точностью 100% с асинхронным кодом.
Асинхронный код быстрее, поэтому вы получаете более точные цифры относительно того, сколько людей действительно посещает ваш сайт.
Что делать, если у меня есть события или цели на странице, где мне нужно записывать действия пользователя, а код отслеживания еще не загружен?
Ну, эта проблема также возникла бы, если бы у вас был неасинхронный код, начинающийся в нижней части страницы, но с async это намного лучше. Даже если требуется загрузить файл ga.js из Google, он уже настроил переменные отслеживания на странице и сохранит события, которые вы выполняете, до загрузки фактического файла. Как только файл загрузится, все незавершенные события будут отправлены в Google. Это не PERFECT, но по большей части он будет захватывать события, которые произошли до того, как код отслеживания Google даже закончил загрузку, и отправит их после загрузки кода.
Так что мне нужно переместить его в голову всех моих страниц? У меня много страниц, и это займет много времени.
Вы можете поместить свой код отслеживания в любом месте, но лучше в <head>
Вы можете поместить его в любом месте, где хотите, и он будет работать где угодно на странице, будь то в head или body. Рекомендуется поместить его в голову, так что он может быть как можно выше.
Видите ли, просмотр страницы записывается только после загрузки этого кода. Таким образом, чем скорее вы загрузите код, тем быстрее будет зафиксирован просмотр страницы. Допустим, у вас большая страница блога, и это медленная загрузка, даже от 10 до 20 секунд, чтобы загрузить все. Если ваш код Google не запускается до конца страницы, он может быть поднят, как старый неасинхронный код, используемый для хранения других строк кода. Кроме того, он удерживает код отслеживания. Если посетитель вашего сайта попадает на страницу, а затем оставляет его до того, как код отслеживания запускает просмотр страницы, вы теряете этого посетителя. Теперь они стали новым прямым визитом на любую страницу сайта, на котором они приземлились. Это может привести к неправильному отображению всех видов данных на вашем сайте.
Поэтому лучше всего использовать асинхронный код в заголовке вашей страницы, это не замедлит загрузку остальной части вашей страницы, и, имея ее там, она не будет GET замедлиться на остальной части страницы, поэтому он будет срабатывать раньше, и вы получите более точное количество страниц, которые посещают ваши посетители.
Так какие же исключения? Когда gkj[j запускатm код отслеживания в head?
Я уже упоминал, что существует несколько исключений. Во-первых, если вы настраиваете пользовательские переменные на странице.
Если вы установите пользовательскую переменную на своей странице, она по существу будет сидеть на вашей странице, ожидая отслеживания страницы или события, которое будет вызываться. Если вы установите пользовательскую переменную на странице и не отслеживаете страницу или событие после нее, эта пользовательская переменная НЕ будет передана в Google. Иногда вы можете не отслеживать какие-либо события на странице, но вы хотите установить настраиваемую переменную. Из-за того, как передается код, возможно, что пользовательская переменная может генерироваться только ПОСЛЕ главного документа. Обычно страница может быть закодирована так, что эти переменные могут быть определены до доставки HTML, а затем вы можете создать собственные переменные, созданные в начале документа. Возможно, это теоретически можно было бы поставить в head, но разработчики не создали страницу таким образом, и вы не хотите или не можете их переделать. В таких случаях вы можете установить пользовательскую переменную в любом месте страницы, а затем вместо отслеживания просмотра страницы в начале документа вы удалите эту строку:
1 | _gaq.push(['_trackPageview']); |
из асинхронного кода, а затем вставлять его позже на странице, где хотите, после того, как будут установлены пользовательские переменные. Таким образом, код загружается, он не прерывает загрузку страницы, и вы можете отслеживать пользовательские переменные на самой странице везде, где они появляются, а также сохранять преимущество загрузки кода отслеживания на ранней стадии.
Однако, это также может снизить точность,, если пользователь уйдет с сайта до того, как вызывается trackPageview, вы сталкиваетесь с теми же проблемами, что и в традиционный коде, представленный в первую очередь. Другой вариант – использовать отслеживание событий. Запущенное событие также отправит эту настраиваемую переменную в очередь, чтобы вы могли запустить событие, привязанное к этой переменной. По сути, это случайное событие.
1 2 | _gaq.push(['_setCustomVar',1, 'Status', 'Logged In']); _gaq.push(['_trackEvent', 'Custom', 'PageLoad', 'Setting Logged In State',0,true]); |
Пара отмечает это:
Сначала мы настраиваем пользовательскую переменную, мы назначаем его в пространство ключа 1 (из 5), и вызываем его статуса и устанавливаем значение для входа в систему. Это будет находится там, пока не будет отслеживаться событие или просмотр страницы.
Итак, мы сделали это событие. Устанавливаем его в группу пользовательских категорий, мы определяем действие как PageLoad, потому что пользователь не взаимодействует с этим событием. Затем мы устанавливаем метку для того, что делает событие. Мы добавляем 0 к значению (вам не нужно добавлять туда фактическое значение, если мы его не используем, но мне лично неудобно пропускать ничего). Мы также установили значение невзаимодействия в значение true. Это также важно, если вы используете событие здесь. Если вы не установите его как истину, событие считается взаимодействием с страницей, и это повлияет на показатель отказов с целевой страницы. По существу, а не кто-то, приходящий на вашу страницу, смотрящий на него, и нажатие кнопки «назад» считается «отказом», это не будет считаться одним, потому что пользователь «взаимодействует» с сайтом. Поэтому мы установили это в true, так что это не рассматривается в этом отношении.
Но подождите, я кое-что прочитал на страницах поддержки Google, в которых говорилось, что я не должен этого делать?
Вы имеете в виду эту страницу ?
Да, ты не веришь всему, что читаешь, не так ли? Это устаревшая информация от поддержке.
Итак, если мы обновим, это изменит мои данные? Как я внезапно собираюсь увидеть больше просмотров страниц или что-то еще?
Возможно. Это зависит от вашего сайта, где был код, какой скорости и времени для вас. При обновлении вы должны увидеть данные, которые вы получаете, возможно, немного, может быть, много. Но это будут более точные данные. Здесь мы склоняемся к тому, чтобы данные были как можно более точными, даже если есть некоторый разрыв в уровнях отчетности.
Если я не обновляю, мой сайт продолжит отслеживать данные?
Конечно. Вероятно, это будет не так точно, но в зависимости от вашего сайта это возможно, это не огромная разница в данных. Основные функции загружаются из одного и того же места – файла ga.js. Основное различие заключается в том, как он загружается, насколько быстро он загружается или даже кэшируется в вашем браузере, и, следовательно, точность ваших данных.
И что же мне делать?
Если вы НЕ используете обновленный код Async, вы должны его обновить. У вас действительно есть какие-то серьезные вещи, которые нужно обновить. Должно ли это быть во главе документа? Нет, он не убьет вас, чтобы он был внизу страницы, но если вы можете переместить его на верх, тогда вы должны, потому что это будет быстрее и точнее. Если вы не знаете причину продолжать использовать неасинхронный код в нижней части страницы, и вы не используете пользовательские переменные… Тогда действительно нет причин не обновлять его и переместить его в начало страница. У вас будут более точные данные, вы получите новые и лучшие функции отслеживания и многое другое.
Если у вас остались какие-либо вопросы по установке кода google analytics, пожалуйста пишите комментарий ниже или отправьте мне электронное письмо.
There are no comments