google analytics api query a specific url

后端 未结 3 1163
慢半拍i
慢半拍i 2020-12-29 12:44

I am accessing the Google analytics API with PHP which works on my end but I\'d love to filter the results a bit further. Right now I am using:

$OBJresult =          


        
相关标签:
3条回答
  • 2020-12-29 13:10

    You need to use the filters string to say "if path includes /news" which can be done as follows:

    $OBJresult=$analytics->data_ga->get(
        'ga:'.$profilID,
        '2012-01-01',
        date("Y-m-d"),
        'ga:visits',
        array(
            'filters' => 'ga:pagePath=@/news',
            'dimensions' => 'ga:pagePath',
            'metrics' => 'ga:pageviews',
            'sort' => '-ga:pageviews',
            'max-results' => '25'));
    

    The answer supplied by Barmar will only find an exact match for the /news page.

    0 讨论(0)
  • 2020-12-29 13:18

    Use the filters option.

    $OBJresult = $analytics->data_ga->get(
        'ga:' . $profilID,
        '2012-01-01',
        date("Y-m-d"),
        'ga:visits',
        array(
            'filters' => 'ga:pagePath==/news',
            'dimensions' => 'ga:pagePath',
            'metrics' => 'ga:pageviews',
            'sort' => '-ga:pageviews',
            'max-results' => '25'
        )
    );
    

    See here for the list of page tracking dimensions you can filter on.

    0 讨论(0)
  • 2020-12-29 13:33

    Reporting V4 example that may be useful. Thank god for these queries, their objects and poor documentation can cause severe ass cancer..

    function segmentRequest(&$analyticsreporting) {
    
    $query = [
            "viewId" => "XXXXXXX",
            "dateRanges" => [
                "startDate" => "2018-02-01",
                "endDate" => "2018-02-15"
            ],
            "metrics" => [
                "expression" => "ga:pageviews"
            ],
            "dimensions" => [
                "name" => "ga:pagepath"
            ],
            "dimensionFilterClauses" => [
                'filters' => [
                    "dimension_name" => "ga:pagepath",
                    "operator" => "EXACT",
                    "expressions" => "/en/some_cool_page.php"
                ]
            ]
        ];
    
      // Call the batchGet method.
      $body = new Google_Service_AnalyticsReporting_GetReportsRequest();
      $body->setReportRequests( array( $query) );
      $response = $analyticsreporting->reports->batchGet( $body );
    
      printResults($response->getReports());
    }
    
    0 讨论(0)
提交回复
热议问题