Stay organized with collections
Save and categorize content based on your preferences.
The Google Ads API provides a few different ways for mutating resources, depending on
your use case. Each resource has a corresponding service that lets you
specify mutate operations for that specific resource type. For example, the
Campaign resource has a corresponding
CampaignService.MutateCampaigns
endpoint for mutating campaigns.
Grouped actions across different resource services. Normal calls can only
execute operations against a single resource service.
Temporary resource names. Combine operations to create an entity and its
child entities in a single request.
With these two properties, you can use
GoogleAdsService.Mutate to, for
example, create an entire campaign structure only if every step along the way
succeeds.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-20 UTC."],[[["\u003cp\u003eThe Google Ads API offers resource-specific services and the \u003ccode\u003eGoogleAdsService.Mutate\u003c/code\u003e endpoint for modifying resources.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eGoogleAdsService.Mutate\u003c/code\u003e enables grouped actions across various resource services and supports temporary resource names for creating entities and their children in one request.\u003c/p\u003e\n"],["\u003cp\u003eWhile resource-specific services handle mutations for their resource type, \u003ccode\u003eGoogleAdsService.Mutate\u003c/code\u003e provides flexibility for complex operations, ensuring all steps succeed.\u003c/p\u003e\n"],["\u003cp\u003eCross-account mutations are generally prohibited, with exceptions for manager accounts acting on client-created objects.\u003c/p\u003e\n"]]],[],null,["\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nThe Google Ads API provides a few different ways for mutating resources, depending on\nyour use case. Each resource has a corresponding service that lets you\nspecify mutate operations for that specific resource type. For example, the\n`Campaign` resource has a corresponding\n[`CampaignService.MutateCampaigns`](/google-ads/api/reference/rpc/v20/CampaignService#mutatecampaigns)\nendpoint for mutating campaigns.\n\nAnother option is the\n[`GoogleAdsService.Mutate`](/google-ads/api/reference/rpc/v20/GoogleAdsService#mutate) endpoint,\nwhich essentially wraps a series of individual mutate calls on the resource\nservices and [provides the following benefits](/google-ads/api/docs/mutating/best-practices):\n\n- **Grouped actions across different resource services.** Normal calls can only execute operations against a single resource service.\n- **Temporary resource names.** Combine operations to create an entity and its child entities in a single request.\n\nWith these two properties, you can use\n[`GoogleAdsService.Mutate`](/google-ads/api/reference/rpc/v20/GoogleAdsService#mutate) to, for\nexample, create an entire campaign structure only if every step along the way\nsucceeds.\n| **Key Point:** Generally, cross-account mutating is not allowed; an account cannot mutate objects that it didn't create, unless it is the manager of the client that created the object."]]