Не работает статистика

Автор slavpas, 05 июля 2015, 17:57:21

« назад - далее »

slavpas

Добрый день. Проблема с 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}

VictorD

Не знаю как вы добавляли код, но если через модуль, тогда нужно сделать следующее.
В файле /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}


slavpas

Можете сбросить модуль?
В моей версии нет "/hook/header.tpl"

Vasiy

#3
Пишите версию.
Возможно так:
/modules/ganalytics/header.tpl
Не боги горшки обжигают, не зачем им такой хренью заниматься.

Svan


slavpas

Сделал, как вы написали.
И у меня получился такой скрипт:

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

Но всё равно не работает электронная коммерция. В чём может быть ошибка?
Заранее спасибо!

Цитата: VictorD от 05 июля 2015, 19:43:16
Не знаю как вы добавляли код, но если через модуль, тогда нужно сделать следующее.
В файле /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}


slavpas


Миколас

В аналитик счетчик видит?

Виталий

Если вы используете модуль  ganalytics (v2.1.1), то ничего в нем исправлять не нужно. Установите модуль, в настройках модуля укажите свои данные GA. И все должно работать. Если не работает, проверьте сайт на ошибки и видимость сайта в инструментах веб мастера в google.
Cоздание интернет сайтов Webstudio UwK

mistral

Выкладываю модуль ganalytics, который работает без проблем. Удалите свой и установите этот.

andreysneg

#10
Спасибо - модуль этот работает. Только надо отключить расположение JS в конце.

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