Автор Тема: Не работает статистика  (Прочитано 377 раз)

05 Июля 2015, 17:57:21
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день. Проблема с Google E-commerce. Магазин: http://mfest.com.ua/
Вставил свой скрипт в шаблон, настроил его, но почему то статистика не отображается в Гугл аналитиксе.
Подскажите пожалуйста, где ошибка в скрипте. Заранее спасибо!
{if $isOrder eq true}
{literal}
<script type="text/javascript">
ga('create', 'UA-39553970-1', 'auto');
ga('require', 'ecommerce', 'ecommerce.js');
ga('ecommerce:addTransaction', {
'id': '{$trans.id}',
'affiliation': '{$trans.store}',
'revenue': '{$trans.total}',
'shipping' => '{$trans.shipping}',
'tax' => '{$trans.tax}'
});
{foreach from=$items item=item}
ga('ecommerce:addItem',{
'id': '{$item.OrderId}',
'name': '{$item.Product}',
'sku': '{$item.SKU}',
'price': '{$item.Price}',
'quantity': '{$item.Quantity}'
});
{/foreach}
{literal}
gaq.push(['_trackTrans']);       
ga('ecommerce:send');
  {/literal}
{literal}
(function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})(); {/literal}
</script>
{/literal}
{/if}
05 Июля 2015, 19:43:16
Ответ #1
  • Фрилансер
  • *
  • Сообщений: 113
  • Репутация: +3/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не знаю как вы добавляли код, но если через модуль, тогда нужно сделать следующее.
В файле /modules/ganalytics/views/templates/hook/header.tpl
заменить
ga('create', '{$ganalytics_id|escape:'htmlall':'UTF-8'}'{if isset($pageTrack)}, '{$pageTrack|escape:'htmlall':'UTF-8'}'{/if});

{if $isOrder eq true}
ga('require', 'ecommerce', 'ecommerce.js');
{else}
ga('send', 'pageview');
{/if}

{if $isOrder eq true}
ga('ecommerce:addTransaction', {
на
ga('create', '{$ganalytics_id|escape:'htmlall':'UTF-8'}');
   
  {if isset($pageTrack)}
ga('send', 'pageview', {
'page': '{$pageTrack|escape:'htmlall':'UTF-8'}'
{if isset($pageTitle)},'title': '{$pageTitle|escape:'htmlall':'UTF-8'}'{/if}
});
  {else}
ga('send', 'pageview');
  {/if}

    {if $isOrder eq true}
    ga('require', 'ecommerce', 'ecommerce.js');
    ga('ecommerce:addTransaction', {

В файле /modules/ganalytics/ganalytics.php добавить
$this->context->smarty->assign('pageTrack', '/order-confirmation.php');
Если посмотреть код страницы, то должно быть следующее
{if $isOrder eq true}
    ga('require', 'ecommerce', 'ecommerce.js');
{else}
    ga('send', 'pageview');
{/if}
05 Июля 2015, 20:01:05
Ответ #2
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Можете сбросить модуль?
В моей версии нет "/hook/header.tpl"
05 Июля 2015, 20:50:34
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 974
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Пишите версию.
Возможно так:
/modules/ganalytics/header.tpl
Не боги горшки обжигают, не зачем им такой хренью заниматься.
05 Июля 2015, 21:07:00
Ответ #4
  • Пользователь
  • **
  • Сообщений: 66
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Можете сбросить модуль?
В моей версии нет "/hook/header.tpl"
https://github.com/PrestaShop/ganalytics
06 Июля 2015, 14:16:36
Ответ #5
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Сделал, как вы написали.
И у меня получился такой скрипт:
<script type="text/javascript">

ga('create', '{$ganalytics_id|escape:'htmlall':'UTF-8'}');
   
  {if isset($pageTrack)}
ga('send', 'pageview', {
'page': '{$pageTrack|escape:'htmlall':'UTF-8'}'
{if isset($pageTitle)},'title': '{$pageTitle|escape:'htmlall':'UTF-8'}'{/if}
});
  {else}
ga('send', 'pageview');
  {/if}

    {if $isOrder eq true}
    ga('require', 'ecommerce', 'ecommerce.js');
    ga('ecommerce:addTransaction', {
    '{$trans.id}', {* order ID - required *}
    '{$trans.store}', {* affiliation or store name *}
    '{$trans.total}', {* total - required *}
    '{$trans.tax}', {* tax *}
    '{$trans.shipping}', {* shipping *}
    '{$trans.city}', {* city *}
    '{$trans.state}', {* state or province *}
    '{$trans.country}' {* country *}
  });

{foreach from=$items item=item}
ga('ecommerce:addItem',{
'{$item.OrderId}', {* order ID - required *}
'{$item.SKU}', {* SKU/code - required *}
'{$item.Product}', {* product name *}
'{$item.Category}', {* category or variation *}
'{$item.Price}', {* unit price - required *}
'{$item.Quantity}' {* quantity - required *}
});
{/foreach}
{* submits transaction to the Analytics servers *}
{literal}
ga('ecommerce:send');
{/literal}
{/if}
Но всё равно не работает электронная коммерция. В чём может быть ошибка?
Заранее спасибо!

Не знаю как вы добавляли код, но если через модуль, тогда нужно сделать следующее.
В файле /modules/ganalytics/views/templates/hook/header.tpl
заменить
ga('create', '{$ganalytics_id|escape:'htmlall':'UTF-8'}'{if isset($pageTrack)}, '{$pageTrack|escape:'htmlall':'UTF-8'}'{/if});

{if $isOrder eq true}
ga('require', 'ecommerce', 'ecommerce.js');
{else}
ga('send', 'pageview');
{/if}

{if $isOrder eq true}
ga('ecommerce:addTransaction', {
на
ga('create', '{$ganalytics_id|escape:'htmlall':'UTF-8'}');
   
  {if isset($pageTrack)}
ga('send', 'pageview', {
'page': '{$pageTrack|escape:'htmlall':'UTF-8'}'
{if isset($pageTitle)},'title': '{$pageTitle|escape:'htmlall':'UTF-8'}'{/if}
});
  {else}
ga('send', 'pageview');
  {/if}

    {if $isOrder eq true}
    ga('require', 'ecommerce', 'ecommerce.js');
    ga('ecommerce:addTransaction', {

В файле /modules/ganalytics/ganalytics.php добавить
$this->context->smarty->assign('pageTrack', '/order-confirmation.php');
Если посмотреть код страницы, то должно быть следующее
{if $isOrder eq true}
    ga('require', 'ecommerce', 'ecommerce.js');
{else}
    ga('send', 'pageview');
{/if}
09 Июля 2015, 00:33:33
Ответ #6
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Никто не подскажет? :(
09 Июля 2015, 10:15:09
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 2517
  • Репутация: +58/-4
  • Сообщество PrestaShop
    • Просмотр профиля
В аналитик счетчик видит?
09 Июля 2015, 10:32:45
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 105581
  • Репутация: +39547/-0
    • Просмотр профиля
    • Webstudio UwK
Если вы используете модуль  ganalytics (v2.1.1), то ничего в нем исправлять не нужно. Установите модуль, в настройках модуля укажите свои данные GA. И все должно работать. Если не работает, проверьте сайт на ошибки и видимость сайта в инструментах веб мастера в google.
Cоздание интернет сайтов Webstudio UwK
09 Июля 2015, 10:36:33
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 763
  • Репутация: +6/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Выкладываю модуль ganalytics, который работает без проблем. Удалите свой и установите этот.
20 Ноября 2015, 13:31:31
Ответ #10
  • Фрилансер
  • *
  • Сообщений: 191
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо - модуль этот работает. Только надо отключить расположение JS в конце.

Дефолтный не работает никак.