Jump to content

Метрика на кнопку в корзину


Recommended Posts

madvolkov

Подскажите пожалуйста ! Есть кнопка добавления в корзину. она выведена такой вот меткой. {$ADD_CART_BUTTON}

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

 

В includes/modules/product_info.php есть такое вот:

                if ($product->data['products_fsk18'] == '0') {
                    $info->assign('ADD_QTY', vam_draw_input_field('products_qty', '1', 'size="3"').' '.vam_draw_hidden_field('products_id', $product->data['products_id']));
                    $info->assign('ADD_CART_BUTTON', vam_image_submit('buy.jpg', IMAGE_BUTTON_IN_CART, 'id="add_to_cart"'));
                }

как я понимаю мне надо такой вот код прикрутить к этой кнопке

onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;"

....в какой файле это делать ?

Link to post
Share on other sites
madvolkov

Обрамляю кнопку так вот , но в яндекс метрику ничего не приходит почему то ?

 

<a href="#" onclick="yaCounter757516.reachGoal('najal_kupit'); return true;"> {$ADD_CART_BUTTON}</a>

 

такой вот скрипт тоже не даёт результатов ...как сделать то ? 

{literal}
<script>

$( "#add_to_cart" ).click(function() {
 // alert( "Handler for .click() called." );
  ym(757516, 'reachGoal', 'najal_kupit');
});

</script>
{/literal}

 

Link to post
Share on other sites
support
1 час назад, madvolkov сказал:

Обрамляю кнопку так вот , но в яндекс метрику ничего не приходит почему то ?

 


<a href="#" onclick="yaCounter757516.reachGoal('najal_kupit'); return true;"> {$ADD_CART_BUTTON}</a>

 

такой вот скрипт тоже не даёт результатов ...как сделать то ? 


{literal}
<script>

$( "#add_to_cart" ).click(function() {
 // alert( "Handler for .click() called." );
  ym(757516, 'reachGoal', 'najal_kupit');
});

</script>
{/literal}

 

Не знаю, надо смотреть, может у Вас ошибки на странице, может код неправильный.

Ищите примеры готовые и де лайте по аналогии.

Я как-то делал, проблем не было.

Судя по Вашему коду, у Вас кнопка всё равно не рабочая ведь и ничего не делает.

Link to post
Share on other sites
support
1 час назад, madvolkov сказал:

Обрамляю кнопку так вот , но в яндекс метрику ничего не приходит почему то ?

 


<a href="#" onclick="yaCounter757516.reachGoal('najal_kupit'); return true;"> {$ADD_CART_BUTTON}</a>

 

такой вот скрипт тоже не даёт результатов ...как сделать то ? 


{literal}
<script>

$( "#add_to_cart" ).click(function() {
 // alert( "Handler for .click() called." );
  ym(757516, 'reachGoal', 'najal_kupit');
});

</script>
{/literal}

 

Вот посмотрите рабочий пример.

Например здесь - https://vamvelosiped.ru/kupit_pokryshka-kenda-26h195-k847-kross-plus_5-527625.html

Ищите код по goal

 

Link to post
Share on other sites
madvolkov

Да, спасибо. Просто немного изменил вызов функции метрики 

вместо 

ym(757516, 'reachGoal', 'najal_kupit');   которая выдавала ошибку в консоле. сделал так вот:

 

	<script> 
	$( document ).ready(function() {
	$( "#add_to_cart" ).click(function() {
	//alert( "Handler for .click() called." );
	//ym(757516, 'reachGoal', 'najal_kupit');
	yaCounter757516.reachGoal('najal_kupit');
	});
	});
	</script>

теперь всё работает. кнопка кстати тоже рабочая...она аяксом в корзину кладёт товары.

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

Да, спасибо. Просто немного изменил вызов функции метрики 

вместо 

ym(757516, 'reachGoal', 'najal_kupit');   которая выдавала ошибку в консоле. сделал так вот:

 


	<script> 
	$( document ).ready(function() {
	$( "#add_to_cart" ).click(function() {
	//alert( "Handler for .click() called." );
	//ym(757516, 'reachGoal', 'najal_kupit');
	yaCounter757516.reachGoal('najal_kupit');
	});
	});
	</script>

теперь всё работает. кнопка кстати тоже рабочая...она аяксом в корзину кладёт товары.

Не за что.

Хорошо, что разобрались.

Link to post
Share on other sites
  • 1 year later...

Подскажите, есть кнопка запрос консультации, правильно ли настроена форма для метрики?

{literal}<script id="bx24_form_button" data-skip-moving="true">
        (function(w,d,u,b){w['Bitrix24FormObject']=b;w[b] = w[b] || function(){arguments[0].ref=u;
                (w[b].forms=w[b].forms||[]).push(arguments[0])};
                if(w[b]['forms']) return;
                var s=d.createElement('script');s.async=1;s.src=u+'?'+(1*new Date());
                var h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h);
        })(window,document,'https://****.bitrix24.ru/bitrix/js/crm/form_loader.js','b24form');

        b24form({"id":"4","lang":"ru","sec":"bq1eld","type":"button","click":""});
</script>{/literal}<button class="btn btn-secondary onclick="ym(62762593, 'reachGoal', 'bx24_form_button'); data-toggle="tooltip" data-placement="top" title="Оставьте заявку и мы вам перезвоним">Запросить консультацию</button>

 

В таком видео не срабатывает к сожалению может я не так что-то прописал кто вкурсе кто подсказать может

Link to post
Share on other sites
support

Так а в метрике цель "bx24_form_button" создана?!

и зачем в <script> добавлен id="bx24_form_button" !?

Это к метрике не имеет отношения.

Либо вот так ещё, как выше писали, в зависимости от того, какой код метрике, будет работать либо тот либо тот код.

onclick="yaCounter62762593.reachGoal('bx24_form_button');"

 

1 час назад, ZM сказал:

В таком видео не срабатывает к сожалению может я не так что-то прописал кто вкурсе кто подсказать может

 

Link to post
Share on other sites

ок спс буду пробывать, щас вот на кнопку в корзину сначла попробую сделать цель.

  <button class="btn btn-inverse checkout btn-block" onclick="ym(62762593,'reachGoal','cart')"><i class="fas fa-shopping-cart"></i> {$smarty.const.IMAGE_BUTTON_IN_CART}</button>

Так примерно?

image.png

Link to post
Share on other sites
support
4 минуты назад, ZM сказал:

Так примерно?

 

Да

Link to post
Share on other sites

Спасибо, наконец то научился делать то что не мог годами, а все так просто, но это пока только с кнопкой ) 

Link to post
Share on other sites
  • 6 months later...

<div class="col-auto mt-1">
    <a class="btn btn-add-to-cart btn-block{if $IN_WISHLIST} btn-outline-danger text-danger{/if}" href="index.php?action=wishlist_now&BUYproducts_id={$PRODUCTS_ID}" onclick="doWishlistNow('{$PRODUCTS_ID}','1'); return false;" data-toggle="tooltip" title="{if $IN_WISHLIST}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST_IN}{else}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST}{/if}" aria-label="{if $IN_WISHLIST}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST_IN}{else}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST}{/if}"><i class="{if $IN_WISHLIST}fas{else}far{/if} fa-heart"></i></a>
    </div>

Изменилось как то все с последнего раза, как правильно интегрировать onclick="yml.... в какое место вставить ? onclick="ym(***,'reachGoal','bay')

<div class="col-auto mt-1">
    <a class="btn btn-add-to-cart btn-block{if $IN_WISHLIST} btn-outline-danger text-danger{/if}" href="index.php?action=wishlist_now&BUYproducts_id={$PRODUCTS_ID}" onclick="doWishlistNow('{$PRODUCTS_ID}','1'); return false;" data-toggle="tooltip" title="{if $IN_WISHLIST}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST_IN}{else}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST}{/if}" aria-label="{if $IN_WISHLIST}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST_IN}{else}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST}{/if}"><i class="{if $IN_WISHLIST}fas{else}far{/if} fa-heart"></i></a>
    </div>

Изменилось как то все с последнего раза, как правильно интегрировать onclick="yml.... в какое место вставить ? onclick="ym(55667713,'reachGoal','buy')"

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

<div class="col-auto mt-1">
    <a class="btn btn-add-to-cart btn-block{if $IN_WISHLIST} btn-outline-danger text-danger{/if}" href="index.php?action=wishlist_now&BUYproducts_id={$PRODUCTS_ID}" onclick="doWishlistNow('{$PRODUCTS_ID}','1'); return false;" data-toggle="tooltip" title="{if $IN_WISHLIST}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST_IN}{else}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST}{/if}" aria-label="{if $IN_WISHLIST}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST_IN}{else}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST}{/if}"><i class="{if $IN_WISHLIST}fas{else}far{/if} fa-heart"></i></a>
    </div>

Изменилось как то все с последнего раза, как правильно интегрировать onclick="yml.... в какое место вставить ? onclick="ym(***,'reachGoal','bay')

<div class="col-auto mt-1">
    <a class="btn btn-add-to-cart btn-block{if $IN_WISHLIST} btn-outline-danger text-danger{/if}" href="index.php?action=wishlist_now&BUYproducts_id={$PRODUCTS_ID}" onclick="doWishlistNow('{$PRODUCTS_ID}','1'); return false;" data-toggle="tooltip" title="{if $IN_WISHLIST}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST_IN}{else}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST}{/if}" aria-label="{if $IN_WISHLIST}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST_IN}{else}{$smarty.const.IMAGE_BUTTON_IN_WISHLIST}{/if}"><i class="{if $IN_WISHLIST}fas{else}far{/if} fa-heart"></i></a>
    </div>

Изменилось как то все с последнего раза, как правильно интегрировать onclick="yml.... в какое место вставить ? onclick="ym(55667713,'reachGoal','buy')"

Так выше madvolkov показал пример как сделать если уже занят атрибут onclick

Для карточки товара он там пример кода показал.

 

Link to post
Share on other sites

А куда вставить этот скрипт? в какое место? много у одной кнопки кода стало..

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

А куда вставить этот скрипт? в какое место? много у одной кнопки кода стало..

Например в /templates/vamshop4/javascript/local_footer.js.php

Всё осталось тоже самое.

Эта тема ведь про карточку товара.

Link to post
Share on other sites

Вы могли бы привести пример полного кода кнопки с такой меткой?

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

Вы могли бы привести пример полного кода кнопки с такой меткой?

В Админке - Настройки - Вывод товара - Показывать атрибуты товара в списке товара внутри категорий должно стоять true

Откройте шаблон списка товара внутри категорий /templates/vamshop4/module/components/product-card/product-card-attributes.html

и в код кнопки:

			<button class="cart-link-{$module_data.PRODUCTS_ID} btn btn-inverse checkout btn-block{if $smarty.session.cart->in_cart({$module_data.PRODUCTS_ID}) == 1} active{/if}" data-toggle="tooltip" title="{if $smarty.session.cart->in_cart({$module_data.PRODUCTS_ID}) == 1}{$smarty.const.IMAGE_BUTTON_IN_CART_IN}{else}{$smarty.const.IMAGE_BUTTON_IN_CART}{/if}" aria-label="{if $smarty.session.cart->in_cart({$module_data.PRODUCTS_ID}) == 1}{$smarty.const.IMAGE_BUTTON_IN_CART_IN}{else}{$smarty.const.IMAGE_BUTTON_IN_CART}{/if}"><i class="cart-icon-{$module_data.PRODUCTS_ID} {if $smarty.session.cart->in_cart({$module_data.PRODUCTS_ID}) == 1}text-danger fas fa-cart-plus{else}fas fa-shopping-cart{/if}"></i></button>

добавляйте onlick.

Примерно так:

			<button onclick="yaCounterXXXXXX.reachGoal('ваша-цель'); return true;" class="cart-link-{$module_data.PRODUCTS_ID} btn btn-inverse checkout btn-block{if $smarty.session.cart->in_cart({$module_data.PRODUCTS_ID}) == 1} active{/if}" data-toggle="tooltip" title="{if $smarty.session.cart->in_cart({$module_data.PRODUCTS_ID}) == 1}{$smarty.const.IMAGE_BUTTON_IN_CART_IN}{else}{$smarty.const.IMAGE_BUTTON_IN_CART}{/if}" aria-label="{if $smarty.session.cart->in_cart({$module_data.PRODUCTS_ID}) == 1}{$smarty.const.IMAGE_BUTTON_IN_CART_IN}{else}{$smarty.const.IMAGE_BUTTON_IN_CART}{/if}"><i class="cart-icon-{$module_data.PRODUCTS_ID} {if $smarty.session.cart->in_cart({$module_data.PRODUCTS_ID}) == 1}text-danger fas fa-cart-plus{else}fas fa-shopping-cart{/if}"></i></button>

Либо через JS как выше указано.

В этом же файле добавить внизу что-то вроде:

	<script> 
	$(document).ready(function() {
	$("cart-link-{$module_data.PRODUCTS_ID}").click(function() {
	//alert("Handler for .click() called.");
	//ym(XXXXXX, 'reachGoal', 'ваша-цель');
	yaCounterXXXXX.reachGoal('ваша-цель');
	});
	});
	</script>

 

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

Спасибо!

Надеюсь, что разберётесь.

Ничего сложного, на самом деле.

Нужно только основы JS понимать.

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
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.

×
×
  • Create New...