reachGoal
Передача информации о достижении цели.
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. Если передается другая валюта, будут отправлены нулевые значения вместо валюты и суммы. |
Параметр | Значение по умолчанию | Тип | Описание |
---|---|---|---|
target * | — | String | Идентификатор цели. Задается на странице редактирования счетчика при создании или изменении цели типа «JavaScript-событие». |
params | — | Object | |
callback | — | Function | Callback-функция, вызываемая после отправки данных о просмотре. |
ctx | — | Object | Контекст, доступный в callback-функции по ключевому слову this. |
Поля объекта params: | |||
order_price | — | Double | Цена цели. Вы можете указать цену как в валюте, так и в условных единицах. |
currency | — | String | Используйте это поле, если хотите передать цену цели в валюте. Метрика распознает трехбуквенный код валюты по ISO 4217. Если передается другая валюта, будут отправлены нулевые значения вместо валюты и суммы. |
- * Обязательный параметр.
Если вы хотите отслеживать одно и то же действие в нескольких местах, достаточно создать одну цель типа JavaScript-событие и вызывать метод reachGoal с идентификатором этой цели каждый раз, когда она достигнута.
Если же у вас есть несколько разных событий, создайте отдельную цель для каждого события и отслеживайте их раздельно. В этом случае у целей должны быть разные идентификаторы.
Примеры
Варианты установки цели в исходном коде вашей страницы:
...
<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">
$(window).load(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>
<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
— идентификатор цели.