Instalação e configuração de tag em site com AMP
O contador do Yandex Metrica executa JavaScript. Se você instalar o código da tag em um site que usa Páginas Móveis Aceleradas (AMP), as páginas do site não vão passar na validação. Isso ocorre porque a tecnologia AMP restringe o uso de JavaScript e HTML5. Para contornar esse problema, é possível instalar a tag de uma maneira especial.
Observação
Observe que, neste caso, as seguintes funcionalidades do Yandex Metrica não serão suportadas: E-commerce, Reprise de Sessão e rastreamento de cliques no botão Compartilhar.
Habilitação de tag em site com AMP
Atenção
Os sites que utilizam a tecnologia de Páginas Móveis Aceleradas (AMP) não conseguem coletar dados de análise de conteúdo.
Faça alterações no código HTML das páginas do seu site:
-
O rastreamento de ações do usuário em sites com AMP utiliza o componente adicional amp-analytics. Adicione-o ao código da sua página, no interior do elemento
head
:<head> ... <script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script> ... </head>
-
Edite o elemento
body
: adicione o elementoamp-analytics
. Para que os dados da sessão sejam transmitidos para o Yandex Metrica, defina o atributotype
para o valormetrika
e use a variávelcounterId
para definir o número da tag.<body> ... <amp-analytics type="metrika"> <script type="application/json"> { "vars": { "counterId": "XXXXXX" ... } } </script> </amp-analytics> ... </body>
Transmissão de dados
Atenção
Quando o usuário abre uma página AMP, o Yandex Metrica registra uma visualização (pageview
). Isso significa que você não precisa transmitir esse evento para o Yandex Metrica. Se você o enviar, os relatórios do Yandex Metrica mostrarão um número errado de visualizações de página.
Para transmitir dados quando a tag for inicializada, use:
- A variável yaParams para enviar parâmetros de sessão.
- Os atributos de triggers para transmitir eventos, como conclusões de objetivo.
Envio de parâmetros de sessão e parâmetros de usuário
Exemplo de transmissão de parâmetros de sessão e parâmetros de usuário personalizados durante uma sessão, usando a variável yaParams:
...
"vars": {
"counterId": "XXXXXX",
"yaParams": "{\"key\":\"value\",\"__ymu\":{\"user_param_key\":\"user_param_value\"}}"
},
...
Você também pode transmitir apenas os parâmetros de sessão, ou apenas os parâmetros de usuário:
...
"vars": {
"counterId": "XXXXXX",
"yaParams": "{\"key\":\"value\"}"
},
...
...
"vars": {
"counterId": "XXXXXX",
"yaParams": "{\"__ymu\":{\"user_param_key\":\"user_param_value\"}}"
},
...
Taxa de rejeição precisa
Para obter a taxa de rejeição exata, use o atributo de acionamento timer:
{
...
"triggers": {
"notBounce": {
"on": "timer",
"timerSpec": {
"immediate": false,
"interval": 15,
"maxTimerLength": 14
},
"request": "notBounce"
},
...
}
}
Conversão
Para rastrear a conclusão de objetivos quando um elemento específico da página for clicado, use o atributo de acionamento click.
{
...
"triggers": {
"someGoalReach": {
"on": "click",
"selector": "#Button",
"request": "reachGoal",
"vars": {
"goalId": "superGoalId",
"yaParams": "{\"key\": \"value\"}" // Quando o objetivo for concluído, o valor da variável do evento será usado para os parâmetros de sessão
}
},
...
}
}
Campo |
Tipo |
Descrição |
|
String |
O identificador de objetivo definido durante a criação de um objetivo de evento JavaScript na interface do Yandex Metrica. |
Rolagem de página
É possível usar o atributo de acionamento scroll para registrar a rolagem até um ponto específico da página (um percentual da altura da página). Você pode definir esse evento como objetivo.
{
...
"triggers": {
"halfScroll": {
"on": "scroll",
"scrollSpec": {
"verticalBoundaries": [
50
]
},
"request": "reachGoal",
"vars": {
"goalId": "halfScrollGoal"
}
},
"partsScroll": {
"on": "scroll",
"scrollSpec": {
"verticalBoundaries": [
25,
90
]
},
"request": "reachGoal",
"vars": {
"goalId": "partsScrollGoal"
}
},
...
}
}
Rolagem de feed infinito
Pode-se usar um feed infinito para visualizar artigos sequencialmente. Para registrar cliques de artigo para artigo e visualizações individuais, use o acionador amp-next-page-scroll.
{
...
"triggers": {
"trackScrollThrough": {
"on": "amp-next-page-scroll",
"request": "pageview"
},
...
}
}
Carregamento de elemento de página individual
Use o atributo de acionamento visible para registrar quando os elementos de uma página são exibidos na tela do usuário.
Exemplo genérico do código da tag
Este exemplo de código é fornecido apenas para ilustrar as possibilidades da tag. Ao copiá-lo, exclua os comentários (//<…>), substitua XXXXXX pelo número da sua tag e faça outras alterações conforme necessário (por exemplo, configure a transmissão de parâmetros de usuário e parâmetros de sessão).
<body>
...
<amp-analytics type="metrika">
<script type="application/json">
{
// Envio de parâmetros de sessão e parâmetros de usuário
"vars": {
"counterId": "XXXXXX",
"yaParams": "{\"key\":\"value\",\"__ymu\":{\"user_param_key\":\"user_param_value\"}}"
},
// Transmissão de gatilhos
"triggers": {
// Indicador preciso de rejeição
"notBounce": {
"on": "timer",
"timerSpec": {
"immediate": false,
"interval": 15,
"maxTimerLength": 14
},
"request": "notBounce"
},
// Rolagem de página
"halfScroll": {
"on": "scroll",
"scrollSpec": {
"verticalBoundaries": [
50
]
},
// Rastreamento de rolagem como objetivo
"request": "reachGoal",
"vars": {
"[goalId](*goalid)": "halfScrollGoal"
}
},
// Page scrolling
"partsScroll": {
"on": "scroll",
"scrollSpec": {
"verticalBoundaries": [
25,
90
]
},
// Rastreamento de rolagem como objetivo
"request": "reachGoal",
"vars": {
"[goalId](*goalid)": "partsScrollGoal"
}
},
// Rolagem de feed infinita
"trackScrollThrough": {
"on": "amp-next-page-scroll",
"request": "pageview"
}
}
}
</script>
</amp-analytics>
...
</body>
Saiba mais
Links úteis |
Treinamento online |
Carregamento de uma das páginas do site quando o usuário a acessa. Visualizações de página também incluem recarregamentos de página, atualizações de sites AJAX e envio de dados usando o método hit.
Tipo
String
Descrição
O identificador de objetivo definido durante a criação de um objetivo de evento JavaScript na interface do Yandex Metrica.