Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Analytics API - Get page view information for specific URLs

I am looking to implement a page view tracking system on one of my websites.

The website is a directory where suppliers can advertise their services. Suppliers have a unique profile page on the site, e.g mysite.com/directory/abc-profile.html

The idea is that suppliers can log in to their account area on the site and view stats on how many people are visiting their profile. Ideally I want to display this as :

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

It does not matter if the data is not completely up to date.

I already have Google Analytics tracking code installed on the site. Is it possible to use the Google Analytics API to retrieve this data? If so, what kind of query do I need to make? I had a look on the documentation but could not figure whether the functions allow this or not.

I am using PHP and MySQL on the server.

like image 453
MAX POWER Avatar asked Oct 20 '13 23:10

MAX POWER


People also ask

How do I get page views in Google Analytics?

Users, sessions and pageviews are among the key metrics Google Analytics provides, and they're very easy to find in your Google Analytics dashboard. Simply go to the Audience - Overview report. At the top is a line graph tracking users over time. You can toggle to see sessions and pageviews, among other metrics.

How do I run a report in Google Analytics on a specific set of URLs?

In Google Analytics, go to Behavior -> All Pages and enter the name of your folder in the search field. You will get a list of URLs in that folder with standard metrics. For SEO traffic to the pages, you can select Behavior -> Landing Pages and view completely different set of metrics.


2 Answers

Yes - you will need to use the Google Analytics API for this. I would suggest checking out the Query Explorer to get a feel for the queries you will need to create.

You will require numerous queries to get all the data you need (adjusting the starting date): - Total Views - This Year - This Month - This Week (i.e. last 7 days - from which you could also get Total Today).

Here is an example query:

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 

Alternatively, you might want to consider www.embeddedanalytics.com (disclosure - I work with them). We have a service/platform that allows website owners to embed GA based charts/statistics without having to learn the GA API. We have a CMS version which will do exactly what you need (where you script the call to pass the page path). We have done something like this with a number of podcast sharing sites.

like image 56
M Schenkel Avatar answered Oct 02 '22 00:10

M Schenkel


Google suggests using Reporting API V4 now. The accepted answer uses V3.

Here is a V4 request example:

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"     }    ]   }  ] } 

where
YOUR_API_KEY - for auth related things follow this page
YOUR_VIEW_ID - you can use the Account Explorer to find a View ID. (or Admin -> View -> View Settings -> View ID).

For more documentation details and a "Try it!" console follow this page.

like image 34
Sergey Alekseev Avatar answered Oct 02 '22 00:10

Sergey Alekseev