Share via

GetCampaignsByAccountId Not Returning Audience Campaigns for Specific Accounts

Daisuke Mita 0 Reputation points
2026-05-13T01:35:04.6733333+00:00

Hello,

We are seeing inconsistent results between CampaignManagement SOAP API and Bulk API for the same account.

Environment

  • API: CampaignManagement v13 (GetCampaignsByAccountId)
  • Date/Time: 2026-04-28 13:57:30 JST (2026-04-28 04:57:30 UTC)
  • TrackingId: 11fe86d3-512a-431a-a832-a3d4d39205e5
  • AccountId: 188355338
  • CustomerId: 254786541

Request (GetCampaignsByAccountId)

  • CampaignType: Audience Hotel Search Shopping PerformanceMax
  • ReturnAdditionalFields: AdScheduleUseSearcherTimeZone MaxConversionValueBiddingScheme TargetImpressionShareBiddingScheme TargetSetting BidStrategyId CpvCpmBiddingScheme DynamicFeedSetting MultimediaAdsBidAdjustment VerifiedTrackingSetting DynamicDescriptionSetting DisclaimerSetting CampaignConversionGoal TargetCpaInMaxConversion ResponsiveSearchAdsSetting CostPerSaleBiddingScheme ShoppingSettingShoppableAdsEnabled ShoppingSettingFeedLabel CallToActionSetting PageFeedInPerformanceMaxSettings

Response

  • SOAP call succeeds (no fault), but returns empty campaigns:
    • <GetCampaignsByAccountIdResponse ...><Campaigns .../></GetCampaignsByAccountIdResponse>

However, Bulk API for the same account returns at least one active campaign:

  • Id: 487660970
  • Type: Campaign
  • CampaignType: Audience
  • Status: Active
  • ParentId (AccountId): 188355338

Sanitized Logs

  • Note: AuthenticationToken is redacted for security.

GetCampaignsByAccountId Request & Response

[2026-04-28 17:49:02] local.DEBUG: {
    "account_id": "188355338",
    "service": "GetCampaignsByAccountId",
    "request": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ns1=\"https://bingads.microsoft.com/CampaignManagement/v13\"><SOAP-ENV:Header><ns1:CustomerAccountId>188355338</ns1:CustomerAccountId><ns1:CustomerId>254786541</ns1:CustomerId><ns1:DeveloperToken>107REW71HM927642</ns1:DeveloperToken><ns1:UserName/><ns1:Password/><ns1:AuthenticationToken>********</ns1:AuthenticationToken></SOAP-ENV:Header><SOAP-ENV:Body><ns1:GetCampaignsByAccountIdRequest><ns1:AccountId>188355338</ns1:AccountId><ns1:CampaignType>Audience Hotel Search Shopping PerformanceMax</ns1:CampaignType><ns1:ReturnAdditionalFields>AdScheduleUseSearcherTimeZone MaxConversionValueBiddingScheme TargetImpressionShareBiddingScheme TargetSetting BidStrategyId CpvCpmBiddingScheme DynamicFeedSetting MultimediaAdsBidAdjustment VerifiedTrackingSetting DynamicDescriptionSetting DisclaimerSetting CampaignConversionGoal TargetCpaInMaxConversion ResponsiveSearchAdsSetting CostPerSaleBiddingScheme ShoppingSettingShoppableAdsEnabled ShoppingSettingFeedLabel CallToActionSetting PageFeedInPerformanceMaxSettings</ns1:ReturnAdditionalFields></ns1:GetCampaignsByAccountIdRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>",
>     "response": "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"><s:Header><h:TrackingId xmlns:h=\"https://bingads.microsoft.com/CampaignManagement/v13\">0e5df2d3-29b1-4bb8-9675-7551f22c1188</h:TrackingId></s:Header><s:Body><GetCampaignsByAccountIdResponse xmlns=\"https://bingads.microsoft.com/CampaignManagement/v13\"><Campaigns xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"/></GetCampaignsByAccountIdResponse></s:Body></s:Envelope>"

Bulk Result Snippet

Array
(
    [Type] => Campaign
    [Status] => Active
    [Id] => 487660970
    [ParentId] => 188355338
    [CampaignId] => 
    [SubType] => AudienceStatic
    [Campaign] => 【0420-0515】春キャンペーン
    [AdGroup] => 
    [AssetGroup] => 
    [Website] => 
    [SyncTime] => 
    [ClientId] => 
    [ModifiedTime] => 04/27/2026 15:00:22.213
    ...
    [CampaignType] => Audience
    ...
    [StartDate] => 04/20/2026 00:00:00
    [EndDate] => 04/30/2026 23:59:59
    ...
)

Questions

  1. The campaign in question has CampaignType: Audience, and our API request uses CampaignType: Audience Hotel Search Shopping PerformanceMax, so Audience is included and should satisfy the filter criteria. Given that, could you clarify why this campaign is not being returned by GetCampaignsByAccountId?
  2. We tested the same request logic on a different account, and campaigns with CampaignType: Audience were successfully returned. Does this mean there are account-specific conditions under which GetCampaignsByAccountId may or may not return Audience campaigns?

Best regards,

Daisuke Mita

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.

0 comments No comments

1 answer

Sort by: Most helpful
  1. Q&A Assist
    2026-05-13T01:35:21.17+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more
    1. GetCampaignsByAccountId behavior for Audience campaigns

    From the service definition, GetCampaignsByAccountId returns campaigns in an account filtered by CampaignType and optionally enriched by ReturnAdditionalFields.

    Key points from the documentation:

    • CampaignType is a flags field; multiple values can be passed as a space-delimited string in SOAP, e.g. <CampaignType>Search Shopping</CampaignType>.
    • If CampaignType is not set, only Search campaigns are returned by default.
    • Audience campaigns are supported campaign types and are also listed in SupportedCampaignTypes on the Audience object.

    Your SOAP request is syntactically correct:

    <ns1:CampaignType>Audience Hotel Search Shopping PerformanceMax</ns1:CampaignType>
    

    This matches the documented pattern for multiple flags, and Audience is included, so Audience campaigns that are eligible for retrieval in that account should be returned.

    The Bulk API and Campaign Management API are separate services. The FAQ explicitly recommends Bulk for large-scale add/update, and notes that some features are only available in Campaign Management, but it does not document any intentional divergence where a valid, active campaign of a supported type would appear in Bulk and be completely omitted from GetCampaignsByAccountId for the same account and time.

    Given:

    • The SOAP call succeeds with no PartialErrors or faults.
    • The Campaigns array is empty.
    • Bulk shows an Active campaign with CampaignType = Audience and ParentId = 188355338.
    • The same GetCampaignsByAccountId logic returns Audience campaigns for other accounts.

    There is no documented filter or setting in GetCampaignsByAccountId that would selectively hide Audience campaigns for a specific account while still allowing them in Bulk. With the information available in the documentation, the behavior observed (empty Campaigns for this account while Bulk shows an active Audience campaign) is not explained by documented API rules and is consistent with a service-side issue that requires Microsoft Advertising support to investigate using the TrackingId and account details.

    1. Account-specific conditions

    The documentation for GetCampaignsByAccountId and the Campaign object describes:

    • CampaignType values and required Settings per type (e.g., ShoppingSetting for Shopping, DynamicSearchAdsSetting for DynamicSearchAds, HotelSetting for Hotel, PerformanceMaxSetting for PerformanceMax).
    • Optional TargetSetting and other Settings that can be requested via ReturnAdditionalFields.

    It does not describe any account-level configuration, scope, or eligibility rules that would cause Audience campaigns to:

    • Be present and active in Bulk, and
    • Be excluded from GetCampaignsByAccountId when CampaignType includes Audience.

    The only documented account-related scope in this area is on the Audience object itself (Scope = Account or Customer), which controls which accounts can use an audience, not whether a campaign is returned by GetCampaignsByAccountId.

    Therefore, based solely on the documentation:

    • GetCampaignsByAccountId should return Audience campaigns for any account where they exist, when CampaignType includes Audience.
    • There are no documented account-specific conditions that would make Audience campaigns retrievable in Bulk but not via GetCampaignsByAccountId.

    Given the valid request and the confirmed presence of an Audience campaign in Bulk, the next step is to open a Microsoft Advertising support ticket, providing:

    • The TrackingId from the GetCampaignsByAccountId response.
    • AccountId and CustomerId.
    • Example campaign ID from Bulk (e.g., 487660970).

    Support can then review internal logs for that TrackingId and account to determine why the Audience campaign is not being returned by GetCampaignsByAccountId for this specific account.


    References:

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.