Batch/Bulk Operations
Learn more about bulk operation capabilities.
Overview
Batch requests allow you to submit multiple create, update, or status-change operations within a single API call.
Use batch requests when you need to make the same type of change across multiple objects, such as campaigns, ad groups, or creative associations. Each item in a batch is processed independently and returns its own result.
Batch limits vary by endpoint. Please refer to the endpoint documentation for more details on batch size limitations.
When to use batch
When to use batch
Batch requests are the best fit when you are making the same type of change across multiple objects.
- Creating or updating multiple campaigns
- Managing large numbers of ad groups
- Performing scheduled bulk status updates
- Synchronizing UI-driven changes
When not to use batch
Use single-object requests when you need tighter troubleshooting, sequencing, or validation.
- Debugging a single operation
- Creating dependent objects in sequence
- Testing configuration logic
- Volume is low
How it works
Batch structure
Batch requests accept an array of request objects. All items in a batch must use the same advertiserId.
Example request structure
[ { "advertiserId": 1, "campaignId": 1, "action": "pause" }, { "advertiserId": 1, "campaignId": 2, "action": "resume" }, { "advertiserId": 1, "campaignId": 3, "action": "archive" }
]Ordering considerations
Batch execution order is not guaranteed.
Do not include interdependent operations in the same batch when order matters. For example:
- Do not create and immediately update the same campaign within one batch.
- Do not depend on the creation of one object before referencing it in another within the same batch.
When sequencing matters, separate requests.
Partial success behavior
Partial success behavior
Batch operations are not transactional.
If one item in a batch fails:
- Successful items are not rolled back
- The response includes per-item status and error details
- You must reconcile results at the item level
Always inspect each response object before retrying.
Supported endpoints
Batch request rules
- Each batch request must use a consistent
advertiserIdacross all objects.- Batch size limits are enforced per endpoint and cannot be exceeded.
- Where applicable, identifier combinations such as
advertiserId+campaignIdmust be unique within the payload.- Batch requests may include multiple operations of the same type, provided they comply with validation and targeting rules.
Response structure example
[ { "code": "success", "details": ["string"], "campaignId": 1 }, { "code": "success", "details": ["string"], "campaignId": 2 }, { "code": "failure", "details": ["string"], "campaignId": 3 }
]How to interpret results
Review each response object individually.
A successful item indicates the specific object was processed correctly. A failed item indicates only that object needs to be corrected and retried.
Retry guidance
- Retry only failed items
- Do not resend successful items in a new batch request
- Correct validation issues before retrying
Related pages
Updated about 5 hours ago
