reachGoal
Importante
Trabalhar com a API JavaScript exige conhecimentos de HTML e JavaScript. Se você não conhece essas linguagens, entre em contato com o desenvolvedor ou webmaster do seu site.
Transmite informações sobre um objetivo concluído.
ym(XXXXXX, 'reachGoal', target[, params[, callback[, ctx]]]);
|
Parâmetro |
Valor padrão |
Tipo |
Descrição |
|
|
— |
String |
ID do objetivo. Definida na página de edição da tag ao criar ou alterar um objetivo do tipo "evento JavaScript". |
|
|
— |
Objeto |
|
|
|
— |
Função |
A função callback a ser convocada após o envio dos dados de visualização de página |
|
|
— |
Objeto |
Contexto acessado pela palavra-chave |
|
Campos para o objeto |
|||
|
|
— |
Duplo |
Custo do objetivo. Você pode especificar a receita em uma moeda ou em unidades convencionais. |
|
|
— |
String |
Use este campo caso queira informar o custo do objetivo em moeda. O Yandex Metrica reconhece códigos monetários ISO 4217 de três letras. Se uma moeda diferente for informada, serão enviados valores nulos em vez de moedas e quantias. |
Caso queira rastrear a mesma ação em vários locais, basta criar um objetivo evento JavaScript e convocar o método reachGoal com a ID do objetivo cada vez que o objetivo for concluído.
Caso tenha vários eventos diferentes, crie um objetivo separado para cada evento e rastreie-os separadamente. Nesse caso, os objetivos devem possuir IDs diferentes.
Atenção
Ao definir a ID do objetivo, não utilize os seguintes caracteres: / \ & # ? = ". Caso você queira adicionar um sinal de mais à ID, insira %2B no lugar do caractere +.
Exemplos
Opções para incorporar objetivos no código-fonte do seu site:
Formulários
... <form action="" method="get" onsubmit="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;"> ... </form> ...Para um botão
... <form action=""> ... <input type="button" onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;" value="Order" /> </form> ...Links
... <a href="/preco.zip" onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;">Lista de preços</a> ...Para um link com transmissão de parâmetros de usuário
... <script type="text/javascript"> var goalParams = {myParam: 123}; function goalCallback () { console.log('Request sent to Yandex Metrica'); } </script> <a href="/preco.zip" onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME', goalParams, goalCallback); return true;">Lista de preços</a> ...Conclusão de objetivo ao carregar a página
Caso esteja usando um snippet de código assíncrono e o objetivo for convocado usando o elemento
script, incorpore o seguinte código em qualquer seção da página:Solução genéricaSolução para jQuery<script type="text/javascript"> window.onload = function() { ym(XXXXXX, 'reachGoal', 'TARGET_NAME') } </script><script type="text/javascript"> $(window).load(function() { ym(XXXXXX, 'reachGoal', 'TARGET_NAME') }); </script>Definição de receita por objetivo em um formulário
... <form action=""> ... <input type="button" onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME', {order_price: '1000.35', currency: 'RUB'}); return true;" value="Order"/> </form> ...Como enviar dados de receita usando um seletor de atributos
Para transferir receita como
order_pricea partir de todas as páginas do site onde ela está definida por um seletor de atributo (por exemplo,classouid), informe o nome do seletor junto com os dados de receita para o Yandex Metrica.
Encontre no código do seu site o fragmento onde está definido um seletor desse tipo. Exemplo:
<div class="ORDER">Valor do pedido: <div class="PRICE">110</div> RUB</div>Adicione o nome do seletor ao código do elemento que irá enviar a receita por objetivo para o Yandex Metrica. Exemplo:
<input type="button" onclick="ym(XXXXXX, 'reachGoal', 'BUY', {order_price: document.querySelector('.PRICE')?.textContent}); return true;" value="Order" />Informar receita por objetivo dinamicamente usando JQuery
<script type="text/javascript"> jQuery(document).ready(function () { var reachGoalWithDynamicPrice = function () { var dynamicPrice = jQuery('#cart .price-input').reduce(function (total, input) { var price = parseFloat(input.val()) return isNaN(price) ? total : total + price }, 0) var goalParams = { order_price: dynamicPrice, currency: "RUB" } ym(XXXXXX, 'reachGoal', 'TARGET_NAME', goalParams) return true } jQuery('#cart').submit(reachGoalWithDynamicPrice) } </script> <form id="cart" action="/submit_order.php" method="post"> <div class="item"> <div class="name">Dakimakura com JoJo</div> <div class="price">RUB 3.000,50</div> <input class="price-input hidden" value="3.000,50" /> </div> ... </form>
XXXXXX— Número do contador.TARGET_NAME— ID do objetivo.
|
Links úteis |
Treinamento online |
Parâmetro obrigatório.