Share your feedback about the Google Ads (AdWords) API. Take the 2021 AdWords API and Google Ads API Annual Survey.

Bulk Mutates

If you need to operate on different types of entities at the same time or prefer to write against a single endpoint rather than using a separate endpoint per resource type, then you can use the GoogleAdsService.Mutate endpoint for all supported mutate operations.

Mutate operations

Each MutateGoogleAdsRequest accepts a repeated MutateOperation, each of which can include a single operation for one resource type. To create one campaign and one ad group in a single GoogleAdsService.Mutate call, you would need to create two MutateOperation entities (one for the CampaignOperation, the other for the AdGroupOperation), and then pass both to GoogleAdsService.


mutate_operation1 = client.operation(:Mutate)
mutate_operation2 = client.operation(:Mutate)

campaign_operation = client.operation(:Campaign)
ad_group_operation = client.operation(:AdGroup)

# Do some setup here to get campaign_operation and ad_group_operation into the
# state you would want them for a regular mutate call to their respective
# services.

mutate_operation1.campaign_operation = campaign_operation
mutate_operation2.ad_group_operation = ad_group_operation

google_ads_service.mutate(customer_id, [mutate_operation1, mutate_operation2])

Like other services, this endpoint supports partial failure and validate-only.