Jump to content
Sign in to follow this  
maksiLo

Настройка целей для Метрики

Recommended Posts

Добрый день!

Помогите настроить 3 цели для Яндекс Метрики, сайт

1) Клик по кнопке "В корзину" (в карточке и в категории) http://prntscr.com/e84chj

Код события: onclick="yaCounter42075319.reachGoal('v-korzinu'); return true;"

Если правильно понимаю нужно вставить в /template/product/product.tpl в файле шаблона для карточки товара

Вроде верно нашёл кусок кода отвечающий за кнопку В корзину, но как верно туда вставить ума не приложу, в помощи Яндекса пример по другому выглядит.

<button type="button" id="button-cart" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-block btn-default " disabled><?php echo $disable_cart_button_text; ?></button>
<?php } else {  ?>
<button type="button" id="button-cart" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-block btn-danger "><?php echo $button_cart; ?></button> 

2) Клик по кнопке "Быстрый заказ" (в карточке товара) http://prntscr.com/e84cqh

Код события: onclick="yaCounter42075319.reachGoal('bistr-zakaz'); return true;"

3) Клик по кнопке "Оформить заказ" (во всплывающей форме быстрого заказа) http://prntscr.com/e84d4q

Код события: onclick="yaCounter42075319.reachGoal('bistr-zakaz-success'); return true;"

Коды событий написал вроде верно согласно Яндекс помощи

Не могу разобраться только как правильно это вставить в коды страниц.

По 2-й и 3-й цели не могу понять даже куда вставлять, модуль быстрого заказа стоит этот.

Вообщем буду благодарен за любую помощь, так же готов оплатить работу если найдётся исполнитель, пишите в лс.

Edited by maksiLo

Share this post


Link to post
Share on other sites

Судя по всему придётся идти на серч ) Тут нет разработчиков которые могут поставить код цели на кнопку...

Share this post


Link to post
Share on other sites

Работа выполнена, тему можно закрыть. Кому интересно исполнителя скину в лс.

Share this post


Link to post
Share on other sites

в common.js

в секции add

добавлешь код события и делов то.

 

Кому нужно настроить не только цели, но и передачу данных электронной торговли - обращайтесь.

Share this post


Link to post
Share on other sites

+1 (ищу исполнителя)

И мне в личку исполнителя

 

Share this post


Link to post
Share on other sites
Posted (edited)

Позвольте поднять тему.

Не силен в java script, но и вопрос мой несложный.

 

Раньше цель "заказ сделан" я прописывал в файлах tpl модулей оплаты.

Например, для cod.tpl:

$('#button-confirm').on('click', function() {
	$.ajax({
		type: 'get',
		url: 'index.php?route=extension/payment/cod/confirm',
		cache: false,
		beforeSend: function() {
			$('#button-confirm').button('loading');
		},
		complete: function() {
			$('#button-confirm').button('reset');
		},
		success: function() {
			location = '<?php echo $continue; ?>';
			yaCounter**********.reachGoal('zakaz_sdelan'); fbq('trackCustom', 'zakaz_sdelan');
		}
	});
});

Это не очень удобно, так как на каждый модуль оплаты приходится вешать это событие.

Хочу для этой кнопки #button-confirm в common.js прописать нужное действие. Сейчас у меня так:

$(document).ready(function() {  
	$('#button-confirm').on('click', function() {
		yaCounter*******.reachGoal('zakaz_sdelan'); fbq('trackCustom', 'zakaz_sdelan');
	});
});

Цель передается по клику.

Но подскажите, как передавать цель именно при ajax success?

Edited by vhs

Share this post


Link to post
Share on other sites
12 минут назад, LTRay сказал:

 

Спасибо.

Взгляните плиз, верно?

$(document).ready(function() {
	$('#button-confirm').ajaxSuccess(function() {
		yaCounter44659492.reachGoal('zakaz_sdelan1'); 
		fbq('trackCustom', 'zakaz_sdelan1');
	});
});

 

Share this post


Link to post
Share on other sites
1 hour ago, vhs said:

Взгляните плиз, верно?

Нет. Там же написан пример

Share this post


Link to post
Share on other sites
4 часа назад, LTRay сказал:

Нет. Там же написан пример

Окей, разбираюсь дальше.

В качестве условия выполнения ajax именно при заказе, мне необходима привязка к этой функции. В примере имеется привязка к url. У меня url разный в зависимости от модуля оплаты. Как бы сделать условие "если settings.url содержит index.php?route=extension/payment/"?

$(document).ajaxSuccess(function( event, xhr, settings ) {
	if ( settings.url == "index.php?route=extension/payment/...........") { 
		yaCounter44659492.reachGoal('zakaz_sdelan1'); 
		fbq('trackCustom', 'zakaz_sdelan1');
	}
});

Хотя и это условие мне не видится надежным. Вдруг какой-то модуль оплаты имеет другой адрес скрипта. Но я не знаю, каким еще способом определить ajaxSuccess.

Share this post


Link to post
Share on other sites

Сейчас реализовал так:

//цели в метрике и фб по событию "заказ сделан успешно"
$(document).ajaxSuccess(function( event, xhr, settings ) {
	if ( settings.url.includes("index.php?route=extension/payment/")){ //если url ajax запроса содержит часть url модуля оплаты
		yaCounter********.reachGoal('zakaz_sdelan2'); 
		fbq('trackCustom', 'zakaz_sdelan2');
	}
});

Работает некорректно: целей в метрику уходит больше фактического их числа. Что я делаю не так?

Share this post


Link to post
Share on other sites
9 minutes ago, vhs said:

Что я делаю не так?

Смотрите когда у вас xhr уходят, на какие события и куда

Share this post


Link to post
Share on other sites
Posted (edited)
1 час назад, LTRay сказал:

Смотрите когда у вас xhr уходят, на какие события и куда

Всё оказалось сложнее для меня. Насколько я понимаю, я привязываюсь к успешному переходу на url модуля оплаты. А не к факту успешного создания заказа. У меня среди клиентов много детей, я ловлю их клики по кнопке "Оплатить", не все заказы при этом оплачены. Это не соответствует моей задаче - привязаться к заказам :(

Оставлю так в ожидании, что кто-то для себя найдет решение.

Edited by vhs

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.