Saindo do pressuposto que uma das grandes vantagens da internet em relação ao mundo off-line é a possibilidade de monitorar cada passo que do usuário, o Google Analytics teria que ser capaz de monitorar tudo no seu site, incluindo os clicks que geram um evento onde a URL se mantem inalterada.
Entretanto, se utilizarmos o Google Analytics com uma função JavaScript, como o JQuery, por exemplo, não será possível monitorar esse evento. Visando solucionar esse problema do Google Analytics, os profissionais de SEO utilizam o JavaScript _trackPageView.
O _trackPageView do Google Analytics é uma função que tem por objetivo monitorar e acompanhar os eventos realizados no site que não geram uma nova página, ou seja, gera uma nova exibição mas a URL continua a mesma. Infelizmente, por diversas vezes já vi questionamentos no Fórum de Ajuda do Google sobre como controlar ou monitorar os eventos em JavaScript no Google Analytics com o novo código de monitoramento através da função _trackPageview, porém a grande maioria dos erros que os usuários comentem se deve ao fato do artigo de ajuda do Google Support “Como posso controlar eventos JavaScript?” não ter atualizado o código de utilização do _trackPageView para o último código do Google Analytics.
Utilizando o JavaScript _trackPageview no antigo código do Google Analytics
Para monitorar um evento em JavaScript e fazer com que ele apareça no Google Analytics utilizando o antigo código, era necessário utilizar a função _trackPageview da seguinte forma:
<a href=”link” onclick=”javascript:pageTracker._trackPageview(‘/folder/file’);”>texto</a>
Utilizando o JavaScript _trackPageview no mais recente código do Google Analytics
Para utilizar o JavaScript _trackPageview no novo código do Analytics, só é necessária uma pequena alteração dentro do “onClick”do link:
<a href=”link” onclick=”_gaq.push([‘_trackPageview’, ‘/folder/file/’])”>texto</a>
É importante ressaltar que o ‘/folder/file/’ utilizado junto com o _trackPageview se refere ao evento gerado e que essa estrutura irá aparecer no relatório do Google Analytics como se a página gerada fosse, por exemplo, www.seusite.com.br/folder/file/. Mas, na verdade, o usuário manteve-se na mesma URL antiga, como por exemplo: www.seusite.com.br/URLantiga/.
Utilizando o JavaScript _trackPageview no Google Analytics dessa forma , você poderá criar uma meta com vários funis dentro de uma mesma URL sem ter a necessidade de gerar uma nova página para monitorar a ação do usuário.
Ex.:
Funil 1 no Google Analytics<a href=”link ” onclick=”_gaq.push([‘_trackPageview’, ‘/folder/etapa1/’])”>texto</a>Funil 2 no Google Analytics<a href=”link ” onclick=”_gaq.push([‘_trackPageview’, ‘/folder/etapa2/’])”>texto</a>Funil 3 no Google Analytics<a href=”link ” onclick=”_gaq.push([‘_trackPageview’, ‘/folder/etapa3/’])”>texto</a>
Para quem ainda está perdido em relação a qual versão do código Google Analytics está usando, abaixo seguem as duas antigas e, logo depois, a última versão utilizada no Google Analytics e que funciona com a nova estrutura do JavaScript _trackPageview.
Códigos de acompanhamento do Google Analytics desatualizados
(vale ressaltar que mais uma vez o artigo “Como posso verificar o código-fonte do meu site?” do Google Support encontra-se desatualizado)
Versão mais antiga do código de acompanhamento do Google Analytics urchin.js
<script type=”text/javascript” src=” http://www.google-analytics.com/urchin.js “></script>
<script type=”text/javascript”>
_uacct = “UA-xxxxxx-x”
urchinTracker();
</script>
Versão mais antiga do código de acompanhamento do Google Analytics ga.js
<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”>
var pageTracker = _gat._getTracker(“UA-xxxxxx-x”);
pageTracker._trackPageview();
</script>
Versão mais atual do código do Google Analytics e que deverá ser utilizada antes do fechamento do header e que funciona com a nova estrutura do _tracPagekview
<script type=”text/javascript”>
var _gaq = _gaq || [];
_gaq.push([‘_setAccount’, ‘UA-XXXXXXX-X’]);
_gaq.push([‘_trackPageview’]);
(function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
UPDATE: Enquanto finalizava o post, acabei por encontrar uma vídeo aula do Support do Google Analytics para quem vai fazer o teste de certificação do Google Analytics onde explica exatamente sobre a função JavaScript _trackPageview e também sobre a função _trackEvent para monitorar eventos.
Vídeo Aula – Support Google Analytics (Google Analytics IQ Lessons)
• Event Tracking and Virtual Pageviews: Watch presentation
Sobre o autor
Domicio Neto é Especialista SEO em Salvador, SMM (Social Media Marketing), SMO (Social Media Optimization).
• Presidente Conselheiro da Versa Comunicação
• Especialista em SEO e SMO na DMI Comunicação
Parabéns cara seu artigo me ajudou muito, bem na hora! ahaaha
Valeu Jonathan!
Qualquer dúvida que tiver sobre esse monitoramento do JavaScript _trackPageview no Google Analytics é só avisar.
Abs!!!
Meus parabéns Domício, show de bola e bem interessante as colocações, vou tentar usar quando precisar monitorar os eventos.
Obrigado pelo post.
Abraços
@seobrandup
Grande Glaucio!!!
Valeu pelo elogio! Espero que tenha ajudado.
Se tiver qualquer dúvida sobre o monitoramento com o _trackPageview, é só avisar.
Abraços.
Alguem aqui ja usou _trackEvent em links ou seja tag A?
Pois eu estou usando e me surgiu uma dúvida que acabou sendo um problema real.
Como um link A pode executar a chamada assincrona do GA _trackEvent.push antes que o link navegue para página chama? Dito e feito! Os meus _trackEvent.push não estao sendo computado pelo GA e eu estou achando que é por causa do link q navega antes de executar completamente o onclick.
Alguem ja passou por isto?
Obrigado.
Cara, as coisas que tenho estudado mais no momento são SEO e Mídias Sociais. Realmente nesse site tenho uma das melhores fontes de estudos sobre SEO. E o melhor é saber que é de Salvador. Gente daqui gerando conteúdo de qualidade. Parabéns mesmo!!
Fala Daniel!!!
Obrigado pelos elogios e muito bom saber que tem alguém aqui em Salvador interessado no mundo do SEO, analytics e mídia social.
Precisando é só falar.
Abraços,
Domicio neto
Boa tarde, Muito boa essas dicas. Mas eu posso usar esta função de monitoramento de eventos em uma unica página do site, ela tambem serve para monitora os links que se direcionam para outros sites? desde já agradeço.
Olá Eduardo,
Obrigado pelos elogios e vamos lá a sua dúvida.
Primeira forma mais fácil de fazer simular uma página ou pasta de saida, por exemplo, /outbound/portal-sobre-google-analytics e todos os links de saida usariam o /outbound/.
Uma opção intermediária é trocar o trackpageview por um track Event, e inserir a categoria de "external link".
Outra alternativa e mais complicada, é alterar algumas coisas do GA para que ele já identifique o link externo de forma automática, como segue abaixo:
(fonte http://www.google.com/support/forum/p/Google+Anal…
<html>
<head>
<script type="text/javascript">
var _gaq = _gaq || []; _gaq.push(
['_setAccount', 'UA-XXXXX-X'],
['_setDomain', 'your-domain.com'],
['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
Click to go to External link (new window)
Click to go to External link (existing window)
<script type="text/javascript">
_gaq.push(['_setAutoTrackOutbound', 'your-domain.com']);
</script>
</body>
</html>
Qualquer dúvida estou à dispoisção,
Abraços,
Domicio Neto
Olá Dominício,
Muito bom post, eu estou tentando trackear botões na minha página e estou tendo problemas, coloquei esse novo código, mas estou aguardando aparecer nos relatórios, veja se está correto?
Reservas
obrigado!
Olá Pedro,
Onde você tentou inserir o track? Não consegui identificar.
Fico no aguardo.
Abraços,
Domicio neto
Olá Dominício,
Está no botão "reserva" desse site http://www.abracadabrapousada.com.br/portugues/ho…
<div id="header">
<strong class="logo">Abracadabra Búzios – Brasil
<ul id="nav">
Home
Quartos
Serviços
Galeria
Localização
Pacotes
Reservas
FAQ
Contato
</div>
obrigado!
Oi Domicio,
Só pra saber, vc recebeu minha resposta?
abs
Fala Pedro,
Desculpa a demora em lhe responder.
Ta certo sim e provavelmente já deve estar funcionando no seu GA, só toma cuidado que dessa forma, você vai "inflar" o seu relatório do GA, pois vai estar gerando uma visualização que na verdade não existe e leva pra outro site.
Abraços,
Domicio Neto
Olá Dominício,
Descobri esse método também. Para usar esse JS, tenho que alterar alguma coisa no código do GA?
Play
Qual seria o mais apropiado, lembrando que eu estou usando o JS mais novo do GA.
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-654304-16']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
Pingback: SEO » JavaScript no Google Analytics com _trackPageview: Monitorando … | Rede SEO
Pingback: SEO » Google Analytics: trackPageview | Especialista em SEO | Rede SEO
Ola Domicio, parabens pelo excelente artigo com diversas informaçoes sobre GA, tenho uma duvida que incomoda muita gente, há possibilidade de tirar propria visita do GA? Abço e fica com Deus!
Fala cara,
Gostei muito dessa sua dúvida, vou tentar fazer um post o quanto antes sobre ela, mas posso lhe adiantar que existem modos de você eliminar a sua própria visita.
Primeira e mais fácil, é inserir um filtro, excluindo o seu IP ou sua faixa de IP, caso ele seja variável.
A segunda opção é inserir um cookie no seu computador, para que não seja contabilizado (ideal para notebooks ou empresas com muita variação de IP).
Vou fazer um post que vai explicar isso melhor, o que acha?
Abraços e obrigado pelos elogios!
Pessoal,
Alguém pode me ajudar. Estou utilizando o código do Google Analytics novo em um site de comércio eletrônico, mas os valores estão estranhos.
A dúvida é se eu chamar o código de monitoramento mais de uma vez na mesma página, o Google Anlytics registra valores duplicados?
Fala Bernardo,
Como você inseriu o código? Repetiu exatamente o mesmo código? se repetiu o código, será lido duas vezes sim.
Se puder, explica melhor como é que o código foi inserido para lhe responder melhor.
Abraços!
Fala Domicio, cara, deixa eu lhe perguntar.
Posso usar o _trackPageview em um formulario?
Cada clique dentro do formulario ele envia um pageview para a URL cadastrada no código, desta forma consigo fazer um funil do form, sabendo aonde o user desistiu do preenchimento.
Isso é possível de alguma forma?
Valeu, parabens pelo artigo.
Abraços;
Olá Raul. Tudo tranquilo, cara?
Claro que pode. É exatamente nessas horas que o trackpageview se torna importante.
Mas toma cuidado, pois a cada click você vai gerar, teoricamente para o Google Analytics, a visualização de uma página inflando o seu relatório.
Ainda não testei, mas caso esteja usando a nova versão do Google Analytics, ela permite inserir como meta um evento. (Confirma essa informação antes, ok?)
Espero que lhe ajude.
Grande abraço e qualquer dúvida, é só perguntar de novo.
Olá Domicio!
Ainda seguindo essa dúvida do Raul, estou tentando usar _trackEvent no botão submit de um form. como posso inserir o JS?
abs
Olá Pedro, como já é a segunda pessoa que retorna com uma dúvida parecido, vou indicar um post que fala sobre isso: http://www.domicioneto.com/web-analytics/google-a…
Caso ainda tenha dúvida, comente te novo para que eu possa lhe ajudar.
Abraços!
Olá Domicio, depois de muitas tentativas, consegui visualizar quantos cliques externos resulta em meu blog e para quais dominios. mas não estou conseguindo colocar eles para abrir em uma nova aba. você sabe me explicar?
Código doas banners:
<img src="ENDEREÇO IMAGEM" title=" " alt=" " />
*retirei os links para facilitar
Meu código de acompanhamento:
<script type='text/javascript'>
function recordOutboundLink(link, category, action) {
try {
var pageTracker=_gat._getTracker("UA-21180910-4");
pageTracker._trackEvent(category, action);
setTimeout('document.location = "' + link.href + '"', 100)
}catch(err){}
}
</script>
Se puder me ajudar agradeço bastante.
Obrigado
Olá, OCanceriano.
Para você fazer um link abri em uma nova página, você tem que inserir a tag blank no link. Não tem nada relacionado com o código do Google analytics, ok?
o código ficaria assim: < a target="_blank" href="URL">texto âncora
Ao usar o target="_blank", o site já irá abrir automaticamente em uma nova aba, ok?
Abraços!
Olá Domicio, parabéns pelo post cara. Te conheci no curso da mestre no ano passado, mas falamos muito pouco. Muito legal seu blog.
Essa dica ai , eu acho que salvou minha pele, eu estava usando o código antigo e estava tendo discrepância alto do numero real e o numero que o Analytics registrava. Creio que com isso resolva.
Abração e dou um feedback.
Grande, Leandro!!
Muito obrigado pelos elogios! Espero que realmente esse post te ajude e fico no aguardo do seu feedback.
Beiiijos!
Ola,
Tem como ratreas as ancoras de páginas? Por exemplo, tem um site que só tem a pagina raiz e todas a opcoes de menu sao via ancora, o usuario permanece sempre na mesma pagina mas em posicoes diferentes. Agradeco pela ajuda.
Olá, Robson. É possível sim, para isso, basta utilizar o trackPageView em cada uma das âncoras internas, dessa forma, você terá no relatório do Google Analytics todas as páginas monitoradas como se elas realmente existissem.
Combinado?
Abraços!
Não teria uma forma automatizada para inserir em todos de uma unica vez?
Olá, Renato.
Sim, existem algumas formas de inserir o trackPageview de forma automatizada sim. Sugiro que veja com a sua equipe de TI como eles podem te prestar esse tipo de suporte, combinado?
Abraços,
Domicio Neto