Mutating Resources

The Google Ads API provides a few different ways for mutating resources, depending on your use case. Each resource has a corresponding service that allows you to specify mutate operations for that specific resource type. For example, the Campaign resource has a corresponding CampaignService.MutateCampaigns endpoint for mutating campaigns.

Another option is the GoogleAdsService.Mutate endpoint, which essentially wraps a series of individual mutate calls on the resource services, and provides the following benefits:

  • Atomic transactions across different resource types. Normal service calls can only provide atomicity for operations with a single resource type.
  • Temporary resource names. Combine operations to create an entity and its child entities in a single request.

Using these two properties together, you can use GoogleAdsService.Mutate to for example create an entire campaign structure if and only if every step along the way succeeds.