Report Type: negativeCampaignKeyword
Stay organized with collections
Save and categorize content based on your preferences.
Configuration attributes for negative keywords that have been created at the campaign level.
This report can only be returned by an asynchronous request (that is, via the
Reports.request() method).
Request excerpt
Send a regular
Reports.request()
request body, but specify "reportType": "negativeCampaignKeyword"
.
{
...
"reportType": "negativeCampaignKeyword",
"columns": [
{
"columnName": string,
"headerText": string,
"startDate": string,
"endDate": string
}
],
"filters": [
{
"column": {
"columnName": string,
},
...
},
...
],
...
}
For each column that you want returned or filtered in the report,
specify the columnName
listed in the table below.
You can also optionally specify
headerText,
startDate,
and endDate.
Note that some columns cannot be filtered; refer to "Filterable" in the table below.
columnName | Description | Behavior | Type | Filterable |
status |
The status of the negative keyword: Active or Removed . Note that campaigns, ad groups, keywords, and ads each have their own status. See status. |
attribute |
Status |
Yes |
engineStatus |
Additional status of the negative campaign keyword in the external engine account. |
attribute |
String |
Yes |
creationTimestamp |
Timestamp of the negative keyword's creation, formatted in ISO 8601. |
attribute |
Timestamp |
Yes |
lastModifiedTimestamp |
Timestamp of the negative keyword's most recent modification, formatted in ISO 8601. |
attribute |
Timestamp |
Yes |
agency |
Agency name. |
attribute |
String |
Yes |
agencyId |
DS agency ID. |
attribute |
ID |
Yes |
advertiser |
Advertiser name. |
attribute |
String |
Yes |
advertiserId |
DS advertiser ID. |
attribute |
ID |
Yes |
account |
Engine account name. |
attribute |
String |
Yes |
accountId |
DS engine account ID. |
attribute |
ID |
Yes |
accountEngineId |
ID of the account in the external engine account. |
attribute |
String |
Yes |
accountType |
Engine account type: Google AdWords , Bing Ads , Yahoo Japan Listing Ads , Yahoo Search Marketing , Yahoo Gemini , Baidu , or Comparison Shopping . |
attribute |
Engine type |
Yes |
campaign |
Campaign name. |
attribute |
String |
Yes |
campaignId |
DS campaign ID. |
attribute |
ID |
Yes |
campaignStatus |
The status of the campaign that contains this item. |
attribute |
Status |
Yes |
negativeCampaignKeywordId |
DS negative campaign keyword ID. |
attribute |
ID |
Yes |
negativeCampaignKeywordText |
The keyword text. |
attribute |
String |
Yes |
negativeCampaignKeywordMatchType |
Match type of the negative keyword: Broad , Exact , Phrase , or Content . Currently only for Google Ads accounts. |
attribute |
Match type |
Yes |
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-28 UTC.
[null,null,["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eThis report provides configuration attributes for negative keywords specifically created at the campaign level.\u003c/p\u003e\n"],["\u003cp\u003eThe report is accessible only through an asynchronous request using the \u003ccode\u003eReports.request()\u003c/code\u003e method with \u003ccode\u003e"reportType": "negativeCampaignKeyword"\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt includes details such as status, match type, keyword text, and timestamps, along with identifiers for agency, advertiser, account, and campaign.\u003c/p\u003e\n"],["\u003cp\u003eUsers can filter and retrieve specific data by specifying column names like \u003ccode\u003estatus\u003c/code\u003e, \u003ccode\u003eengineStatus\u003c/code\u003e, \u003ccode\u003ecreationTimestamp\u003c/code\u003e, etc., in the request body.\u003c/p\u003e\n"]]],["To retrieve data on campaign-level negative keywords, use the `Reports.request()` method with `\"reportType\": \"negativeCampaignKeyword\"`. Specify desired columns in the request body using `columnName`, and optionally `headerText`, `startDate`, and `endDate`. You can filter the output with columns. Available columns include keyword status (`Active`, `Removed`), timestamps, agency/advertiser/account details, campaign information, keyword text, and match type (for Google Ads accounts). The columns available are `filterable`.\n"],null,["# Report Type: negativeCampaignKeyword\n\nConfiguration attributes for negative keywords that have been created at the campaign level.\n\n\nThis report can only be returned by an asynchronous request (that is, via the\n[Reports.request()](/search-ads/v2/reference/reports/request) method).\n\n### Request excerpt\n\n\nSend a regular\n[Reports.request()](/search-ads/v2/reference/reports/request)\nrequest body, but specify `\"reportType\": \"negativeCampaignKeyword\"`.\n\n```text\n{\n...\n \"reportType\": \"negativeCampaignKeyword\",\n \"columns\": [\n {\n \"columnName\": string,\n \"headerText\": string,\n \"startDate\": string,\n \"endDate\": string\n }\n ],\n \"filters\": [\n {\n \"column\": {\n \"columnName\": string,\n },\n ...\n },\n ...\n ],\n...\n}\n```\n\n\nFor each column that you want returned or filtered in the report,\nspecify the `columnName` listed in the table below.\nYou can also optionally specify\n[headerText](/search-ads/v2/reference/reports#request.columns.headerText),\n[startDate](/search-ads/v2/reference/reports#request.columns.startDate),\nand [endDate](/search-ads/v2/reference/reports#request.columns.endDate).\nNote that some columns cannot be filtered; refer to \"Filterable\" in the table below.\n\n| `columnName` | Description | Behavior | Type | Filterable |\n|------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|---------------|------------|\n| `status` | The status of the negative keyword: `Active` or `Removed`. Note that campaigns, ad groups, keywords, and ads each have their own status. See [status](https://support.google.com/searchads/answer/2405081). | attribute | `Status` | Yes |\n| `engineStatus` | Additional status of the negative campaign keyword in the external engine account. | attribute | `String` | Yes |\n| `creationTimestamp` | Timestamp of the negative keyword's creation, formatted in ISO 8601. | attribute | `Timestamp` | Yes |\n| `lastModifiedTimestamp` | Timestamp of the negative keyword's most recent modification, formatted in ISO 8601. | attribute | `Timestamp` | Yes |\n| `agency` | Agency name. | attribute | `String` | Yes |\n| `agencyId` | DS agency ID. | attribute | `ID` | Yes |\n| `advertiser` | Advertiser name. | attribute | `String` | Yes |\n| `advertiserId` | DS advertiser ID. | attribute | `ID` | Yes |\n| `account` | Engine account name. | attribute | `String` | Yes |\n| `accountId` | DS engine account ID. | attribute | `ID` | Yes |\n| `accountEngineId` | ID of the account in the external engine account. | attribute | `String` | Yes |\n| `accountType` | Engine account type: `Google AdWords`, `Bing Ads`, `Yahoo Japan Listing Ads`, `Yahoo Search Marketing`, `Yahoo Gemini`, `Baidu`, or `Comparison Shopping`. | attribute | `Engine type` | Yes |\n| `campaign` | Campaign name. | attribute | `String` | Yes |\n| `campaignId` | DS campaign ID. | attribute | `ID` | Yes |\n| `campaignStatus` | The status of the campaign that contains this item. | attribute | `Status` | Yes |\n| `negativeCampaignKeywordId` | DS negative campaign keyword ID. | attribute | `ID` | Yes |\n| `negativeCampaignKeywordText` | The keyword text. | attribute | `String` | Yes |\n| `negativeCampaignKeywordMatchType` | Match type of the negative keyword: `Broad`, `Exact`, `Phrase`, or `Content`. Currently only for Google Ads accounts. | attribute | `Match type` | Yes |"]]