Universal Analytics - выдвигать несколько значений для одного измерения и одного просмотра страницы

Я пытаюсь использовать универсальную аналитику Google и ее нестандартные размеры.

На одной странице я хочу отправить несколько значений для одного (и только одного) измерения.

Я старался:

ga('send', 'pageview', {'dimension1': 'grumpy cat'})
ga('send', 'pageview', {'dimension1': 'happy cat'})

Когда я использую Google API, я могу получить для моего измерения1 все только что отправленные значения, так что это работает хорошо.

Однако я думаю (я не уверен в этом), что я не должен посылать несколько раз попадания при просмотре одной и той же страницы, потому что это нарушит метрику просмотра страницы.

Поэтому я попытался использовать собственную метрику (в конце концов, просмотр страницы - это метрика):

ga('send', 'metric1', {'dimension1': 'grumpy cat'})
ga('send', 'metric1', {'dimension1': 'happy cat'})

Но этот не работает вообще:(Кажется, ga.('send'... только принимает pageview но это странно (зачем указывать pageview в аргументах, если это единственное возможное значение?)

Как я могу решить мою проблему? Это просто проблема синтаксиса, это невозможно с пользовательским измерением / пользовательской метрикой? Могу ли я на самом деле использовать pageview сделать это? Должен ли я использовать пользовательские события вместо этого?

Спасибо!

* редактировать *

Я на самом деле узнал, что могу использовать событие с меткой вроде:

ga('send', 'event', 'cat', 'view', 'grumpy')
ga('send', 'event', 'cat', 'view', 'happy')

(Если кто-то может подтвердить это или есть комментарии, я был бы счастлив с этим)

1 ответ

Решение

У меня была похожая проблема некоторое время назад. Дело в том, что вы не можете поместить несколько значений в одну пользовательскую переменную (измерение или метрику) как в Google Analytics (GA), так и в Universal Analytics (UA). Что происходит, когда вы помещаете более одного значения в пользовательскую переменную, измерение или метрику для одной страницы (или сеанса, или пользователя, в зависимости от области действия пользовательской переменной, измерения или метрики, если вы используете UA), так это последнее зарегистрированное значение является единственным, которое записывается. Последнее значение переопределяет ранее установленное значение. Итак, вы попытались записать два просмотра страницы с 2 различными значениями для вашей пользовательской переменной (или измерения).

В вашем случае, скажем, человек загружает страницу результатов поиска после включения двух категорий, grumpy cat а также happy catи вы хотите записать их оба в пользовательскую переменную или измерение, дважды сообщив о переменной (или измерении), и если вы отправите их в указанном вами порядке,

ga('send', 'pageview', {'dimension1': 'grumpy cat'});
ga('send', 'pageview', {'dimension1': 'happy cat'});

вы просто записываете два разных просмотра страниц (что приведет к искажению ваших отчетов бесчисленными способами, в зависимости от количества или категорий, которые вы можете иметь). Например, если человек посещает более 5 категорий, у вас будут повторяющиеся просмотры страниц, и ваше время на странице будет резко сокращено, так как в соответствии с UA (или GA) эти просмотры страниц (за исключением последней) будут длиться меньше чем одна секунда.

Кроме того, любые события, которые вы хотите связать с этими пользовательскими переменными (или измерениями), будут связаны только с последним просмотренным просмотром страницы или пользовательской переменной (или измерением). Например, если вы настроили отслеживание событий, чтобы определить, сколько людей взаимодействовало с результатами поиска, и хотите ли вы затем фильтровать по категориям (dimension1 в вашем случае сейчас), чтобы узнать, сколько людей взаимодействовало со страницей, когда dimension1 равняется grumpy cat вы получите 0, так как события были бы записаны только для просмотра страницы с ddimension1 равно happy cat потому что это была страница, которую, по мнению GA (или UA), просматривал пользователь при запуске события, и эта страница имела только dimension1 установлен в happy cat, Поскольку эти два звонка asyncна самом деле вы никогда не сможете узнать, были ли отправлены события на просмотр страницы, на который вы, как вы думаете, пришли, даже как я объяснил.

Лучший способ записать данные такого типа - использовать имена категорий в кодировке url, разделенные пробелами и также пробел, добавленный в конец списка. Например, вы должны отправить просмотр страницы как,

ga('send','pageview',{'dimension1':'grumpy-cat happy-cat '});

или лучше, как,

ga('set',{'dimension1':'grumpy-cat happy-cat '});
ga('send','pageview');

Обратите внимание на пространство в конце также. Это дополнительное пространство позволяет фильтровать любой отчет на основе пользовательской переменной, используя reg-ex <categoryName>\s, Например, чтобы узнать, сколько людей просматривали страницу с категорией "Сердитый кот", вы отфильтруете свой отчет так, чтобы dimension1 соответствует регулярному выражению grumpy\-cat\s, Я сбежал - символ в регулярном выражении, используя \-, а также \s обозначает пробельный символ. Хорошая вещь, такой отчет принесет вам все просмотры страниц (или все, что вы хотите посмотреть), те, которые только grumpy cat как название категории, а также те страницы, которые имеют grumpy cat в категориях, к которым относится страница.

Способ добавления подкатегорий заключается в отправке измерений в виде cat1 cat1-subcat1 cat1-subcat2 cat2 cat2-subcat1 так что регулярное выражение cat1\s будет заботиться обо всех страницах уровня категории, тогда как регулярное выражение cat1 позаботится о всех страницах, которые имеют категорию cat1 или которые имеют подкатегорию, принадлежащую cat1,

Надеюсь, это поможет.:)

Кстати, использование событий для просмотра страницы, содержащей категорию, не является хорошим способом ее записи. Потому что, если вы назначаете измерения (и это одна из причин, по которой были введены пользовательские измерения, поскольку разные сайты имеют разные категории и Google не может назвать все), ваши события также будут нести размеры страницы, и это очень поможет. определить, какие категории нуждаются в чем, просто сегментируя ваши отчеты, в вашем случае, dimension1, Например, вы узнаете, в какой категории чаще всего посещают SEO, а в какой - с лучшими показателями конверсии, и тому подобное. Приятного анализа!:)

Как уже было сказано ранее, вы не можете отправить сразу несколько значений. Однако это всего лишь признак того, что подход к сбору данных о событиях неправильный, то есть это больше не событие просмотра страницы. Мой случай был другим, но решение распадается следующим образом:

  • У вас есть несколько значений, которые нужно ввести в UA одновременно, например такие черты кошки, как белый, сварливый, голодный.
  • Теперь вы действительно понимаете, что это не событие просмотра страницы, а скорее еще одно измерение - просмотры / условия / особенности кошек - назовите его как хотите;
  • Вы создаете в своем GTM настраиваемое событие, называемое "cat-condition";
  • Вы создаете новую метку в GTM, которая собирает кошек.
  • Вы создаете этот специальный параметр в GA и GTM, и каждый раз, когда вам нужно записывать состояние кошек, вы делаете что-то похожее на следующее (чрезвычайно упрощенный пример кода)
['white', 'grumpy', 'hungry'].forEach(condition =>
     dataLayer.push({event: 'cat-condition', condition})
)

Фрагмент кода предполагает, что на странице настроен контейнер GTM для включения уровня данных.

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

Другие вопросы по тегам