Analytics
Сейчас в сети: 1.7K
Сейчас в сети: 1.7K
Настройка целей, отслеживание электронной торговли, многоканальные последовательности и тд
Подсказки
star_border
Ответить

Не все заказы передаются в ГА

Студент ✭

Доброго времени суток, столкнулся с проблемой, что не все заказы передаются в аналитику, найти различий между данными не могу.

Работает через gtm.

Данные которые не влияют, проверено:

- пустое значение brand

- пустое значение coupon

- устройство, с которого сделали заказ.

Объект заказа, который не дошёл до гугла https://yadi.sk/i/-wQ9Da0B3Q7Gtb

Объект заказа, который присутствует в отчётах https://yadi.sk/i/7h0e1Mld3Q7HEV

Сам объект генерируется на php, затем в json.

Из скрипта только пуш в dataLayer.

 

На ту же страницу, где идёт отправка данных настроена цель, с ней всё хорошо, она отрабатывает, что я так понимаю исключает ошибки с js.

Заранее большое спасибо.

 

1 Ответ экспертаverified_user
1 УТВЕРЖДЕННОЕ РЕШЕНИЕ

Утвержденные решения
Лучший ответ.
Решение
Утвердил автор темы Павел П
Декабрь

Re: Не все заказы передаются в ГА

Ведущий участник

Буду проверять вашу гипотезу. Но т.к. у нас gtm, я так понимаю объект передаётся всё равно весь, или отправляется каждый элемент массива отдельно?

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

Получится, примерно, вот такая конструкция

dataLayer.push({
  'event': 'purchase',
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': 'T12345',
        'affiliation': 'Online Store',
        'revenue': '35.43',
        'tax':'4.90',
        'shipping': '5.99'
      },
      'products': [{
        'name': 'Товар 1',
        'id': '12345',
        'price': '15.25',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Gray',
        'quantity': 1,
        'coupon': ''
       },
       {
        'name': 'Товар 2',
        'id': '67890',
        'price': '33.75',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Black',
        'quantity': 1
       }]
    }
  }
});


dataLayer.push({
  'event': 'purchase',
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': 'T12345',
        'affiliation': 'Online Store',
        'revenue': '35.43',
        'tax':'4.90',
        'shipping': '5.99'
      },
      'products': [{
        'name': 'Товар 3',
        'id': '12345',
        'price': '15.25',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Gray',
        'quantity': 1,
        'coupon': ''
       },
       {
        'name': 'Товар 4',
        'id': '67890',
        'price': '33.75',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Black',
        'quantity': 1
       }]
    }
  }
});

 

Тогда GTM отправит N событий в GA и каждое событие захватит с собой нужный массив с товарами.

 

 

Тогда ещё вопрос, у меня передаются ещё шаги из расширенной ЭК, там также передаю все товары,
их можно разделять по тому же принципу? Просто делать идентичные объекты только с разными товарами?

Можно попробовать схитрить и передать лишь первые N товаров (N число на ваше усмотрение, я бы взял 2-3 товара).

 

 

 




С уважением,
Анатолий

Просмотреть решение в исходном сообщении

Не все заказы передаются в ГА

Ведущий участник

Добрый день, Павел!

 

Т.к. объем заказов не маленький (не 1 или 2 товара за 1 заказ), то может срабатывать ограничение на количество данных в запросе к серверу Google.

 

Для тестирования этой гипотезы: разбейте все заказы на 3 товара (например) и отправляйте один заказа за N/3 количество запросов (где N - количество товаров в корзине).

Например, заказ состоит из 12 товаров. Вы разделяете на 3 состав заказа и отправляете 4 одинаковые транзакции, но при этом меняете состав. По идее, должно сработать, но нужно обязательно протестировать.

 

P.S. Мне кажется, еще нужно добавить параметр 'revenue' в 'actionField'.  В данном случае, я точно не помню надо ли отправлять каждый раз всю сумму в revenue или Google сам сложит это значение на основании единого ID транзакции.




С уважением,
Анатолий

Re: Не все заказы передаются в ГА

Студент ✭

Спасибо за ответ.

P.S. Мне кажется, еще нужно добавить параметр 'revenue' в 'actionField'.  В данном случае, я точно не помню надо ли отправлять каждый раз всю сумму в revenue или Google сам сложит это значение на основании единого ID транзакции.

Параметр был ранее, убрал пока его, ничего не изменилось.

 

Буду проверять вашу гипотезу. Но т.к. у нас gtm, я так понимаю объект передаётся всё равно весь, или отправляется каждый элемент массива отдельно?

Тогда ещё вопрос, у меня передаются ещё шаги из расширенной ЭК, там также передаю все товары,

их можно разделять по тому же принципу? Просто делать идентичные объекты только с разными товарами?

 

Лучший ответ.
Решение
Утвердил автор темы Павел П
Декабрь

Re: Не все заказы передаются в ГА

Ведущий участник

Буду проверять вашу гипотезу. Но т.к. у нас gtm, я так понимаю объект передаётся всё равно весь, или отправляется каждый элемент массива отдельно?

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

Получится, примерно, вот такая конструкция

dataLayer.push({
  'event': 'purchase',
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': 'T12345',
        'affiliation': 'Online Store',
        'revenue': '35.43',
        'tax':'4.90',
        'shipping': '5.99'
      },
      'products': [{
        'name': 'Товар 1',
        'id': '12345',
        'price': '15.25',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Gray',
        'quantity': 1,
        'coupon': ''
       },
       {
        'name': 'Товар 2',
        'id': '67890',
        'price': '33.75',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Black',
        'quantity': 1
       }]
    }
  }
});


dataLayer.push({
  'event': 'purchase',
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': 'T12345',
        'affiliation': 'Online Store',
        'revenue': '35.43',
        'tax':'4.90',
        'shipping': '5.99'
      },
      'products': [{
        'name': 'Товар 3',
        'id': '12345',
        'price': '15.25',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Gray',
        'quantity': 1,
        'coupon': ''
       },
       {
        'name': 'Товар 4',
        'id': '67890',
        'price': '33.75',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Black',
        'quantity': 1
       }]
    }
  }
});

 

Тогда GTM отправит N событий в GA и каждое событие захватит с собой нужный массив с товарами.

 

 

Тогда ещё вопрос, у меня передаются ещё шаги из расширенной ЭК, там также передаю все товары,
их можно разделять по тому же принципу? Просто делать идентичные объекты только с разными товарами?

Можно попробовать схитрить и передать лишь первые N товаров (N число на ваше усмотрение, я бы взял 2-3 товара).

 

 

 




С уважением,
Анатолий

Не все заказы передаются в ГА

Студент ✭

Спасибо, идея ясна. Будем пробовать.

 

Не все заказы передаются в ГА

Студент ✭ ✭ ✭

еще можно посмотреть на кол-во взаимодействий на сеанс. Лимит (если не ошибаюсь) 500 взаимодействий на 1 сеанс. Т.е. просмотр страницы или любое событие которое передается (часто если настроена передача clientID на хиты или ошибки JS) это взаимодействие. Выбрали лимит - запись сеанса прекращается. Если после этого произойдет транзакция - она не запишется к сеансу.

Не все заказы передаются в ГА

Студент ✭

Спасибо, за информацию.

Я так понимаю, одно взаимодействие это 1 элемент в dataLayer.

500 на самом деле цифра не маленькая, думаю у нас столько не соберётся.

Что данных отправляется в одном запросе много - это факт, будем прорабатывать сначала эту теорию, но спасибо за идею.

 

p.s. Вообще по другим целям аналитики, я пошёл чуть другим путём, я не стал делать пуши на любой тригер, а просто отсылаю результат в onbeforeunload, но это не касается страницы отправки данных по заказу.

Не все заказы передаются в ГА

Студент ✭

Здравствуйте, спасибо за совет. Ваша идея сработала.

Единственное что меня сейчас смущает, так это то что достижений цели покупки стало куда больше, за счёт того, что мы их отправляем по 3 товара. 

Не все заказы передаются в ГА

Ведущий участник

В принципе, можно отказаться от целей и использовать "Транзакции" в качестве цели.

 

Или, как вариант, всегда последнее событие делать не "purchase", а "purchaseOK". И настроить событие для цели на "purchaseOK", а событие для транзакций как "содержит purchase".

 

Это решение на коленке Веселый




С уважением,
Анатолий