Service Methods

  • The Google Ads API utilizes custom methods like search and mutate instead of standard REST methods for efficiency and batch operations.

  • This approach allows for updating multiple campaigns or fetching numerous objects within a single request, unlike traditional REST.

  • Custom methods are expressed in REST URLs using a colon to separate the verb from the rest of the URL, for example, https://googleads.googleapis.com/v18/customers/1234567890/campaigns:mutate.

  • Batching operations, like updating many campaigns simultaneously, are enabled through the custom mutate method, improving efficiency over individual requests.

  • The search method uses a SQL-like query language for batch reads, enabling retrieval of multiple objects in one API call.

The design of the Google Ads API differs from a traditional REST architecture because it primarily uses custom methods, such as search and mutate, instead of the more traditional list, get, create, update, and delete methods. These actions are expressed in REST URLs by using the HTTP mapping convention of a : to separate the custom verb from the rest of the URL.

For example, a campaign mutate API call uses the following URL:

https://googleads.googleapis.com/v21/customers/1234567890/campaigns:mutate

One reason that the API uses custom methods is to enable batching of multiple operations into a single API request. Strict REST semantics would only allow updating one campaign at a time. A traditional REST update to a campaign, for example, would require sending one HTTP PATCH request per campaign resource.

To allow many operations to be bundled together within a single request body, the Google Ads API instead defines a custom mutate method for most resources. Similarly, to enable batch reads (fetching many objects at once) from the API, the API uses a custom search method with a SQL-like Google Ads Query Language.

The Common methods page goes into detail on the most frequently used methods in the Google Ads API.