Настройка расширенной e-commerce в Google Analytics

241
01 марта 2017, 21:30

Друзья, проблема такая:

Есть хедер сайта где установлен код счетчика:

(Детали упустил показываю код где подключен плагин)

<head>
//код самого счетчика
//Плагины
          ga("create", "UA-XXXXXX-1", {"cookieDomain" : "xxx.com"});
          ga("require", "displayfeatures");
          ga("require", "ec");
          ga("send", "pageview");
</head>

Далее у меня идет страница с циклом товаров. В новой области видимости я заполняю информацию для передачи в GA

<body>
    {
      //Цикл вывода товаров на главной
     //Формирую информацию о товаре для передачи в га
     ga("ec:addImpression", {
     "id": "1",
     "name": "Тестовый товар",
     "price": "1",
     "brand": "Брэнд",
     "category": "Категория",
     "position": "1",
     "list": "Главная страница"
     });
    }

Как говорится в документации к плагину эл. коммерции, данные нужно передавать либо с ga("send", "pageview"); либо с каким то ивентом.

После выхода из цикла товаров я пробую отправить ивент:

ga("send", "event", "Главная страница", "Просмотр акций", {"nonInteraction": true});
</body>

Как показали мои тесты, данные о просмотрах товаров НЕ ВЫГРУЖАЮТСЯ в полном объеме, и не соответствуют количеству реальных просмотров.

Затем я решил сделать так. Я добавил информацию о предложенном товаре в шапке сайта перед ga("send", "pageview");

Мой код выглядел след. образом

<head>
    //код самого счетчика
    //Плагины
              ga("create", "UA-XXXXXX-1", {"cookieDomain" : "xxx.com"});
              ga("require", "displayfeatures");
              ga("require", "ec");
//Формирую информацию о товаре для передачи в га
         ga("ec:addImpression", {
         "id": "1",
         "name": "Тестовый товар",
         "price": "1",
         "brand": "Брэнд",
         "category": "Категория",
         "position": "1",
         "list": "Главная страница"
         });
              ga("send", "pageview");
    </head>

Потом я перезагрузил страницу ровно 10 раз, и спустя несколько минут я уже получил ровно 10 просмотров по этому товару в Google Analytics.

Собственно суть вопроса:

Как мне сделать так что бы данные передавались нормально. Вариант решения проблемы - сделать функцию для вывода цикла и сначало вызвать ее в хедере для оформления инфо о товаре а потом уже на странице при реальном выводе, но это бред! я не думаю что кто то этим занимается. Я пробовал даже вынести

ga("send", "pageview");

в футер сайта, тоесть отправлять все в GA тогда когда страница полностью загружена и отображена, но это не принесло никакого результата. С таким способом данные по прежнему приходят не полностью, и криво.

Можно после цикла заполнения информации опять послать

ga("send", "pageview");

Но мне кажется это не корректно, так как страница загрузилась 1 раз, но информация получается попадает 2 раза!

Прошу помочь решить вопрос!

READ ALSO
vuejs кастом директива с директивами в нутри

vuejs кастом директива с директивами в нутри

Как можно в кастом директиве через innerHTML задать хтмл с другими директивами или интерполяцией:

228
Вопроизведение только одного ролика youtube на странице

Вопроизведение только одного ролика youtube на странице

Есть страница, на которой несколько видео с youtubaВидео выводятся с помощью foreach

262
Добавить класс корзине если она не пуста

Добавить класс корзине если она не пуста

Добрый день всем! Помогите решить проблему) Есть кусок кода

226
Не получается отправить post запрос json

Не получается отправить post запрос json

В приведённом вами коде нет ошибок, вот рабочий пример:

296