I've managed to get some data using:
$ga->requestReportData(44030755,array('pagePath'),array('pageviews','uniquePageviews'));
and iterating over it using foreach.
Here's what's returned:
object(gapiReportEntry)[7]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?@faktanyaadalah=' (length=19)
object(gapiReportEntry)[12]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?facebookwww-static/assets/images/highlight.png=' (length=50)
object(gapiReportEntry)[8]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?faktanyaadalah=&fb_xd_fragment=' (length=34)
object(gapiReportEntry)[13]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?faktanyadalah=' (length=17)
object(gapiReportEntry)[15]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?uniqpost=&fb_xd_fragment=' (length=28)
object(gapiReportEntry)[14]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/adamramadhan?offset=0' (length=22)
object(gapiReportEntry)[16]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/adamramadhan?offset=2' (length=22)
object(gapiReportEntry)[18]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/adamramadhan?offset=3' (length=22)
object(gapiReportEntry)[19]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/adamramadhan?offset=4' (length=22)
object(gapiReportEntry)[20]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/admin/blog?e=2' (length=15)
object(gapiReportEntry)[21]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/admin/blog?e=4' (length=15)
object(gapiReportEntry)[22]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/admin/blog?e=5' (length=15)
object(gapiReportEntry)[23]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/blog?id=23' (length=11)
object(gapiReportEntry)[24]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/gembelabis' (length=11)
object(gapiReportEntry)[25]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/messages?id=7' (length=14)
object(gapiReportEntry)[26]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/messages?id=9' (length=14)
object(gapiReportEntry)[27]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/messages?mid=15' (length=16)
object(gapiReportEntry)[28]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/messages?mid=17' (length=16)
object(gapiReportEntry)[29]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/messages?mid=18' (length=16)
object(gapiReportEntry)[30]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/product?id=16' (length=14)
object(gapiReportEntry)[31]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/product?id=18' (length=14)
object(gapiReportEntry)[32]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/product?id=2' (length=13)
object(gapiReportEntry)[33]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/product?id=44' (length=14)
object(gapiReportEntry)[34]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/products?tag=hosting' (length=21)
object(gapiReportEntry)[35]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/verify/adamramadhan' (length=20)
object(gapiReportEntry)[36]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/verify/uniqpost' (length=16)
object(gapiReportEntry)[37]
private 'metrics' =>
array
'pageviews' => int 2
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?facebookwww-static/assets/images/highlight-1.png=' (length=52)
object(gapiReportEntry)[38]
private 'metrics' =>
array
'pageviews' => int 2
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/LVUStore' (length=9)
object(gapiReportEntry)[39]
private 'metrics' =>
array
'pageviews' => int 2
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/adamramadhan?offset=1' (length=22)
object(gapiReportEntry)[40]
private 'metrics' =>
array
'pageviews' => int 2
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/product?id=22' (length=14)
How can i get page views, and uniqpageviews from just using a custom page path? something like $eachdata->path('/LVUstore')
; returns an array pageview 2, uniqpageview 1, etc
Are there any best practices? e.g. caching the object etc
Thanks,
First step is to create a project in google developer console and obtain the client id, client secret and also enable the Google Analytics Reporting API and Analytics API. The next step after obtaining the client id and client secret is authentication.
I think what you are looking for are filters. You can use the filter
parameter to limit your result set. Google also says this is a good way to deal with large datasets. So, essentially you can just snag the one specific path that you want with a filter, or you can grab them all and organize them accordingly.
$path = "/path-goes-here";
/*
* if you only want to get one path, use a filter:
*/
$filter = "pagePath == '$path'";
$ga->requestReportData(ga_profile_id,array('pagePath'),
array('pageviews','uniquePageviews'),'',$filter);
$result = $ga->getResults();
if (count($result)) {
$result = array('pageviews' => $result[0]->getPageviews(),
'unique_pageviews' => $result[0]->getUniquePageviews()
);
}
print_r($result);
/*
* of if you want to get them all and then grab one specific:
*/
$ga->requestReportData(ga_profile_id,array('pagePath'),array('pageviews','uniquePageviews'));
$results = array();
foreach($ga->getResults() as $result) {
$results[$result->getPagePath()] = array('pageviews' => $result->getPageviews(),
'unique_pageviews' => $result->getUniquePageviews() );
}
if(array_key_exists($path,$results)) {
print_r($results[$path]);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With