Цели Яндекс Метрики На Обратный Звонок

Добрый день!


Подскажите, пожалуйста, как настроить цель в Яндекс Метрика на нажатие определенной кнопки (Заказать обратный звонок)
или заполнении формы

Метрика пишет следующее:

Рекомендуем использовать тип цели JavaScript событие. При создании цели указывается ее идентификатор. При достижении цели вызывается метод reachGoal, в который передается указанный идентификатор. Например:

<html>
...
<form action="">
...
<input type="button" onclick="yaCounterXXXXXX.reachGoal('ORDER'); return true;" value="Заказать" />
</form>
...
</html>

где

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

Но не могу понять, как настроить данные параметры для нажатия кнопки, например.

Подскажите, пожалуйста, как реализовать.

Заранее спасибо!

1 лайк

Надо в метрике цель создать, JavaScript событие, как я понимаю, задать идентификатор для цели при ее создании, и вставить его в код вместо ORDER

Надо в метрике цель создать, JavaScript событие, как я понимаю, задать идентификатор для цели при ее создании, и вставить его в код вместо ORDER

Спасибо, А как задать идентификатор для цели? Чтобы Яндекс понял что цель выполнилась при нажатии на определенную кнопку?

1 лайк

Спасибо, А как задать идентификатор для цели? Чтобы Яндекс понял что цель выполнилась при нажатии на определенную кнопку?

Так в метрике, когда цель создается, там для JavaScript только два поля: название, как она в самой метрике называется, и идентификатор цели. Как назовете, так и будет называться :)

В самом шаблоне? в аддоне call_request в шаблонах для попап и страницы продукта (кнопка в один клик) надо определить значение для $but_onclick (чтобы по хорошему разделить эти два действия, обратный звонок и в один клил - для каждого из них создадим по своей цели) и вставить передачу этой переменной в подключаемый в них шаблон addons/call_requests/views/call_requests/components/call_request_content.tpl , в котором поставить передачу этой переменной в шаблон buttons/button.tpl

немного ломано, так как быстро просмотрел шаблоны, но принцип такой, там не путанно :)

если разделять эти два события не надо, то достаточно только в шаблоне

addons/call_requests/views/call_requests/components/call_request_content.tpl

дописать в кнопку but_onclik="yaCounterXXXXXX.reachGoal('ORDER'); return true;" в конце шаблона

{include file="buttons/button.tpl" but_onclik="yaCounterXXXXXX.reachGoal('ORDER'); return true;" but_name="dispatch[call_requests.request]" but_text=__("submit") but_role="submit" but_meta="ty-btn__primary ty-btn__big cm-form-dialog-closer ty-btn"}

где ХХХХХХ и ORDER - счетчик и заданный вами ИД цели

В самом шаблоне? в аддоне call_request в шаблонах для попап и страницы продукта (кнопка в один клик) надо определить значение для $but_onclick (чтобы по хорошему разделить эти два действия, обратный звонок и в один клил - для каждого из них создадим по своей цели) и вставить передачу этой переменной в подключаемый в них шаблон addons/call_requests/views/call_requests/components/call_request_content.tpl , в котором поставить передачу этой переменной в шаблон buttons/button.tpl
немного ломано, так как быстро просмотрел шаблоны, но принцип такой, там не путанно :)
если разделять эти два события не надо, то достаточно только в шаблоне
addons/call_requests/views/call_requests/components/call_request_content.tpl
дописать в кнопку but_onclik="yaCounterXXXXXX.reachGoal('ORDER'); return true;" в конце шаблона

{include file="buttons/button.tpl" but_onclik="yaCounterXXXXXX.reachGoal('ORDER'); return true;" but_name="dispatch[call_requests.request]" but_text=__("submit") but_role="submit" but_meta="ty-btn__primary ty-btn__big cm-form-dialog-closer ty-btn"}

где ХХХХХХ и ORDER - счетчик и заданный вами ИД цели


Благодарю, но все равно почему-то не работает.

Я все правильно сделал?

Так выглядит файл:

{if $product}



{include file=“common/image.tpl” images=$product.main_pair image_width=$settings.Thumbnails.product_cart_thumbnail_width image_height=$settings.Thumbnails.product_cart_thumbnail_height}


{$product.product}




{/if}

{__("your_name")}
{__("phone")}

{if $product}

<div class="ty-cr-or">— {__("or")} —</div>

<div class="ty-control-group">
    <label for="call_data_{$id}_email" class="ty-control-group__title cm-email">{__("email")}</label>
    <input id="call_data_{$id}_email" class="ty-input-text-full" size="50" type="text" name="call_data[email]" value="{$call_data.email}" />
</div>

<div class="cr-popup-error-box">
    <div class="hidden cm-cr-error-box help-inline">
        <p>{__("call_requests.enter_phone_or_email_text")}</p>
    </div>
</div>

{else}

<div class="ty-control-group">
    <label for="call_data_{$id}_convenient_time_from" class="ty-control-group__title">{__("call_requests.convenient_time")}</label>
    <input id="call_data_{$id}_convenient_time_from" class="ty-input-text cm-cr-mask-time" size="6" type="text" name="call_data[time_from]" value="" placeholder="{$smarty.const.CALL_REQUESTS_DEFAULT_TIME_FROM}" /> -
    <input id="call_data_{$id}_convenient_time_to" class="ty-input-text cm-cr-mask-time" size="6" type="text" name="call_data[time_to]" value="" placeholder="{$smarty.const.CALL_REQUESTS_DEFAULT_TIME_TO}" />
</div>

{/if}

{include file=“common/image_verification.tpl” option=“call_request”}

{include file="buttons/button.tpl" but_onclik="yaCounter40458010.reachGoal('26106179'); return true;" but_name="dispatch[call_requests.request]" but_text=__("submit") but_role="submit" but_meta="ty-btn__primary ty-btn__big cm-form-dialog-closer ty-btn"}


Номер метрики: 40458010, название цели: CALLBACK, идентификатор: 26106179

По идее должно работать, но не действительно не вижу

По идее должно работать, но не действительно не вижу

Может быть в каком-то другом файле нужно добавить? Но в каком

попробуйте в теме в файле buttons/button.tpl

убрать условие

{if $but_name && $but_role != "text" && $but_role != "act" && $but_role != "delete"} {* SUBMIT BUTTON *}
    {$but_text}

в конце вместо

{if $but_onclick}onclick="{$but_onclick nofilter}"{/if}>{$but_text}

просто

onclick="{$but_onclick nofilter}"

чтобы проверить передается вообще или нет

Может кэш? Папку с кэшем с сервера долой чтоб наверняка? Потому как файл точно тот и переменная правильно вставлена, а шаблон без нее отображается

Может кэш? Папку с кэшем с сервера долой чтоб наверняка? Потому как файл точно тот и переменная правильно вставлена, а шаблон без нее отображается

Странно, все сделал, но не работает(

Может кэш? Папку с кэшем с сервера долой чтоб наверняка? Потому как файл точно тот и переменная правильно вставлена, а шаблон без нее отображается

Может быть вам дать доступы, сможете посмотреть? Буду крайне признателен

Может быть вам дать доступы, сможете посмотреть? Буду крайне признателен

Точно такая же ситуация. Решили задачу?

Доброго дня!
А не смогли бы рассказать поподробнее, как разделить кнопки “Отправить” на этих 2-х формах (“Заказ звонка” и “Купить в 1 клик”)? Чтобы при нажатии на каждую из них в метрику 2 разных события передавались.
Что-то 2-й день бодаюсь и не выходит каменный цветок.
Буду Вам сильно признателен!

Посмотрите как события в стандартной метрике передаются

js/addons/rus_yandex_metrika/providers/obsolete.js

По факту вам надо с ID или классами элементов поработать, чтобы все это дело разделить