Analytics

19 mar, 2009

Carregar Google Analytics após o carregamento da página

Publicidade

Muitas vezes nos deparamos com uma página que demora a carregar por
causa do Google Analytics. Apesar da quantidade e da qualidade dos
servidores do Google, muitas vezes, por diversas razões, ele fica lento.
Isso também afeta páginas que usam frameworks de JavaScript, como o
JQuery, pois ele (Google Analytics) só carrega os elementos da página
depois que foi carregado totalmente. O grande problema é que não
podemos guardar no nosso servidor o arquivo ga.js ou o arquivo
urchin.js, que são solicitados aos servidores do Google para o
carregamento do Google Analytics.

Vamos resolver esse problema
de uma maneira muito simples: carregando o Google Analytics somente
depois que todos os elementos da página forem carregados.

Isso
dá uma grande vantagem, pois se o Google Analytics fica lento de uma
hora para outra, a sua página não vai ficar. Você deve estar se
perguntando: “Mas como minha página não vai ficar lenta se, de um jeito
ou de outro, eu terei que carregar o Google Analytics?”

A
resposta é: antes de carregar o Google Analytics você carregará todo o
conteúdo da sua página, e somente depois de tudo carregado é que o
Google Analytics será carregado.

Todas as inclusões de arquivos
js devem ser feitas no final, antes da tag </body>, conforme a
norma de aceleração de velocidade de carregamento de páginas web de
YSlow, e não entre as tags <head>…</head>, como feito
pela maioria.

E logo após inserir todas as bilbiotecas e
arquivos js, introduzimos o código do Google Analytics, que será o
último código javascript a ser inserido na página.

<script type="text/javascript">
$(document).ready(function() {
$.getScript('http://www.google-analytics.com/ga.js',function(){
if(typeof(_gat) == 'object') {
var pageTracker = _gat._getTracker('UA-1806963-8');
pageTracker._initData();
pageTracker._trackPageView();
}
});
});
</script>

Dentro desse bloco de código, substitua UA-1806963-8 por sua ID do Google Analytics.

Antecipando uma dúvida

Fazendo dessa forma, que garantia teremos de que a visita será contabilizada? Se um usuário
entra na página, mas antes que o script do Google Analytics seja
executado ele passa para outra página, a visita será contabilizada?

É
possível que não seja contabilizada, mas as perdas variam entre 2% e
5%, em casos em que o Google Analytics está muito lento. Não se deve
utilizar somente o Google Analytics como medidor único de acessos. É
preferível perder algumas visitas no contador do que ter todo o código
bloqueado até que o Google Analytics seja carregado.

Até a próxima!