Код Google Analytics: он может идти раньше в документе? - PullRequest
0 голосов
/ 10 ноября 2009

Google рекомендует поместить код аналитики непосредственно перед тегом <body>. Я пытаюсь интегрировать электронную торговлю в свой сайт, и было бы проще позвонить pageTracker._addTrans из других мест, чем из нижнего колонтитула.

Будет ли нормально, если я поменяю

...
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try{
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>

К чему-то более похожему

<body>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try{
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
} catch(err) {}</script>
...
<p>Thanks for your purchase!</p>
<script type="text/javascript">
try{
pageTracker._addTrans(...);
pageTracker._trackTrans();
} catch(err) {}</script>
...
<script type="text/javascript">
try{
pageTracker._trackPageview();
} catch(err) {}</script>
</body>

Ответы [ 5 ]

3 голосов
/ 10 ноября 2009

Конечно, он может идти до остального кода сайта, но javascript заблокирует загрузку остальной части страницы. Вот почему они часто рекомендуют загружать файлы javascript, и не важно загружать их раньше всего (или в <head>), чтобы размещать теги сценария внизу страницы.

2 голосов
/ 10 ноября 2009

Я включил код Google Analytics в событие ready при использовании jQuery, и он тоже отлично работает.

$(document).ready(function () {
  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

  try{
    var pageTracker = _gat._getTracker("UA-xxxxxx-x");
  } catch(err) {};

  try{
    pageTracker._addTrans(...);
    pageTracker._trackTrans();
  } catch(err) {};

  try{
    pageTracker._trackPageview();
  } catch(err) {};
});
0 голосов
/ 10 ноября 2009

Этот код может быть размещен везде, где приемлем JavaScript-код. вот ссылка на их справочную документацию о том, куда и куда это может пойти:

http://www.google.com/support/analytics/bin/answer.py?hl=en_US&answer=55488&utm_id=ad

Надеюсь, это поможет,

Спасибо!

0 голосов
/ 10 ноября 2009

Хорошей практикой является размещение кода перед концом тела только для загрузки веб-страницы с целью повышения производительности!

0 голосов
/ 10 ноября 2009

Рекомендуется размещать код трекера перед закрывающим тегом тела. Вы также можете разместить его в голове или где-то еще.

Google рекомендует это, потому что в нижнем колонтитуле вероятность создания проблем другими сценариями значительно меньше. Но если вы поставите try {} catch (e) {} arround, он будет сохраняться везде. Просто проверьте с помощью firebug, будет ли запущен запрос Ajax.

...