Bulk Mutates

Stay organized with collections Save and categorize content based on your preferences.

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.