Подтвердить что ты не робот

Ember.js и Google Analytics

Я хотел получить окончательный ответ здесь для более поздней справки о том, что у нас стабильный Ember RC. Комбинация двух лучших результатов поиска для emberjs google analytics показывает, что это хороший способ отслеживать изменения маршрута:

App.ApplicationController = Ember.Controller.extend
  routeChanged: ( ->
    return unless window._gaq
    Em.run.next ->
      page = if window.location.hash.length > 0 then window.location.hash.substring(1) else window.location.pathname
      _gaq.push(['_trackPage', page])
  ).observes('currentPath')

но затем я также вижу результаты использования отслеживания событий для одностраничных веб-приложений.

Я еще не тестировал приведенный выше код, для распространения изменений на панели инструментов GA требуется несколько часов. Обновление. Это не отображается под Категория контента на моей панели инструментов Google Analytics. Ни в разделе "Страницы", ни "События".

Если у кого-нибудь есть совет или есть что-то, что я пропускаю, то дайте мне знать. Я также могу PR-руководство для веб-сайта на основе ответов здесь.

4b9b3361

Ответ 1

Я бы использовал _trackPageview для вещей, которые имеют маршрутизируемые URL-адреса и _trackEvent для вещей, которые этого не делают.

В Отслеживание событий, когда они ссылаются на "Элементы страницы встроенного AJAX". Они не означают SPA, а скорее те случаи, когда URL-адрес остается прежним, но какое-то событие, которое вы хотите отслеживать, происходит на странице (в случае с AJAX).

Могут быть и другие случаи, когда имеет смысл использовать _trackEvent, но для переходов маршрута я использую _trackPageview.

Ответ 2

Алекс ДиЛиберто дал очень хороший разговор о надежном и масштабируемом способе добавления Google Analytics в приложение ember в своем разговоре EmberConf 2014 здесь. - Слайды - GitHub

App.ApplicationRoute = Ember.Route.extend({
   actions: {
     didTransition: function() {
       Ember.run.once(this, function() {
         ga('send', 'pageview', this.router.get('url'));
       });
     }
   }
});

Разговор был направлен на независимость от того, какая библиотека аналитики была использована.

В настоящее время существует официальная Cookbook Ember по внедрению Google Analytics здесь.

Ответ 3

Использование routeChanged() не является хорошим способом отслеживать динамические сегменты, такие как /category/food/category/something, поскольку он будет запущен только один раз. Я написал статью об этом здесь: http://www.randomshouting.com/2013/05/04/Ember-and-Google-Analytics.html. Я также консультировался с ребятами из Ember и подтвердил, что это действительно правильный способ отслеживать изменения URL-адресов для Google Analytics.

Ответ 4

Большинство из этих ответов устарели. Вы должны использовать mixin и добавить его в свой маршрутизатор, чтобы прослушать событие didTransition и запустить свой просмотр страницы там. Таким образом, он обрабатывается для всех маршрутов. Есть несколько аддонов, в том числе один, который я написал, называемый ember tracker, который дает вам pageviews и отслеживание событий вне коробки.

Вы можете видеть, как я это сделал здесь. Это довольно прямолинейно.