Contactar o apoio

Respondemos por e-mail, normalmente em dois dias.

Para prevenir abusos, o Google reCAPTCHA verifica este envio; alguns dados são transmitidos ao Google. O script só é carregado na abertura deste formulário.

← Todos os artigos

Adicionar um contador Stats4U com o Google Tag Manager

Há um guia sobre isto no blog, de 2015. As suas capturas de ecrã mostram um Tag Manager que já não tem esse aspeto, e um dos seus sete passos — marcar document.write — já não é sequer necessário. Este artigo substitui-o.

Também responde à pergunta que o guia antigo tinha desistido de responder. Esse dizia que se devia usar o contador invisível com o Tag Manager, porque «não é possível controlar onde a imagem de Stats vai ser mostrada». É possível. Está no fundo desta página.

A versão curta

No Tag Manager: Tags → New → Custom HTML, e cole uma linha no campo HTML:

20157 — passoshoje3 — campos e um acionadoro passo do document.write desaparece — o programa já não o usa
<script src="https://www.stats4u.net/s4u.js"
        data-id="YOUR-ID" data-style="981" async></script>

O acionador define-se para All Pages, e depois guarda-se e publica-se o contentor. YOUR-ID é substituído pelo número do contador, que aparece na página de estatísticas.

Esse é todo o trabalho — três campos e um acionador, onde 2015 precisava de sete passos. Não é preciso marcar nada sobre document.write, porque o script já não o usa.

O que isso faz realmente, e porque pode não ser o que se pretende

O script coloca o contador imediatamente a seguir a si próprio na página. Colado diretamente no HTML do próprio site, isso está exatamente certo: o contador aparece onde o código foi colocado.

Através do Tag Manager é diferente, porque a posição do código deixa de ser decidida por quem o cola. Quem decide é o contentor, e este normalmente fica no head do documento, ou onde quer que o excerto do contentor tenha sido instalado. Por isso o contador é inserido ali — não no rodapé, não na barra lateral, mas onde quer que o Tag Manager tenha injetado a tag.

Para um contador invisível isso não importa rigorosamente nada, e é por isso que o guia antigo recomendava um. O design 980 não mostra nada, o design 981 mostra apenas um pequeno ícone que liga à página de estatísticas. Se é tudo o que faz falta, a versão curta acima está completa e a leitura pode ficar por aqui.

Se quiser um contador visível num local específico, continue a ler.

Controlar onde o contador aparece

O script tem um segundo modo que o guia antigo nunca mencionou. Em vez do atributo data-id, recebe uma lista, e procura elementos de marcador de posição pelo ID.

Passo um — um marcador de posição na página, onde quer que o contador deva ficar. Isto vai no template do próprio site, não no Tag Manager, porque o Tag Manager é precisamente o que estamos a tentar manter fora desta decisão:

<div id="s4u_cp0"></div>

Passo dois — no Tag Manager, use isto em vez da linha única. O mesmo tipo de tag Custom HTML:

<script>
(function () {
  // No placeholder on this page? Then no counter, and no request either.
  if (!document.getElementById('s4u_cp0')) { return; }

  window.s4uid         = ['YOUR-ID'];
  window.s4u_paramsarr = [{ s4ustyleid: '100' }];

  var s = document.createElement('script');
  s.src = 'https://www.stats4u.net/s4u.js';
  document.head.appendChild(s);
})();
</script>

Passo três — mudar o acionador. Esta é a parte que apanha as pessoas desprevenidas. All Pages dispara o mais cedo que o Tag Manager conseguir, o que muitas vezes é antes de o marcador de posição existir no documento. Serve antes o acionador incorporado DOM Ready. O contador tem de chegar depois da div, não antes dela.

O contador aparece agora dentro dessa div, e em mais lado nenhum.

Controlar em que páginas aparece

Tem dois controlos independentes, e vale a pena perceber cada um separadamente.

O marcador de posição é um deles. Na primeira linha dentro da função: se não houver nenhum s4u_cp0 na página, ela para e o script nem sequer chega a ser transferido. Por isso, um template que inclua a div recebe um contador, e um que não inclua, não recebe — decidido nos templates do próprio site, sem nenhuma alteração no Tag Manager e sem nenhum passo de publicação.

O acionador é o outro. Para decidir isso no Tag Manager basta dar ao acionador uma condição — disparar em DOM Ready apenas quando Page Path corresponder. Esta via serve quando a regra for sobre URLs, e o marcador de posição quando for sobre templates.

Mais do que um contador numa página

A lista aceita quantos quiser. A posição na lista é o número no ID do marcador de posição:

window.s4uid         = ['ID-ONE', 'ID-TWO'];
window.s4u_paramsarr = [{ s4ustyleid: '981' }, { s4ustyleid: '100' }];

O primeiro vai para s4u_cp0, o segundo para s4u_cp1. Ambos foram verificados num navegador enquanto este artigo era escrito: o primeiro foi apresentado como um ícone de 20 por 20, o segundo como uma tira de 162 por 25, cada um dentro do seu próprio marcador de posição e em mais lado nenhum na página.

Quatro coisas que o vão morder

  • Os dois métodos não se usam ao mesmo tempo. Se a tag tiver um atributo data-id e definir a lista, obtêm-se dois contadores, e os dois acessos são contados em separado.
  • s4ustyleid define-se sempre na lista. O atributo data-style volta silenciosamente ao design 30 quando é omitido. A versão em lista não tem essa alternativa e vai pedir um design vazio.
  • Um marcador de posição em falta falha silenciosamente. Sem contador, sem erro, nada na consola. Se nada aparecer, verifique primeiro o ID — s4u_cp0, com um zero, não a letra O.
  • O contador invisível não tem ligação de propósito. O design 980 é apresentado sem uma, porque um alvo de clique transparente de um pixel na página de outra pessoa é uma armadilha, não uma funcionalidade. Se quiser a ligação, use o 981, que é o pequeno ícone.

Verificar se funcionou

Com o modo Preview do Tag Manager carrega-se a página. A tag deve aparecer sob as tags disparadas para o evento DOM Ready. Depois, na página de estatísticas — uma visita através do Preview conta como qualquer outra, por isso o número deve mexer-se em poucos segundos.

Se a tag disparar mas nada aparecer, é o marcador de posição ou o acionador, por essa ordem de probabilidade.

Publicidade