reachGoal

  1. Примеры
Совет. Для работы с JavaScript API необходимы навыки работы с HTML и JavaScript. Если вы не обладаете такими навыками, обратитесь к разработчику или вебмастеру вашего сайта.

Передача информации о достижении цели.

ym(XXXXXX, 'reachGoal', target[, params[, callback[, ctx]]]);

Параметр

Значение по умолчанию

Тип

Описание

target *

String

Идентификатор цели. Задается на странице редактирования счетчика при создании или изменении цели типа «JavaScript-событие».

params

Object

Параметры визита

callback

Function

Callback-функция, вызываемая после отправки данных о просмотре.

ctx

Object

Контекст, доступный в callback-функции по ключевому слову this.

Поля объекта params:
order_price

Double

Цена цели. Вы можете указать цену как в валюте, так и в условных единицах.

currency

String

Используйте это поле, если хотите передать цену цели в валюте. Метрика распознает трехбуквенный код валюты по ISO 4217.

Если передается иная валюта, будут отправлены нулевые значения вместо валюты и суммы.

  • * Обязательный параметр.

Если вы хотите отслеживать одно и то же действие в нескольких местах, достаточно создать одну цель типа JavaScript-событие и вызывать метод reachGoal с идентификатором этой цели каждый раз, когда она достигнута.

Если же у вас есть несколько разных событий, создайте отдельную цель для каждого события и отслеживайте их раздельно. В этом случае у целей должны быть разные идентификаторы.

Внимание. Значение идентификатора target не должно содержаться в URL страниц сайта. Иначе будет собираться некорректная статистика, учитывающая посещения страниц, содержащих в адресе значение, выбранное при создании цели.

При задании идентификатора цели не используйте следующие символы: /, &, #, ?, =.

Примеры

Варианты установки цели в исходном коде вашей страницы:

Установка на форму
...
<form action="" method="get" onsubmit="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;">
    ...
</form>
...
Установка на кнопку
...
<form action="">
    ...
    <input type="button" onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;" value="Заказать" />
</form>
...
Установка на ссылку
...
<a href="/price.zip" onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;">Прайс</a>
...
Установка на ссылку с передачей пользовательских параметров
...
<script type="text/javascript">
    var goalParams = {myParam: 123};
    function goalCallback () {
        console.log('запрос в Метрику успешно отправлен');
    }
</script>
<a href="/price.zip" onclick="ym(XXXXXX, reachGoal, 'TARGET_NAME', goalParams, goalCallback); return true;">Прайс</a>
...
Достижение цели при загрузке страницы

Если вы используете асинхронный код счетчика и цель вызывается с помощью элемента script, разместите в любой части страницы следующий код:

<script type="text/javascript">
    window.onload = function() {
        ym(XXXXXX, 'reachGoal', 'TARGET_NAME')
    }
</script>
Установка ценности цели на форму
<script type="text/javascript">
    var goalParams = {
       order_price: 1000.35,
       currency: "RUB"
    }
</script>
<form action="" method="get" onsubmit="ym(XXXXXX, 'reachGoal', 'TARGET_NAME', goalParams); return true;">
    ...
</form>
Передача цены цели динамически с помощью 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">Дакимакура с JoJo</div>
      <div class="price">3000.5 руб</div>
      <input class="price-input hidden" value="3000.5" />
    </div>
    ...
</form>

  • XXXXXX — номер вашего счетчика;
  • TARGET_NAME — идентификатор цели.

Выберите вопрос, чтобы найти решение.

Цели в Яндекс.Метрике работают одинаково для всех источников. Возможно, ни один посетитель из интересующего вас источника еще не достиг цель.

Обратите внимание: служба поддержки не обзванивает пользователей. Не следуйте указаниям людей, которые вам звонят и представляются службой поддержки Яндекс.Метрики.


Это может происходить по следующим причинам:
  • В Яндекс.Метрике условие цели не охватывает все возможные варианты. Например, цель настроена на посещение страницы с подтверждением заказа, а на сайте еще есть возможность оформить быстрый заказ.
  • У посетителя сайта в браузере установлен плагин, блокирующий работу счетчика.
  • У посетителя подключен антивирус с жесткими настройками приватности.
  • У посетителя низкоскоростное интернет-подключение, из-за которого на целевой странице не загрузился счетчик.

Обратите внимание: служба поддержки не обзванивает пользователей. Не следуйте указаниям людей, которые вам звонят и представляются службой поддержки Яндекс.Метрики.