web-dev-qa-db-fra.com

API Google Analytics - Obtenez des informations sur la page pour des URL spécifiques

Je cherche à mettre en place un système de suivi des pages vues sur l'un de mes sites Web.

Le site Web est un répertoire où les fournisseurs peuvent annoncer leurs services. Les fournisseurs ont une page de profil unique sur le site, par exemple mysite.com/directory/abc-profile.html

L'idée est que les fournisseurs peuvent se connecter à leur zone de compte sur le site et afficher des statistiques sur le nombre de personnes visitant leur profil. Idéalement, je veux afficher ceci comme:

Total views | Total today | This week | This month | This year

Peu importe si les données ne sont pas complètement à jour.

J'ai déjà un code de suivi Google Analytics installé sur le site. Est-il possible d'utiliser l'API Google Analytics pour récupérer ces données? Si oui, quel type de requête dois-je faire? J'ai jeté un coup d'œil à la documentation mais je n'ai pas pu déterminer si les fonctions le permettaient ou non.

J'utilise PHP et MySQL sur le serveur.

41
GSTAR

Oui, vous devrez utiliser l'API Google Analytics pour cela. Je suggère de consulter le Query Explorer pour avoir une idée des requêtes que vous devrez créer.

Vous aurez besoin de nombreuses requêtes pour obtenir toutes les données dont vous avez besoin (en ajustant la date de début): - Vues totales - Cette année - Ce mois-ci - Cette semaine (c'est-à-dire les 7 derniers jours - à partir desquelles vous pouvez également obtenir Total Aujourd'hui).

Voici un exemple de requête:

https://www.googleapis.com/analytics/v3/data/ga?ids=ga:1234456789&dimensions=ga:pagePath&metrics=ga:pageviews&filters=ga:pagePath==/about-us.html&start-date=2013-10-15&end-date=2013-10-29&max-results=50

Alternativement, vous voudrez peut-être envisager www.embeddedanalytics.com ( divulgation - je travaille avec eux ). Nous avons un service/plate-forme qui permet aux propriétaires de sites Web d’intégrer GA des graphiques/statistiques basés sans avoir à apprendre l’API GA. Nous avons une version CMS qui faites exactement ce dont vous avez besoin (où vous écrivez l'appel pour passer le chemin de la page). Nous avons fait quelque chose comme ça avec un certain nombre de sites de partage de podcasts.

50
M Schenkel

Google suggère d'utiliser Reporting API V4 maintenant. La réponse acceptée utilise V3.

Voici un exemple de demande V4:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet?key={YOUR_API_KEY}
{
 "reportRequests": [
  {
   "viewId": "YOUR_VIEW_ID",
   "dimensions": [
    {
     "name": "ga:pagePath"
    }
   ],
   "metrics": [
    {
     "expression": "ga:pageviews"
    }
   ],
   "dimensionFilterClauses": [
    {
     "filters": [
      {
       "operator": "EXACT",
       "dimensionName": "ga:pagePath",
       "expressions": [
        "/your-path"
       ]
      }
     ]
    }
   ],
   "dateRanges": [
    {
     "startDate": "2009-12-31",
     "endDate": "2016-09-28"
    }
   ]
  }
 ]
}


YOUR_API_KEY - pour les choses liées à l'authentification, suivez cette page
YOUR_VIEW_ID - vous pouvez utiliser Explorateur de comptes pour trouver un ID de vue. (ou Admin -> Afficher -> Afficher les paramètres -> Afficher l'ID).

Pour plus de détails sur la documentation et un "Essayez-le!" suivre la console cette page .

33
Sergey Alekseev

Vous devriez pouvoir ajouter un filtre sur la page de destination. Je suppose que le site de chaque utilisateur a sa propre page de démarrage. Cela renvoie uniquement les données de cet utilisateur. Si vous voulez le code sur la façon de procéder, je vous suggère google: google analics core reporting api PHP tutorial

Une autre idée serait de laisser l'utilisateur y ajouter un compte Google Analytics à son profil. Ensuite, vous pouvez mettre le code Google Analytics sur cette page. Ensuite, ils peuvent suivre leurs propres données Google Analytics et vous n'aurez pas besoin de les traiter.

1
DaImTo