The previous Search Ads 360 Reporting API is decommissioned. You can now create your reports using the new Search Ads 360 Reporting API.
Note that the get and getByCustomerId methods in the Search Ads 360 Conversion API are being deprecated in Q3 2025. To continue accessing conversion data, you must create a report using the conversion resource using the new Search Ads 360 Reporting API. See more details here.
Stay organized with collections
Save and categorize content based on your preferences.
The new Search Ads 360 Reporting API is now available. The new API provides
enhanced flexibility to build custom reports and integrate the data into your reporting applications
and processes. Learn more about migrating to and using the new Search Ads 360 Reporting
API.
By default, your report will contain all of the data within the reportScope that
your request specifies. If you want a report to contain only the data that matches a set of
criteria, you can add one or more filters to a report. Only rows that satisfy all filters
are returned.
For example, you can request a report of all the keywords in an agency. Then
you can specify a filter so that only keywords with landing page URLs starting with
www.example.com and www.another-example.com appear in the report.
Each filter specifies a column to be filtered, an operator, and a list of values that
are expected to be in the specified column:
"filters": [
{
"column" : column to filter on,
"operator" : operator specifying the type of filter,
"values" : list of values
},
{ ... another filter can go here ... }
]
Note: Some columns cannot be filtered. In the Types of Reports reference, each column indicates
if it is Filterable.
Filter operators
All filters are case sensitive. That is, a filter with "www.Sprockets.com" will not match
a column that contains "www.sprockets.com".
Operator
Description
Number of values supported
equals
The column must exactly match the specified value.
1
notEquals
The column must not match the specified value.
1
in
The column must exactly match one of the values in the filter's list.
Not valid for list data types (such as String list).
variable
lessThan
The column must contain a value that is less than the specified value.
If you specify this filter for a Boolean column, the Search Ads 360 API converts false
to a numeric value of 0 and true to 1. If
you specify this filter for a String column, the API compares the
lexicographic order.
Not valid for list data types (such as String list).
1
greaterThan
The column must contain a value that is greater than one of the values in
the filter's list.
If you specify this filter for a Boolean column, the API converts false
to a numeric value of 0 and true to 1. If
you specify this filter for a String column, the API compares the
lexicographic order.
Not valid for list data types (such as String list).
1
lessThanOrEqual
The column must contain a value that is less than or equal to one of the
values in the filter's list.
If you specify this filter for a Boolean column, the API converts false
to a numeric value of 0 and true to 1. If
you specify this filter for a String column, the API compares the
lexicographic order.
Not valid for list data types (such as String list).
1
greaterThanOrEqual
The column must contain a value that is greater than or equal to one of the
values in the filter's list.
If you specify this filter for a Boolean column, the API converts false
to a numeric value of 0 and true to 1. If
you specify this filter for a String column, the API compares the
lexicographic order.
Not valid for list data types (such as String list).
1
isNull
The column must be empty. For example, if you specify isNull
for the keywordMaxCpc column in a keyword report, the report
will contain only keywords that have not specified a Max CPC.
0
isNotNull
The column must contain a value.
0
startsWith
The column must start with one of the strings in the filter's list.
Only valid for String columns.
variable
containsSubstring
The column must contain all or part of one of the strings specified in the
filter's list.
For example, a containsSubstring filter with the values: ["ham", "cheese"]
would return rows with this value: hamburger cheeseburger
but would not return rows with these values: lobster roll lettuce high amplitude (high amplitude includes
the substring "h am", but all characters—including spaces—are evaluated by the filter)
Only valid for String columns.
variable
doesNotContainSubstring
The column must not contain any of the strings in the filter's list.
For example, a doesNotContainSubstring filter with the values: ["ham", "cheese"]
would return rows with this value: lobster roll lettuce
but would not return rows with these values: hamburger cheeseburger
Only valid for String columns.
variable
containsElement
The column must contain at least one of values in the filter's list.
Only valid for columns with list data types (such as String list).
For example in a campaign report,
a containsElement filter with the values: ["foo", "bar"]
filtering on the effectiveLabels column
would only return campaigns labeled with foo, bar, or both.
[[["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-28 UTC."],[[["\u003cp\u003eThe new Search Ads 360 Reporting API offers enhanced flexibility for building custom reports and data integration.\u003c/p\u003e\n"],["\u003cp\u003eReports can be filtered to show specific data by defining criteria using filters.\u003c/p\u003e\n"],["\u003cp\u003eFilters are case-sensitive and operate on various data types with different operators like \u003ccode\u003eequals\u003c/code\u003e, \u003ccode\u003estartsWith\u003c/code\u003e, \u003ccode\u003econtainsSubstring\u003c/code\u003e, and more.\u003c/p\u003e\n"],["\u003cp\u003eSome columns are not filterable, and the 'Types of Reports' reference indicates filterable columns.\u003c/p\u003e\n"],["\u003cp\u003eA table provides a detailed explanation of each filter operator, its function, and the number of values it supports.\u003c/p\u003e\n"]]],["The new Search Ads 360 Reporting API allows users to create custom reports and integrate data into applications. Reports can be filtered to show specific data based on criteria using filters. These filters specify a column, an operator (like `equals`, `startsWith`), and values. Multiple filters can be combined, and only rows matching all filters are returned. Operators vary in their functionality, such as checking for equality, substring presence, or numerical comparisons. Filters are case-sensitive, and filterability is column-specific.\n"],null,["# Filtered Reports\n\nThe new Search Ads 360 Reporting API is now available. The new API provides enhanced flexibility to build custom reports and integrate the data into your reporting applications and processes. Learn more about migrating to and using the [new Search Ads 360 Reporting\nAPI](https://developers.google.com/search-ads/reporting/overview).\n\n\nBy default, your report will contain all of the data within the [reportScope](/search-ads/v2/reference/reports#request.reportScope) that\nyour request specifies. If you want a report to contain only the data that matches a set of\ncriteria, you can add one or more filters to a report. Only rows that satisfy all filters\nare returned.\n\nFor example, you can request a report of all the keywords in an agency. Then\nyou can specify a filter so that only keywords with landing page URLs starting with\nwww.example.com and www.another-example.com appear in the report. \n\n```\n\"filters\": [\n {\n \"column\" : { \"columnName\": \"keywordLandingPage\" },\n \"operator\" : \"startsWith\",\n \"values\" : [\n \"http://www.example.com\",\n \"http://www.another-example.com\"\n ]\n }\n]\n```\n\nEach filter specifies a column to be filtered, an operator, and a list of values that\nare expected to be in the specified column: \n\n```\n\"filters\": [\n {\n \"column\" : column to filter on,\n \"operator\" : operator specifying the type of filter,\n \"values\" : list of values\n },\n { ... another filter can go here ... }\n]\n``` \n**Note** : Some columns cannot be filtered. In the Types of Reports reference, each column indicates if it is `Filterable`.\n\nFilter operators\n----------------\n\nAll filters are case sensitive. That is, a filter with \"www.Sprockets.com\" will not match\na column that contains \"www.sprockets.com\". \n\n| Operator | Description | Number of values supported |\n|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------|\n| `equals` | The column must exactly match the specified value. | 1 |\n| `notEquals` | The column must not match the specified value. | 1 |\n| `in` | The column must exactly match one of the values in the filter's list. Not valid for list data types (such as `String list`). | variable |\n| `lessThan` | The column must contain a value that is less than the specified value. If you specify this filter for a `Boolean` column, the Search Ads 360 API converts `false` to a numeric value of `0` and `true` to `1`. If you specify this filter for a `String` column, the API compares the lexicographic order. Not valid for list data types (such as `String list`). | 1 |\n| `greaterThan` | The column must contain a value that is greater than one of the values in the filter's list. If you specify this filter for a `Boolean` column, the API converts `false` to a numeric value of `0` and `true` to `1`. If you specify this filter for a `String` column, the API compares the lexicographic order. Not valid for list data types (such as `String list`). | 1 |\n| `lessThanOrEqual` | The column must contain a value that is less than or equal to one of the values in the filter's list. If you specify this filter for a `Boolean` column, the API converts `false` to a numeric value of `0` and `true` to `1`. If you specify this filter for a `String` column, the API compares the lexicographic order. Not valid for list data types (such as `String list`). | 1 |\n| `greaterThanOrEqual` | The column must contain a value that is greater than or equal to one of the values in the filter's list. If you specify this filter for a `Boolean` column, the API converts `false` to a numeric value of `0` and `true` to `1`. If you specify this filter for a `String` column, the API compares the lexicographic order. Not valid for list data types (such as `String list`). | 1 |\n| `isNull` | The column must be empty. For example, if you specify `isNull` for the `keywordMaxCpc` column in a [keyword report](/search-ads/v2/report-types/keyword), the report will contain only keywords that have not specified a Max CPC. | 0 |\n| `isNotNull` | The column must contain a value. | 0 |\n| `startsWith` | The column must start with one of the strings in the filter's list. Only valid for `String` columns. | variable |\n| `containsSubstring` | The column must contain all or part of one of the strings specified in the filter's list. For example, a `containsSubstring` filter with the values: `[\"ham\", \"cheese\"]` would return rows with this value: **ham**`burger` **cheese**`burger` but would not return rows with these values: `lobster roll` `lettuce` `hig`**h am**`plitude` (`high amplitude` includes the substring \"h am\", but all characters---including spaces---are evaluated by the filter) Only valid for `String` columns. | variable |\n| `doesNotContainSubstring` | The column must not contain any of the strings in the filter's list. For example, a `doesNotContainSubstring` filter with the values: `[\"ham\", \"cheese\"]` would return rows with this value: `lobster roll` `lettuce` but would not return rows with these values: **ham** burger **cheese**burger Only valid for `String` columns. | variable |\n| `containsElement` | The column must contain at least one of values in the filter's list. Only valid for columns with list data types (such as `String list`). For example in a `campaign` report, a `containsElement` filter with the values: `[\"foo\", \"bar\"]` filtering on the `effectiveLabels` column would only return campaigns labeled with `foo`, `bar`, or both. | variable |"]]