CampaignPerformanceReportRequest only returning for 1 campaign

Ted 1 Reputation point
2021-04-16T14:42:17.3+00:00

How can I get CampaignPerformanceReportRequest to return multiple campaigns?

I'm relatively new to Bing Ads API. I'm using the Python BingAds Library from https://github.com/BingAds/BingAds-Python-SDK

I'm basing my code on the examples

report_request = reporting_service.factory.create('CampaignPerformanceReportRequest')
    report_request.Aggregation = 'Hourly'
    report_request.Format = report_file_format
    report_request.ReturnOnlyCompleteData = return_only_complete_data
    report_request.Time = time
    report_request.ReportName = "Hourly Bing Report"
    scope = reporting_service.factory.create('AccountThroughCampaignReportScope')
    scope.AccountIds = {'long': [account_id]}
    # scope.Campaigns = reporting_service.factory.create('ArrayOfCampaignReportScope');
    # scope.Campaigns.CampaignReportScope.append(4022593);
    report_request.Scope = scope

    report_columns = reporting_service.factory.create('ArrayOfCampaignPerformanceReportColumn')
    report_columns.CampaignPerformanceReportColumn.append([
        'TimePeriod',
        'CampaignId',
        'CampaignName',
        'DeviceType',
        'Network',
        'Impressions',
        'Clicks',
        'Spend'
    ])
    report_request.Columns = report_columns

    return report_request

but strangely, it only returns for 1 campaign (one which has basically 0 clicks/impressions, etc). When I interact with the reporting website, I see data for all campaigns which looks very different and of course, that's what I want.

Microsoft Advertising API
Microsoft Advertising API
A Microsoft API that provides programmatic access to Microsoft Advertising to manage large campaigns or to integrate your marketing with other in-house systems.
402 questions
0 comments No comments
{count} votes