DLE-UniForm
DLE-UniForm copied to clipboard
реализация работы с целями в Яндекс.Метрики и Google analitics
Часто клиенты хотят настроить получение статистики из Яндекс.метрики по действиям с формами.
Обычно для это создают две цели на каждую форму:
- Открытие формы (запуск формы по кнопке)
- Отправка формы (отправка сообщения из формы - клик по submit)
Сейчас подключение для каждой из форм представляет из себя добавления JS в шаблоне form.tpl
<button class="uf-btn ladda-button" type="submit" data-style="zoom-out"onclick="yaCounter123456789.reachGoal('ZajavkaFormyPredzakazAvtomobilja'); return true;"><span class="ladda-label">Отправить</span></button>
и в теле шаблона новости (fullstory.tpl или main.tpl или shortstory.tpl )
<a href="#" data-uf-open="/engine/ajax/uniform/uniform.php" data-uf-settings='{"formConfig": "preorder", "fields":{"title": "{title}", "price": "[xfvalue_price]", "full-link": "{full-link}"}}' onclick="yaCounter123456789.reachGoal('OtkrytieFormyPredzakazAvtomobilja'); return true;">ссылка</a>
вроде ничего сложного, но не красиво.
Нужна реализация более простая при которой нужно быобы указывать только yaCounter123456789 (или его аналог в гугле) и id цели (типа: OtkrytieFormyPredzakazAvtomobilja )
Добрый день! Тоже хочу реализовать подсчет целей в форме.
Я этот код:
<script type='text/javascript'>window.onload = function() {yaCounter123456789.reachGoal('URA_123456');}</script>
Вставляю между: [success] сюда [/success] но почему то не считает цели, почему?
У меня вот так выглядит:
[success]
<div class="uf-content"><b>Спасибо за обращение!</b></div>
<script type='text/javascript'>window.onload = function() {yaCounter123456789.reachGoal('URA_123456');}</script>
[/success]
@javer-sh попробуйте так: Тут проверка на существование функции yaCounter123456789 и выполнение её. код с window.onload работать не будет т.к. window.onload - это событие загрузки страницы, а на момент отправки сообщения это событие уже давно выполнено :)
[success]
<div class="uf-content"><b>Спасибо за обращение!</b></div>
<script type='text/javascript'>
if ($.isFunction(yaCounter123456789)) {
yaCounter123456789.reachGoal('URA_123456');
}
</script>
[/success]
[success]
<div class="uf-content"><b>Спасибо за обращение!</b></div>
<script type='text/javascript'>
if ($.isFunction(yaCounter123456789)) {
yaCounter123456789.reachGoal('URA_123456');
}
</script>
[/success]
Этот код тоже не работает!
@javer-sh попробуйте убрать обёртку и оставить только yaCounter123456789.reachGoal('URA_123456');
так же нужно убедиться, что
- метод $.isFunction есть в вашей библиотеке jquery и выполняется корректо.
- я.метрика не заблокирована адблокером.
- объект yaCounter123456789 существует.
- функция
yaCounter123456789.reachGoal
существует.
Ну и нужно учитывать, что в коде, который я написал без проверки, вполне может быть ошибка.
попробуйте сделать аналогично моему способу.
цель для Я.Метрики создаем две штуки. Первая - на запуск формы. Вторая - на отправку формы.
кнопка отправки выглядит так
кнопка открытия формы, примерно вот так
Заказать звонок
3 сент. 2019 г., в 19:17, javer-sh [email protected] написал(а):
[success]
Спасибо за обращение![/success] Этот код тоже не работает!— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/dle-modules/DLE-UniForm/issues/37?email_source=notifications&email_token=AAX7CM7MDAT2YRWI7XFYQALQH2EYLA5CNFSM4CQZPI7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5YXY6I#issuecomment-527531129, or mute the thread https://github.com/notifications/unsubscribe-auth/AAX7CMZ4VZAISSE26H7YO3LQH2EYLANCNFSM4CQZPI7A.