Ad

How To Filter Custom Segment In Google Analytics API

- 1 answer

I have a segment created in Google Analytics, now I need for my API to return data with that segment. I have found some code in V3 but I am using V4 API, I have tried something like:

const requestObject = {
  resource: {
    reportRequests: [{
      viewId: VIEW_ID,
      dateRanges: [{
        startDate: START_DATE,
        endDate: END_DATE
      }],
      metrics: [{ "expression": "ga:pageviews" }, { "expression": "ga:bounceRate" }],
      dimensions: [{ "name": "ga:pagePath" }],
      dimensionFilterClauses: [
        {
          filters: [
            {
              "dimensionName": "ga:pagePath",
              "operator": "BEGINS_WITH",
              "expressions": filterExpression
            }
          ]
        }
      ],
                segments:[
                    {        
                        "segmentId":"gaid::segmentid"
                    }
                ]    
    }]
  }

but it gives me error.

Is there anyway to just add segment Id which I already defined?

I am getting error

Error: Requests with segments must have ga:segment dimension.

Ad

Answer

The error message is not totally clear, although it is suggesting how to fix it. You must include segment in your query as an additional dimension in your query. In your case it should look like this:

dimensions: [{ "name": "ga:segment" }, {"name": "ga:pagePath" }],
Ad
source: stackoverflow.com
Ad