Perform incremental (delta) Bulk downloads of Microsoft Advertising campaign changes using LastSyncTimeInUTC
domain: learn.microsoft.com/en-us/advertising/guides · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Perform an initial full download via DownloadCampaignsByAccountIds or DownloadCampaignsByCampaignIds with LastSyncTimeInUTC set to NULL
Record the SyncTime value from the Account record in the returned file
On subsequent downloads, set LastSyncTimeInUTC to the previous SyncTime so only entities updated or deleted since then are returned
Poll GetBulkDownloadStatus until the job succeeds, then download the file within 2 days and before the returned URL (valid 5 minutes) expires
For very large accounts, switch from DownloadCampaignsByAccountIds to DownloadCampaignsByCampaignIds since accounts with very high keyword counts can fail on the account-level call
Known gotchas
Hitting throttling error 4204 (BulkServiceNoMoreCallsPermittedForTheTimePeriod) means waiting up to 15 minutes before resubmitting
Uploads are capped at 100MB / 4 million rows in production (20K rows in Sandbox) — split large files rather than retrying a too-large upload
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?