Google Reporting API v4 - Filters page results by regex?

265 Views Asked by At

I used Reporting API v4 for PHP, and I want to filter results by specific regex (or name of slugs), how to do that?

Point is to filter response without specific slug contains?

Don't want to save in DB results what I want.

How is that possible? :)

$VIEW_ID = ....;
        $dateRange = new Google_Service_AnalyticsReporting_DateRange();
        $dateRange->setStartDate("1daysAgo");
        $dateRange->setEndDate("today");
        $pageviews = new Google_Service_AnalyticsReporting_Metric();
        $pageviews->setExpression("ga:pageViews");
        $pageviews->setAlias("pageviews");
        $title = new Google_Service_AnalyticsReporting_Dimension();
        $title->setName("ga:pagePath");
        $request = new Google_Service_AnalyticsReporting_ReportRequest();
        $request->setViewId($VIEW_ID);
        $request->setDateRanges($dateRange);
        $request->setDimensions(array($title));
        $request->setMetrics(array($pageviews));
        $body = new Google_Service_AnalyticsReporting_GetReportsRequest();
        $body->setReportRequests(array($request));
        return $analytics->reports->batchGet($body); // I want filter this pages with specific slugs

Thank you!

1

There are 1 best solutions below

0
Pedro Pascutti On

I think you're looking for something like this

Hope it helps!

// Create the DateRange object.
  $dateRange = new Google_Service_AnalyticsReporting_DateRange();
  $dateRange->setStartDate("7daysAgo");
  $dateRange->setEndDate("yesterday");

  // Create the Metrics object.
  $pageviews = new Google_Service_AnalyticsReporting_Metric();
  $pageviews->setExpression("ga:pageviews");
  $pageviews->setAlias("Visualizações de página");

  $date_dimension = new Google_Service_AnalyticsReporting_Dimension();
  $date_dimension->setName("ga:date");

  $page_path = new Google_Service_AnalyticsReporting_Dimension();
  $page_path->setName("ga:pagePath");

  $dimensionFilter = new Google_Service_AnalyticsReporting_DimensionFilter();
  $dimensionFilter->setDimensionName('ga:pagePath');
  $dimensionFilter->setOperator('REGEXP');
  $dimensionFilter->setExpressions(['/your-url']);  
  $dimensionFilter->setNot(FALSE); 

  $dimensionFilterClause = new Google_Service_AnalyticsReporting_DimensionFilterClause();
  $dimensionFilterClause->setFilters([$dimensionFilter]);     

  // Create the ReportRequest object.
  $request = new Google_Service_AnalyticsReporting_ReportRequest();
  $request->setViewId($VIEW_ID);
  $request->setDateRanges(array($dateRange));
  $request->setDimensionFilterClauses([$dimensionFilterClause]);
  $request->setDimensions(array($date_dimension, $page_path));
  $request->setMetrics(array($pageviews));

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