Bulk-manage Shopping campaigns and product feeds with the Microsoft Advertising Bulk API
domain: learn.microsoft.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Authenticate with OAuth2, a developer token, and Customer/Account ID headers, same as other Microsoft Advertising services.
Call DownloadCampaignsByAccountIds (or ByCampaignIds) including EntityData scope and ProductAds in DownloadEntity to get a bulk export.
Poll for download completion, then retrieve and unzip the bulk CSV file, currently at format version 6.0.
Edit the Campaign record for Shopping-specific settings, which carries the Merchant Center Store ID, and the Campaign Product Scope record to filter catalog items by brand/condition.
Leave Product Ad record content alone — it's system-generated from the Merchant Center catalog — and only change the Status field to Active/Paused.
Re-upload via UploadEntitiesAsync or the BulkServiceManager SDK helper.
Known gotchas
Omitting the EntityData scope on download silently drops Product Ad records from the exported file.
As of December 2024, Bulk no longer supports deleting Product Ad records since they're system-generated — you can only toggle their status.
The bulk file can't create the Merchant Center Store ID link from scratch; the Shopping campaign must already be linked to a Store ID before the bulk file will work.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?