Hi Jeroen,
Thank you for using our Microsoft Advertising Learn Q&A Platform!
Thanks for reaching out and for the detailed explanation.
You're correct in using the GetCampaignsByAccountId() call with 'ReturnAdditionalFields' => [CampaignAdditionalField::ShoppingSettingFeedLabel] to retrieve the FeedLabel configured in shopping campaigns. However, based on recent discussions and documentation, it appears that the ShoppingSettingFeedLabel field is not consistently populated in the campaign-level response, even when the additional field is explicitly requested.
This behavior has been observed and may be a limitation or inconsistency in the PHP client library or the API itself. While product-level feed labels are retrievable via product data calls, campaign-level targeting settings for feed labels might not be exposed through GetCampaignsByAccountId() as expected.
If the campaign is set up using Feed Label, the CampaignSettingPropertyId = "39" will appear, and the Feed Label value will be populated in CampaignSettingPropertyValue. However, if the campaign is paused, the latest Feed Label value might not be populated in the response.
This is not an issue with the PHP client library, but rather how the API returns data for paused campaigns. For more details, refer to the troubleshooting documentation for shopping feed labels.
As a workaround, you might consider checking if the feed label targeting is accessible via the ad group or product group level settings, depending on how your campaigns are structured.
I hope the information provided here will at least partly answer your question. If you have any additional questions please do not hesitate to reach out to our support.
Microsoft Advertising API Support.
Kind regards,
Arsen D. | Microsoft Advertising Support Specialist | 800-518-5689