I'm trying to filter the SearchQueryPerformanceReport in the Bing Ads Api, I can get the report back fine however I want to filter the report by multiple CampaignStatus
For Example
var report = new SearchQueryPerformanceReportRequest
{
Aggregation = aggregation,
ExcludeColumnHeaders = excludeColumnHeaders,
ExcludeReportFooter = excludeReportFooter,
ExcludeReportHeader = excludeReportHeader,
Format = ReportFileFormat,
ReturnOnlyCompleteData = returnOnlyCompleteData,
Time = time,
ReportName = "My Search Query Performance Report",
Scope = new AccountThroughAdGroupReportScope
{
AccountIds = new[] { accountId }
},
Filter = new SearchQueryPerformanceReportFilter
{
CampaignStatus = CampaignStatusReportFilter.Active,
AdGroupStatus = AdGroupStatusReportFilter.Active
},
Columns = new[]
{
SearchQueryPerformanceReportColumn.SearchQuery,
SearchQueryPerformanceReportColumn.Clicks,
SearchQueryPerformanceReportColumn.Spend,
SearchQueryPerformanceReportColumn.Conversions,
SearchQueryPerformanceReportColumn.Revenue,
SearchQueryPerformanceReportColumn.CampaignId,
SearchQueryPerformanceReportColumn.CampaignName,
SearchQueryPerformanceReportColumn.AdGroupId,
SearchQueryPerformanceReportColumn.AdGroupName
},
};
Now I want to get every CampaignStatus that isn't CampaignStatusReportFilter.Deleted. The documentation says I should be able to do this. In my mind it should look like this, but this is obviously incorrect.
Filter = new SearchQueryPerformanceReportFilter
{
CampaignStatus = CampaignStatusReportFilter.Active,
CampaignStatus = CampaignStatusReportFilter.Paused,
AdGroupStatus = AdGroupStatusReportFilter.Active
},
Or
Filter = new SearchQueryPerformanceReportFilter
{
CampaignStatus = !CampaignStatusReportFilter.Deleted,
AdGroupS
For a list type you can include multiple values as flags. How you specify multiple flags depends on the programming language that you use. For example, C# treats these values as flag values and Java treats them as an array of strings. Here's a snippet in C#:
CampaignStatus = CampaignStatusReportFilter.Active | CampaignStatusReportFilter.Paused
The SOAP should include a string that contains a space-delimited list of values for example:
<CampaignStatus>Active Paused</CampaignStatus>