Bulk Mutates

  • The GoogleAdsService.Mutate endpoint allows you to operate on different types of entities or use a single endpoint for all supported mutate operations.

  • You can see the full list of supported operations on the reference page for MutateOperation.

  • Each MutateGoogleAdsRequest accepts a repeated MutateOperation, with each operation including a single operation for one resource type.

  • To perform multiple operations in a single GoogleAdsService.Mutate call, you would create a MutateOperation entity for each resource type and pass them together.

  • This endpoint supports partial failure and validate-only features.

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.

Ruby

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.