Cómo se hizo Rennaisance: Analytics

12 de diciembre de 2011 / Categoría: Desarrollo Leer comentarios Cómo se hizo Rennaisance: Analytics

Hacía tiempo que tenía dentro de la lista de gemas pendientes de probar Garb, un wrapper en Ruby de la API de Google Analytics. Así que cuando comenzó el desarrollo de la primera versión de Rennaisance tenía claro que aprovecharía para incluir una sección de estadísticas ;)

El funcionamiento de Garb es muy sencillo. En primer lugar tenemos que definir las clases que representan los informes que queremos obtener:

class LastWeekReport
  extend Garb::Model

  metrics :visits, :pageviews
  dimensions :date
end

class TopTenReport
  extend Garb::Model

  metrics :visits, :pageviews
  dimensions :page_path
end

Si queréis conocer más sobre las dimensiones y las métricas disponibles es bastante aconsejable que echéis un vistazo a este enlace.

Una vez definidas las clases de nuestros informes podemos hacer uso de ellas en algún controlador de la siguiente manera:

Garb::Session.login("tu-usuario", "tu-pass")
@profile = Garb::Management::Profile.all.detect {|p| p.web_property_id == "UA-1234"}

@last_week_results = LastWeekReport.results(@profile,
  start_date: (Date.today - 7),
  end_date: Date.today
)

@top_ten_results = TopTenReport.results(@profile,
  start_date: (Date.today - 30),
  end_date: Date.today, limit: 10,
  sort: :pageviews.desc
)

En mi caso las estadísticas son las visitas de los 7 últimos días y los 10 enlaces más visitados de la web. Creo que no hace falta explicar que "tu-usuario", "tu-pass" y el "UA-1234" no son valores reales, sino que hay que cambiarlos por los valores reales de vuestra aplicación ;)

Teniendo un poco de imaginación se pueden sacar informes todo lo complejos que necesitéis.

  • Comparte esto

  • Histórico