Google Analytics API: filter by URI?
My site has开发者_JS百科 user profiles that are accessible via URLs that look like this: www.domain.com/profile/123/...
. I want to show users page view statistics of their profiles, but need to be able to do wildcards.
For example, this works:
filters=ga:pagePath==/profile/123/
The problem is that there are potentially other URI segments that follow /profile/123/
. I want to do something like this (does not work):
filters=ga:pagePath==/profile/123/*
Suggestions?
Use the 'Contains a match for the regular expression' operator (~) from the Dimension Filters.
filters=ga:pagePath=~/profile/123/*
This will work:
filters=ga:pagePath=~/profile/123/
To do /*/view/*
(as per @VinnyG’s comment), this should work:
filters=ga:pagePath=~/[^/]+/view/
I'm assuming you want to match one (and only one) directory before /view/
.
Another filter from the Dimension Filters that would work for you is contains "=@"
ga:pagePath=@/profile/123
worked for me.
require('gapi.class.php'); $ga = new gapi('mail@example.com','google_analytics_password'); $filter = 'ga:pagePath==/home.php'; //first parameter is your Google Analytics profile id /* How to find Google Analytics Profile ID http://stackoverflow.com/questions/4119610/get-google-analytics-id-from-the-code-embed/4120625#4120625 */ $ga->requestReportData(0000000,array('pagePath'),array('pageViews','UniquePageviews'), '-pageViews', $filter); foreach($ga->getResults() as $result) { echo $result->getPageviews(); echo $result->getUniquePageviews(); echo $result->getPagePath(); } ?>
精彩评论