Как настроить цели яндекс.метрики на нажатие кнопки «Подтвердить заказ» (WooCommerce)?
Доброго времени суток!
Пытаюсь настроить цели яндекс метрики на подтверждение заказа в корзине. Но элементарно не могу даже найти в какой кнопке "прикрутить" событие. Возникает вопрос, где найти нужный файл? и есть подозрение что при обновлении плагина все мои доработки удаляться. Можно ли допустим в какой нибудь виджет прописать функцию, которая будет реагировать на нажатие сторонней кнопки?
Вот кусок кода уже сформированной страницы, кнопка на которую нужно настроить событие.
Роман Краббз: Спасибо. Я правильно понял - например, добавить в корзину:
$(function () {
$("div.woocommerce-variation-add-to-cart button.single_add_to_cart_button").bind("click", function(){
yaCounter12345678.reachGoal('added');
});
});
И добавляем в метрике цель "JavaScript событие", идентификатор "added", все верно?
Олег Громель: да, если у вас woocommerce. Только селектор кнопки "Добавить в корзину" перепроверьте. У вас сейчас только на вариантивные товары этот код будет действовать.
Роман Краббз: Добрый вечер. Добавил скрипт и цель, но статистика так и не появилась. В консоли хрома была ошибка (для примера номер заменил на 12345678):
Uncaught ReferenceError: yaCounter12345678 is not defined
Добавил window.onload (прочитал в хелпе Яндекса), ошибка пропала, но статистика по нажатию кнопки (через reachGoal) так и не собирается.
Подскажите, что я не так делаю?
Итоговый код (к кнопке добавил кастомный класс) на :
jQuery(function($) {
$(".metrika_added_cart").bind("click", function(){
window.onload = function() {
yaCounter12345678.reachGoal('added_cart');
return true;
}
});
});
Uncaught ReferenceError: yaCounter12345678 is not defined - указывает на то, что у вас ваш скрипт с reachgoal выполняется раньше, чем у вас отрабатывает код метрики. Сначала должен быть подключен код счетчика а потом уже - ваш скрипт.
Роман Краббз: Это вариант я уже обыгрывал, пробовал и в head счетчик добавить и еще несколько вариантов. В итоге ошибка пропала после использования "window.onload" видимо из-за асинхронного кода (Если вы используете асинхронный код счетчика...), вычитал здесь: https://yandex.ru/support/metrika/objects/reachgoal.xml
Олег Громель: там почитайте в справке про режим дебага для Яндекс.Метрики. Там со специальным аргументом в url можно в консоли браузера смотреть результат выполнения цели.
Роман Краббз: смотрел, непонятные ошибки
ReferenceError: reference to undefined property c.mp2
reference to undefined property (intermediate value)[a.type]
гуглил, ответа так и не нашел
Роман Краббз: Добрый день, не подскажите, настроил цели, все нормально, но на странице оплаты при нажатии кнопки оформить появляется сообщение браузера "Запрашивает действие order-checkout reach goal" как это убрать, или в какую сторону копать чтоб убрать