Как установить appVersion для отслеживания событий Google Analytics

Когда я пытаюсь установить appVersion в google analytics, то мое отслеживание событий перестает работать. В частности, я пытаюсь включить версию приложения в отслеживание событий, чтобы узнать, какая версия приложения вызвала событие.

Я попытался установить версию приложения следующим образом:

ga('set', 'appVersion', app.version);

Я пробовал так:

ga('send', 
   'event', 
   eventCategory, 
   eventAction, 
   {'page': pageName, 'appVersion' : app.version });

И я также пробовал альтернативный синтаксис:

ga('send', 
   {'hitType' : 'event',
    'eventCategory' : eventCategory,
    'eventAction' : eventAction,
    'page' : pageName,
    'appVersion' : app.version});

Если я включу appVersion, то отслеживание событий перестанет работать. События не отображаются в режиме реального времени и не отображаются на следующий день в разделе «Поведение/события». Тем не менее, PageViews все еще работает.

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

var app = {
    trackEvent: function (pageName, eventCategory, eventAction, optionalEventLabel, optionalEventValue) {

        var eventObject = {
            'eventCategory' : eventCategory,
            'eventAction' : eventAction,
            'optionalEventLabel' : optionalEventLabel,
            'optionalEventValue' : optionalEventValue,
            'page' : pageName,
        };

        console.log("app.trackEvent - " + JSON.stringify(eventObject));

        ga('send', 'event', eventObject);
    }
}

Я вызываю этот метод из многих мест, используя вызов типа:

app.trackEvent("PageNameValue", "EventCategoryValue", "EventActionValue", "EventLabelValueIfIHaveOne", AnIntegerValueIfIHaveOne);

Любая помощь или предложения будут с благодарностью.

Изменить... Я нашел следующий отчет об ошибке, который кажется применимым: https://code.google.com/p/analytics-issues/issues/detail?id=366 Автор сообщения об ошибке упоминает решение этой проблемы путем настройки специального параметра. . Я попробую.


person Diff    schedule 08.04.2016    source источник
comment
Оба формата мероприятия выглядят хорошо. Возможно, вы захотите установить метку события с appVersion для удобства. Обратите внимание, что если вы установите версию приложения с set, она будет применяться ко всем обращениям на странице. Кроме того, если вы set это сделаете, вам не нужно делать это снова при попадании события (поэтому просто выберите один метод, а не оба). Обычные шаги отладки: проверьте с помощью GA Debugger, проверьте обращения к консоли, убедитесь, что фильтр не установлен.   -  person nyuen    schedule 09.04.2016
comment
Спасибо за ответ нюэн. Спасибо за подтверждение поведения set - мне кажется, это предпочтительнее. Я установил плагин отладчика GA и включил его, но не увидел никакой разницы в выводе консоли. Я, возможно, не ищу в правильном месте для этого. Ctrl + Shift + J, чтобы открыть консоль разработчика Chrome, верно? Когда я посмотрел на вкладку «Сеть» в консоли, я увидел, что запросы событий GA заканчиваются кодом состояния 200, что должно указывать на успех, но, как я уже сказал, отслеживание событий полностью перестанет работать. Я заметил, что мой первоначальный запрос был перенаправлен (код состояния 307)   -  person Diff    schedule 09.04.2016
comment
Идея установки eventLabel с номером версии, я думаю, была бы обходным путем. Я хотел бы, чтобы он работал с фактическим appVersion, чтобы я мог использовать его для фильтрации eventCategory в качестве вторичного измерения.   -  person Diff    schedule 09.04.2016
comment
Я не уверен, почему события перестанут работать. Можете ли вы включить код для ваших последующих событий (т. е. событий, которые должны запускаться после успешного)?   -  person nyuen    schedule 09.04.2016
comment
Приведенный выше код trackEvent в настоящее время работает. Но если я добавлю «appVersion»: «1.0» к вызовам событий отправки, он перестанет работать.   -  person Diff    schedule 10.04.2016


Ответы (3)


Похоже, это ошибка Google Analytics. См. https://code.google.com/p/analytics-issues/issues/detail?id=366 для получения дополнительной информации.

Как было предложено автором сообщения об ошибке, обходным путем является использование пользовательского параметра, который вы определяете в разделе «Администратор» / «Пользовательские определения» / «Пользовательские параметры» консоли Google Analytics.

  1. Нажмите «Новый специальный параметр».
  2. Введите имя (я ввел customAppVersion)
  3. Выберите область (я выбрал Hit)
  4. Нажмите Создать

Затем Google предложит вам примеры кода, например...

var dimensionValue = 'SOME_DIMENSION_VALUE';
ga('set', 'dimension1', dimensionValue);

Единственное, что вам нужно изменить в примере кода, — это значение 'dimensionValue'. Итак, я получил следующий код.

ga('create', 'UA-########-#', 'auto');
ga('set', 'checkProtocolTask', null); // Disable file protocol checking (so that GA will work on Android devices)
ga('set', 'dimension1', app.version);
ga('send', 'pageview');

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

person Diff    schedule 11.04.2016

Согласно гуглу

Поскольку поле appName должно отправляться со всеми обращениями к приложению, часто лучше установить это поле в самом трекере с помощью команды set или, альтернативно, при создании трекера:

ga('create', 'UA-XXXXX-Y', 'auto', {
  'appName': 'myAppName'
});

// The `appName` field is now set on the tracker, so
// screenview hits don't need to include it.
ga('send', 'screenview', {appVersion: '1.2'});

// Sending multiple parameters

ga('send', 'screenview', {appName: 'com.company.app', appVersion: '1.2'});

Подробнее здесь

person Chetan Sharma    schedule 10.04.2016
comment
Спасибо за ответ. К сожалению, я пытаюсь установить appVersion, а не appName. Я еще не пробовал, но отчет об ошибке Я обнаружил, что установка appName также приведет к сбою отслеживания событий. - person Diff; 10.04.2016
comment
Привет, попросите отметить его как правильный ответ, если он действительно решает вашу цель, чтобы другие также могли получить пользу. Огромное спасибо - person Chetan Sharma; 10.04.2016
comment
Я попытался установить appVersion во время создания трекера, как вы предложили, и получил смешанные результаты. Отслеживание событий продолжало работать, но записанные события не содержали ожидаемой информации appVersion. - person Diff; 11.04.2016
comment
Можете ли вы проверить с помощью этого отладчика ga, если запрос не идет от клиента? Этот инструмент доступен для Chrome в качестве расширения. Иногда проблема заключается в отфильтрованном представлении на стороне отчетности? chrome.google.com/webstore/detail/google- аналитика-отладчик/ - person Chetan Sharma; 11.04.2016

Это работает, если вы установите хотя бы «appName», рекомендуется установить «appName» и «appId», прежде чем устанавливать «appVersion».

ga('set', 'appId', app.id);
ga('set', 'appName', app.id);
ga('set', 'appVersion', app.version);
person Vinicius Patrinhani    schedule 10.05.2019
comment
Порядок не важен. - person Serginho; 03.06.2019
comment
???? .. это правда! - person Vinicius Patrinhani; 04.06.2019