Как я могу фильтровать результаты GoogleAnalytics по названию кампании?

#c# #google-analytics-api #google-api-dotnet-client #google-analytics-filters

#c# #google-analytics-api #google-api-dotnet-client #google-analytics-фильтры

Вопрос:

Я использую API отчетов Google Analytics V4 для получения просмотров страниц для сайта. Я могу отфильтровать landingPagePath нормально, но объект отчета содержит 2 строки (2 разные кампании). Я хочу создать отчет по одной кампании без необходимости выполнять собственную фильтрацию после извлечения данных.

Это код, который у меня есть прямо сейчас:

 // Get Reports
            using (var analytics = new AnalyticsReportingService(new BaseClientService.Initializer
            {
                HttpClientInitializer = credential
            }))
            {
                var request = analytics.Reports.BatchGet(new GetReportsRequest
                {
                    ReportRequests = new[]
                    {
                        new ReportRequest{
                            DateRanges = new[] { new DateRange{ StartDate = startDate, EndDate = endDate } },
                            Dimensions = new[] { new Dimension{ Name = "ga:campaign" } },
                            Metrics = new[] { new Metric{ Expression = "ga:pageviews", Alias = "PageViews" } },
                            ViewId = "2244248",
                            DimensionFilterClauses = new List<DimensionFilterClause>
                            {
                                new DimensionFilterClause
                                {
                                    Filters = new List<DimensionFilter>
                                    {
                                        new DimensionFilter
                                        {
                                            DimensionName = "ga:landingPagePath",
                                            Expressions = new List<string> { pageUrl }
                                        },
                                        new DimensionFilter
                                        {
                                            DimensionName = "ga:campaign",
                                            Expressions = new List<string> { "20 Aug 2020" }
                                        }
                                    }
                                }
                            }
                        }
                    }
                });

                Report report = request.Execute().Reports.First();