Google Analytics API PHP Class


Después de poder echar un vistazo con calma a la Api de Google Analytics he creado una pequeña clase que haga por si sola la mayor parte de los procesos.

Esta clase no se ocupa de sacar datos tabulados, ni complejos gráficos. Se trata de un recurso para programadores que les permita fácilmente y sin tener que entender del todo la API extraer los datos más básicos de sus cuentas de Analytics para mostrarlos en sus administradores o para mezclarlos con sus herramientas de analítica web propias.

La clase permite un uso muy cómodo de los datos de Analytics. Seguidamente un ejemplo:

getMostViewedPages();
$landingPages = $GAnalytics->getLandingPages();
$keywords = $GAnalytics->getKeywords();
?>


Con esto ya dispondríamos de 3 variables con información vital de nuestras webs en los últimos 30 días: Páginas vistas, Número de entradas en nuestras landing pages y número de entradas por keywords concretas.

Esto a un nivel básico ya que la Api de Analytics, sin llegar a darte todavía toda la información de Anaytics es realmente potente y con un poco de práctica podemos llegar a sacar casi cualquier informe.

Actualización 08.05.09

La clase ahora incluye además metodos para crear filtros en las consultas. Ahora la clase permite además de consultas con valores por defecto consultas bastante complejas. Ejemplo:

setAccount( 123456789 ); 
$GAnalytics->setDates( "2009-05-27", "2009-05-28" );

$filter = $GAnalytics->newFilter();
$filter->addANDFilter( "ga:keyword", "=@", "seo" );
$filter->addORFilter( "ga:keyword", "=@", "jquery" );
	
$filteredPageViewsByKeyword = $GAnalytics->requestValues( "ga:keyword", "ga:pageviews", "-ga:pageviews" , $filter, 1, 100);

?>
,

5 respuestas a “Google Analytics API PHP Class”

  1. Si no recuerdo mal, la clase no es muy compleja. Con eliminar antes de cada método y propiedad su definición (public, protected, etc.) deberías poder usarla.

  2. Hola! Tengo una duda importante, a la hora de usar el código me pide un ID de cuenta de Analytics, pues bien me pide un ID numérico y los únicos ID que tengo en mi cuenta son del tipo UA-XXXXXX-XX

    Entonces, qué ID es el que tengo que utilizar para la función «setAccount($accountId)»

    Muchas gracias por la ayuda!

  3. Perdón por el spam, pero he visto que no es ese el problema, si no que la función «getAccounts()», en la línea

    «$data = $this->file_get_contents(‘https://www.google.com/analytics/feeds/accounts/default?start-index=1&max-results=99’);»

    después de ejecutar la función lo que recibo es un error 401 Authorization required, aun después de haber recuperado los datos de conexión con la función «login()», alguna idea?

    Gracias otra vez!

    • Buenas,

      Analytics diferencia internamente dos conceptos que la gente a veces confunde:

      – ID de propiedad: es lo que identifica al codigo que incluyes en analytics (el UA-xxxxx). Este solo sirve como id de captacion de datos.

      – ID de perfil: que es cada uno de los elementos en los que entras a mirar informes en analytics.

      Esto es asi porque a partir de una propiedad, por ejemplo, puedes crear varios perfiles (con mas o menos filtros a los datos: solo ciertas IPs, Solo ciertos paises, etc…) y por tanto a la hora de acceder deberias acceder a los perfiles y no a las propiedades directamente.

      Estos Perfiles tienen IDs numericos pero estan un poco escondidos. COn la api puedes pedir todos los perfiles existententes en tu cuenta. Los imprimes y de ahi sacas el numero a incluir.

      Otra forma es ir al analytics, la versión nueva de analytics. Vas a admin, y ahi a «configuración del perfil». Ahi veras tu id de perfil.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *