Search Ads 360 Reporting API call structure

Calls to the Search Ads 360 Reporting API are typically made through your client library. See Client libraries explained for more information. However, knowledge about the structure of the underlying request details can be useful when testing and debugging.

Search Ads 360 Reporting API is a gRPC API with REST bindings. This means that you can make calls to the API in two alternative ways:

Preferred method
Use a client library:
  • Create the body of the request as a protocol buffer.
  • Send the request to the server using HTTP/2.
  • Deserialize the response to a protocol buffer.
  • Interpret the results.
Optional alternative method
  • Create the body of request as a JSON object.
  • Send the request to the server using HTTP 1.1.
  • Deserialize the response as a JSON object.
  • Interpret the results.

See Google Cloud APIs for more information.

The following sections apply to both gRPC and REST protocols.

Resource names

Most objects in the API are identified by their resource name strings. These strings also serve as URLs when using the REST interface.

See Reference > REST for more information about supported resources and their path representation. The same format is used for other services.

Composite IDs

If the ID of an object is not globally unique, a composite ID for that object is constructed by prepending its parent ID and a tilde (~).

For example, because an ad group ad ID is not globally unique, the parent object (ad group) ID is prepended to it resulting in a unique composite ID.

Example: AdGroupId of 123 + ~ + AdGroupAdId of 45678 = composite ad group ad ID of 123~45678.

Request headers

The HTTP headers (or gRPC metadata) in the following sections should be included in the body of the request.


You need to include an OAuth2 access token in the form:

Authorization: Bearer [OAUTH_2.0_ACCESS_TOKEN]

The token should identify either a manager account acting on behalf of a client or an advertiser directly managing their own sub-manager or client account. See About Search Ads 360 manager accounts and Authentication to learn more.

Login customer ID header

The login-customer-id header is required when using a manager account to access a sub-manager or client account. It is not required when accessing a sub-manager or client account directly. Although not strictly necessary, we recommend always specifying the login-customer-id for authenticated users who have access to more than one account. This avoids ambiguity and prevents unintentionally setting the context to the incorrect account.

The request should include the customer ID of the authorized user, without hyphens (-), for example:

Setting the login-customer-id is equivalent to choosing an account in the Search Ads 360 UI after signing in or clicking on your profile image at the top right.

Response headers

The following headers (or gRPC trailing-metadata) are returned with the response body. We recommend that you log these values for debugging purposes.

Request ID

The request-id header is a string that uniquely identifies the request.