Represents a product category.

### Methods:

| Member | Type | Description |
|---|---|---|
| [children()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#children) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productgroupselector` | Returns a selector of the child product groups of this product category. |
| [exclude()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#exclude) | `void` | Converts the product category into a negative product category. |
| [getAdGroup()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#getAdGroup) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_shoppingadgroup` | Returns the shopping ad group to which this product category belongs. |
| [getCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#getCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_shoppingcampaign` | Returns the shopping campaign to which this product category belongs. |
| [getCountry()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#getCountry) | `String` | > [!WARNING] > **Deprecated:** This method is deprecated and will be removed soon. |
| [getEntityType()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#getEntityType) | `String` | Returns the type of this entity as a `String`, in this case, `"ProductCategory"`. |
| [getId()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#getId) | `String` | Returns the ID of the product category. |
| [getMaxCpc()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#getMaxCpc) | `double` | Returns the max cpc bid of the product category, in the currency of the account. |
| [getName()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#getName) | `String` | Returns the name of the product category or `null` otherwise. |
| [getName(optionalLanguageCode)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#getName_optionalLanguageCode) | `String` | Returns the name of the product category or `null` otherwise. |
| [getResourceName()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#getResourceName) | `String` | Returns the resource name of the product category. |
| [getStatsFor(dateRange)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#getStatsFor_dateRange) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_stats` | Returns stats for the specified date range. |
| [getStatsFor(dateFrom, dateTo)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#getStatsFor_dateFrom-dateTo) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_stats` | Returns stats for the specified custom date range. |
| [getValue()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#getValue) | `String` | Returns the value of the product category or `null` if this is the root product group. |
| [include()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#include) | `void` | Converts the product category into a positive product category. |
| [isExcluded()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#isExcluded) | `boolean` | Returns `true` if this is an excluded product category. |
| [isOtherCase()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#isOtherCase) | `boolean` | Returns `true` if the product category is a catch-all product category. |
| [newChild()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#newChild) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productgroupbuilderspace` | Returns access to the product group builder space or `null` if the product category is excluded. |
| [parent()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#parent) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productgroup` | Returns the parent product group of this product category or `null` if this is the root product group. |
| [remove()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#remove) | `void` | Removes the product category. |
| [removeAllChildren()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#removeAllChildren) | `void` | Will remove all child product groups of this product category. |
| [setMaxCpc(maxCpc)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productcategory#setMaxCpc_maxCpc) | `void` | Sets the max cpc bid of the product category to the specified value. |

## `children()`

Returns a selector of the child product groups of this product category.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productgroupselector` | A selector of the child product groups of this product category. |

## `exclude()`

Converts the product category into a negative product category. Does nothing if the product category has children or is already excluded.

Returns nothing.

## `getAdGroup()`

Returns the shopping ad group to which this product category belongs.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_shoppingadgroup` | The shopping ad group to which this product category belongs. |

## `getCampaign()`

Returns the shopping campaign to which this product category belongs.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_shoppingcampaign` | The shopping campaign to which this product category belongs. |

## `getCountry()`

> [!WARNING]
> **Deprecated:** This method is deprecated and will be removed soon.

Returns the name of the country of the product category or `null` otherwise.

### Return values:

| Type | Description |
|---|---|
| `String` | The name of the country of the product category or `null` otherwise. |

## `getEntityType()`

Returns the type of this entity as a `String`, in this case, `"ProductCategory"`.

### Return values:

| Type | Description |
|---|---|
| `String` | Type of this entity: `"ProductCategory"`. |

## `getId()`

Returns the ID of the product category.

### Return values:

| Type | Description |
|---|---|
| `String` | The ID of the product category. |

## `getMaxCpc()`

Returns the max cpc bid of the product category, in the currency of the account. Returns `null` if the [campaign's bidding
strategy](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign#getBiddingStrategyType) is not `MANUAL_CPC` or the product category is excluded.

### Return values:

| Type | Description |
|---|---|
| `double` | The max cpc bid of the product category or `null` if the product category has no max cpc bid. |

## `getName()`

Returns the name of the product category or `null` otherwise.

### Return values:

| Type | Description |
|---|---|
| `String` | The name of the product category or `null` otherwise. |

## `getName(optionalLanguageCode)`

Returns the name of the product category or `null` otherwise.

### Arguments:

| Name | Type | Description |
|---|---|---|
| optionalLanguageCode | `String` | **Optional**locale to be used for localising the product bidding category names. If unspecified, the language code defaults to "en-US".**** |

### Return values:

| Type | Description |
|---|---|
| `String` | The name of the product category or `null` otherwise. |

## `getResourceName()`

Returns the resource name of the product category. A product group can be identified by an ad_group_criterion resource name or a product_group_view resource name. This method will return an ad_group_criterion resource name although either is compatible with `ProductGroupSelector.withResourceNames`.

### Return values:

| Type | Description |
|---|---|
| `String` | The resource name of the product category. |

## `getStatsFor(dateRange)`

Returns stats for the specified date range. Supported values:

`TODAY, YESTERDAY, LAST_7_DAYS, THIS_WEEK_SUN_TODAY, LAST_WEEK,
LAST_14_DAYS, LAST_30_DAYS, LAST_BUSINESS_WEEK, LAST_WEEK_SUN_SAT,
THIS_MONTH, LAST_MONTH, ALL_TIME`.

Example:

```
var stats = productCategory.getStatsFor("THIS_MONTH");
```

### Arguments:

| Name | Type | Description |
|---|---|---|
| dateRange | `String` | Date range for which the stats are requested. |

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_stats` | The stats for the specified date range. |

## `getStatsFor(dateFrom, dateTo)`

Returns stats for the specified custom date range. Both parameters can be either an object containing year, month, and day fields, or an 8-digit string in `YYYYMMDD` form. For instance, `March 24th,
2013` is represented as either `{year: 2013, month: 3, day:
24}` or `"20130324"`. The date range is inclusive on both ends, so `forDateRange("20130324", "20130324")` defines a range of a single day.

### Arguments:

| Name | Type | Description |
|---|---|---|
| dateFrom | `Object` | Start date of the date range. Must be either a string in `YYYYMMDD` form, or an object with `year`, `month` and `day` properties. |
| dateTo | `Object` | End date of the date range. Must be either a string in `YYYYMMDD` form, or an object with `year`, `month` and `day` properties. |

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_stats` | The stats for the specified date range. |

## `getValue()`

Returns the value of the product category or `null` if this is the root product group.

### Return values:

| Type | Description |
|---|---|
| `String` | The value of the product category or `null` if this is the root product group. |

## `include()`

Converts the product category into a positive product category. Does nothing if the product category is not excluded.

Returns nothing.

## `isExcluded()`

Returns `true` if this is an excluded product category.

### Return values:

| Type | Description |
|---|---|
| `boolean` | `true` if this is an excluded product category. |

## `isOtherCase()`

Returns `true` if the product category is a catch-all product category. i.e. `'Everything else'`.

### Return values:

| Type | Description |
|---|---|
| `boolean` | `true` if the product category is a catch-all product category. i.e. `'Everything else'`. |

## `newChild()`

Returns access to the product group builder space or `null` if the product category is excluded.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productgroupbuilderspace` | Access to the product group builder space or `null` if the product category is excluded. |

## `parent()`

Returns the parent product group of this product category or `null` if this is the root product group.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productgroup` | The parent product group of this product category. |

## `remove()`

Removes the product category.

Returns nothing.

## `removeAllChildren()`

Will remove all child product groups of this product category.

Returns nothing.

## `setMaxCpc(maxCpc)`

Sets the max cpc bid of the product category to the specified value. The change will take effect only if the [campaign's bidding
strategy](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign#getBiddingStrategyType) is `MANUAL_CPC` and the product category is not excluded.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| maxCpc | `double` | The new max cpc bid. |