2010-11-12 14 views
3

J'utilise GAPI pour essayer de créer des rapports simples à partir de nos données Google Analytics. Mon client interne aimerait avoir un aperçu avec 2 champs par page: pages vues et visiteurs uniques. J'ai une partie des pages vues qui fonctionne, mais je n'arrive pas à faire travailler les visiteurs uniques. Ceci est mon code actuel. Le filtre serait un paramètre qu'ils peuvent changer, mais pour l'instant hardcoded:Créer un rapport avec pages vues et visiteurs uniques en utilisant GAPI

require 'gapi.class.php'; 

$ga = new gapi(ga_email,ga_password); 

$filter = 'pagepath =~ ^/home$'; 
$ga->requestReportData(ga_profile_id, 
         array('pagepath'), 
         array('pageviews'), 
         'pageviews', 
         $filter, 
         '2010-10-01', 
         '2010-10-31'); 

puis un code pour afficher les résultats qui n'est pas vraiment pertinent ici. Comme l'a dit, cela fonctionne, mais si j'ajoute des « visiteurs » à la métrique comme ceci:

$ga->requestReportData(ga_profile_id, 
         array('pagepath'), 
         array('pageviews','visitors'), 
         '-pageviews', 
         $filter, 
         '2010-10-01', 
         '2010-10-31'); 

Puis-je obtenir cette erreur:

PHP Fatal error: Uncaught exception 'Exception' with message 'GAPI: Failed to request report data. Error: "Illegal combination of dimensions and metrics"' in gapi.class.php:218 

Stack trace: 
#0example.filter.php(24): gapi->requestReportData('30296235', Array, Array, '-pageviews', 'pagepath =~ ^/h...', '2010-10-01', '2010-10-31') 
#1 {main} 
thrown in gapi.class.php on line 218 

Répondre

0

L'API Google Analytics restreint quelles combinaisons il peut montrer toi. Plus précisément, visitors (à ne pas confondre avec visits) est fortement limitée quant à la métrique avec laquelle il peut être utilisé. visitors et hour sont les deux métriques et dimensions les plus restreintes que vous pouvez interroger dans Google Analytics. Ainsi, la combinaison ci-dessus que vous avez essayée est invalide, et Google refuse de la calculer. Il suffit de passer à visits, et ça va fonctionner.

Notez sur cette page valid combinations, presque toutes les métriques limitent visitors.

La raison en est probablement que visitors est beaucoup plus coûteux en calcul, parfois impossible à calculer, et, pour être honnête, pas particulièrement utile. visitor est un agrégat de visits, mais limité à un ensemble de cookies particulier, alors qu'une visite n'est qu'une session particulière pour un visiteur. C'est aussi moins utile, puisque visitors ne correspond pas aux personnes. Par exemple, j'accède à StackOverflow depuis Safari, Chrome et Firefox sur mes ordinateurs personnels et professionnels, ainsi que depuis mon iPhone. SO me voit comme 7 visiteurs! Ce n'est pas un moyen utile de suivre les utilisateurs. La visite, en étant plus limitée dans ce qu'elle offre, offre une meilleure vue.

En outre, étant un visiteur qui s'étend sur plusieurs sessions, vous ne pouvez pas avoir un pagePath pour eux.

0

changer votre dimension 'userDefinedValue'

$ga->requestReportData(ga_profile_id, 
         array('userDefinedValue'), 
         array('pageviews'), 
         'pageviews', 
         $filter, 
         '2010-10-01', 
         '2010-10-31');