Отслеживание вызовов JSON с помощью Google Analytics в приложении Ruby / Rails - PullRequest
7 голосов
/ 28 ноября 2010

Я много искал об этой проблеме, но не могу найти ничего хорошего. Я думаю, что это общая проблема: у вас есть веб-приложение и выстраиваете JSON API поверх вашей платформы, поэтому вы можете разрабатывать некоторые виджеты, мобильные приложения или сторонние приложения.

Я знаю, что есть много специальных аналитических сервисов через API (например, Mixpanel, Kissmetrics и многие другие), но я хочу отслеживать все вызовы JSON также через Google Analytics.

Я обнаружил, что лучший способ - использовать изображение __utm.gif, но странным образом я не могу найти плагин или гем для использования этого изображения. Поэтому я попытался создать свой собственный метод без успеха (см. Код ниже) ... Кто-то может помочь?

def google_analytics_call(page_title)
      today = Time.now.to_i
      utma = cookies[:__utma].to_s
      utmb = cookies[:__utmb].to_s
      utmc = cookies[:__utmc].to_s
      utmz = cookies[:__utmz].to_s
      utma = (rand(8).to_s + "." + rand(10).to_s + "." + today.to_s + "." + today.to_s+ "." + today.to_s) unless cookies[:__utma]
      utmb = rand(8).to_s unless cookies[:__utmb]
      utmc = rand(8).to_s unless cookies[:__utmc]
      utmz = rand(8).to_s+ "." + today + ".2.2.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)" unless cookies[:__utmz]

      Thread.new do
        params = {
          :utmac => GOOGLE_ANALYTICS,
          :utmcc => "__utma%3D"+utma+"%3B%2B"+"__utmb%3D"+utmb+"%3B%2B"+"__utmc%3D"+utmc+"%3B%2B"+"__utmz%3D"+utmz+"%3B%2B",
          :utmcn => "1",
          :utmcs => "-",
          :utmdt => page_title, #page title
          :utmhn => BASE_URL,
          :utmwv => 1,
          :utmt => "page",
          :utmr => request.referer
        }
        puts params

        http_get("www.google-analytics.com", "/__utm.gif", params)
      end
    end

Ответы [ 2 ]

3 голосов
/ 24 января 2011

Не быстрый ответ, но я думаю, что вы должны попробовать Габба Джем

3 голосов
/ 28 ноября 2010

Я думаю, вы хотите использовать асинхронный трекер, который является частью Google Analytics.Вот пример того, как я отслеживаю клики, которые запускают асинхронное событие AJAX:

$('.trackable').bind('click', function(event){
              var action = $(this).attr('action');
              var category = $(this).attr('category');
              _gaq.push(['_trackEvent', action, category]);
            });

"_gaq" - это асинхронная очередь google, которую можно добавить в любую функцию JS, в которой вы хотите отслеживать показатели.Вышеприведенная функция позволяет добавить класс с именем «trackable» и отслеживать события, когда пользователь нажимает на него.Пример выглядит так:

<a category='FEATURED' action='Like This' class='trackable' href="http://MYSSERVER.com/foo.json" target='_blank'>track asynchronously.</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...