Настройка целей Яндекс.Метрика

12
Unlock
На сайте с 01.08.2004
Offline
758
5059

Коллеги, подскажите пожалуйста по синтаксису javascript. Смотрю вот здесь про настройку целей:

http://help.yandex.ru/metrika/qanda/goals-qanda.xml

Разместить в любой части страницы следующий код:

<script type="text/javascript">
window.onload = function() {
yaCounterCOUNTER_ID.reachGoal('TARGET_NAME')
}
</script>

Здесь все ясно. Но дальше http://help.yandex.ru/metrika/objects/reachgoal.xml

Цену цели можно передавать, даже если ваш сайт не является интернет-магазином. Для передачи цены предназначен параметр визита order_price или price.

Передать цену цели можно двумя способами:
добавить в вызов метода reachGoal вторым параметром объект с ценой:

    var yaParams =
{
price: 123.45
}

Правильно ли я понимаю, что итоговый код должен выглядеть так:

<script type="text/javascript">
window.onload = function() {
yaCounterCOUNTER_ID.reachGoal('TARGET_NAME')
};
var yaParams = {
price: 123.45
};
</script>

Или ; не нужны здесь?

Есть желание, - тысяча способов; нет желания, - тысяча поводов! /Петр-I/.
IL
На сайте с 20.04.2007
Offline
435
#1
Unlock:
добавить в вызов метода reachGoal вторым параметром объект с ценой:


window.onload = function() {
var yaParams =
{
price: 123.45
};
yaCounterCOUNTER_ID.reachGoal('TARGET_NAME',yaParams);
}


---------- Post added 27-06-2013 at 14:59 ----------

Ну.. или просто

yaCounterCOUNTER_ID.reachGoal('TARGET_NAME',{ price: 123.45});
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
Unlock
На сайте с 01.08.2004
Offline
758
#2
ivan-lev:
Ну.. или просто

Т.е. полный код:

<script type="text/javascript">
yaCounterCOUNTER_ID.reachGoal('TARGET_NAME',{ price: 123.45});
</script>

Спасибо большое!

IL
На сайте с 20.04.2007
Offline
435
#3
Unlock:
Т.е. полный код:

COUNTER_ID, TARGET_NAME, price заменить .

А вообще - "полный код" зависит от ситуации.

Приведённый Вами выполнится сразу же. Если его в onload положить - сработает после "загрузки окна".. Если нужно событие (щелчок по кнопке и тд) - поместить строчку с reachGoal в соответствующую функцию (примеры там же, по ссылкам из Вашего поста имеются).

Unlock
На сайте с 01.08.2004
Offline
758
#4
ivan-lev:
заменить

Это понятно. :)

ivan-lev:
Если нужно событие (щелчок по кнопке

Именно так! И тут у меня ступор, т.к. не очень понял сказанные Вами слова.

Предполагается, что код выше должен работать в связке с

<input type="submit" value="Send Request!" onclick="yaCounterCOUNTER_IDreachGoal('ORDER'); return true;" >

Тогда код как #3 ну конечно же с реальными данными. Только здесь вот с ценой не понятно, в onclick её нет или и не должно быть?

Я почему запутался, просто речь идет об асинхронном коде. И Яндекс пишет:

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

    <script type="text/javascript">
window.onload = function() {
yaCounterCOUNTER_ID.reachGoal('TARGET_NAME')
}
</script>
IL
На сайте с 20.04.2007
Offline
435
#5
Unlock:
Только здесь вот с ценой не понятно, в onclick её нет или и не должно быть?

Цена не "в onclick" а в вызове функции reachGoal и является необязательным параметром. Т.е. если она нужна (для чего?) и известна - использовать. Если нет - не использовать.


<input type="submit" value="Send Request!"
onclick="yaCounterCOUNTER_ID.reachGoal('ORDER',{price:123}); return true;" >


Unlock
На сайте с 01.08.2004
Offline
758
#6
ivan-lev:
если она нужна

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

ivan-lev, если у Вас еще терпение на такого тормоза как я осталось, подскажите пожалуйста, что-то кроме:

<input type="submit" value="Send Request!" 

onclick="yaCounterCOUNTER_ID.reachGoal('ORDER',{price:123}); return true;" >

нужно или нет? В хелпе запутался уже. Там про асинхронный код два варианта, на двух страницах и уже не понимаю, что и куда.

Вот про асинхронный код http://help.yandex.ru/metrika/qanda/goals-qanda.xml (выше приводил информацию), а есть еще здесь:

http://help.yandex.ru/metrika/objects/reachgoal.xml

Как правильно установить цель при загрузке страницы и асинхронном коде

Способ 1: поместить вызов метода reachGoal в try...catch
IL
На сайте с 20.04.2007
Offline
435
#7
Unlock:
Там про асинхронный код два варианта, на двух страницах и уже не понимаю, что и куда.

Там один пример - для события (onclick), остальные - для "страницы".

Unlock:
что-то кроме...нужно или нет?

Этого достаточно.. но есть шанс, что не отработает (если пользователь щёлкнул кнопку до того, как асинхронный скрипт загрузился).

Как правильно и лучше - зависит от остального кода на странице (есть ли ещё события на onclick, используется ли JQuery)

По-хорошему - навешивать события после загрузки страницы window.onload / $(document).ready()..

Unlock
На сайте с 01.08.2004
Offline
758
#8

Отредактировано. Все работает. :)

Unlock
На сайте с 01.08.2004
Offline
758
#9

Что-то подзавис, а как вот в это:

onclick="yaCounterCOUNTER_ID.reachGoal('ORDER',{price:123});

добавить еще и name: "item name"?

Так?

onclick="yaCounterCOUNTER_ID.reachGoal('ORDER',{price:123, name:"item name"});
[Удален]
#10

кстати, стоит в качестве параметра ещё посылать url текущей страницы, на которой произошло событие.

не знаю уж почему метрика не даёт возможность стандартным способом это узнать, хотя сама посылает url (но он не доступен в отчётах)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий