Search code examples
phpgoogle-analytics-apigoogle-analytics-firebase

GA php-server get special page views


I was able to run the sample PHP quickstart from the https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/service-php

function getReport($analytics) {

    // Replace with your view ID, for example XXXX.
    $VIEW_ID = "XXXMY_VIEW_IDXXX";

    // Create the DateRange object.
    $dateRange = new Google_Service_AnalyticsReporting_DateRange();
    $dateRange->setStartDate("2018-11-19");
    $dateRange->setEndDate("2018-11-20");

    // Create the Metrics object.
    $sessions = new Google_Service_AnalyticsReporting_Metric();
    $sessions->setExpression("ga:sessions");
    $sessions->setAlias("sessions");

    $pageviews = new Google_Service_AnalyticsReporting_Metric();
    $pageviews->setExpression("ga:pageviews");
    $pageviews->setAlias("pageviews");

    // Create the ReportRequest object.
    $request = new Google_Service_AnalyticsReporting_ReportRequest();
    $request->setViewId($VIEW_ID);
    $request->setDateRanges($dateRange);
    $request->setMetrics(array($sessions, $pageviews));

    $body = new Google_Service_AnalyticsReporting_GetReportsRequest();
    $body->setReportRequests( array( $request) );
    return $analytics->reports->batchGet( $body );
}

That returns the all pageviews in GA. But I would like to get the page views for a special url.

I am using PHP Server Application GA API.


Solution

  • Finally I find how to get the views for special url

    $filterPath = 'www.abc.com';
    $filter = new \Google_Service_AnalyticsReporting_DimensionFilter();
    $filter->setDimensionName( 'ga:pagePath' );
    $filter->setOperator( 'BEGINS_WITH' );
    $filter->setExpressions( [ $filterPath ] );
    
    $filters = new \Google_Service_AnalyticsReporting_DimensionFilterClause();
    $filters->setFilters([$filter]);
    

    Above code can filter the ga result which begin with 'www.abc.com'