Represents a Google Ads product ad.

See the [help
center](https://support.google.com/google-ads/answer/2454022) for more information on product ads.

### Methods:

| Member | Type | Description |
|---|---|---|
| [applyLabel(name)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#applyLabel_name) | `void` | Applies a label to the product ad. |
| [enable()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#enable) | `void` | Enables the product ad. |
| [getAdGroup()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#getAdGroup) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_shoppingadgroup` | Returns the shopping ad group to which this product ad belongs. |
| [getCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#getCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_shoppingcampaign` | Returns the shopping campaign to which this product ad belongs. |
| [getEntityType()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#getEntityType) | `String` | Returns the type of this entity as a `String`, in this case, `"ProductAd"`. |
| [getId()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#getId) | `String` | Returns the ID of the product ad. |
| [getResourceName()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#getResourceName) | `String` | Returns the resource name of the product ad. |
| [getStatsFor(dateRange)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#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_productad#getStatsFor_dateFrom-dateTo) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_stats` | Returns stats for the specified custom date range. |
| [getType()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#getType) | `String` | Returns the type of the ad. |
| [isEnabled()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#isEnabled) | `boolean` | Returns `true` if the product ad is enabled. |
| [isMobilePreferred()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#isMobilePreferred) | `boolean` | Returns `true` if the product ad specifies mobile device preference or `false` otherwise. |
| [isPaused()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#isPaused) | `boolean` | Returns `true` if the product ad is paused. |
| [labels()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#labels) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_labelselector` | Creates a selector of all labels applied to the product ad. |
| [pause()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#pause) | `void` | Pauses the product ad. |
| [remove()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#remove) | `void` | Removes the product ad. |
| [removeLabel(name)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_productad#removeLabel_name) | `void` | Removes a label from the product ad. |

## `applyLabel(name)`

Applies a label to the product ad. `name` of the label is case-sensitive. Operation will fail if the label with the specified name does not already exist in the account.

Note that the product ad cannot have more than 50 labels.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| name | `String` | Name of the label to apply. |

## `enable()`

Enables the product ad.

Returns nothing.

## `getAdGroup()`

Returns the shopping ad group to which this product ad 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 ad belongs. |

## `getCampaign()`

Returns the shopping campaign to which this product ad belongs.

### Return values:

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

## `getEntityType()`

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

### Return values:

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

## `getId()`

Returns the ID of the product ad.

Ad IDs may be shared across ad groups. In order to uniquely identify one
ad, one must specify both its ad group ID and its creative ID.

### Return values:

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

## `getResourceName()`

Returns the resource name of the product ad.

### Return values:

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

## `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 = productAd.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. |

## `getType()`

Returns the type of the ad. For product ads, this is `PRODUCT_AD`.

### Return values:

| Type | Description |
|---|---|
| `String` | The type of the ad. |

## `isEnabled()`

Returns `true` if the product ad is enabled.

### Return values:

| Type | Description |
|---|---|
| `boolean` | `true` if the product ad is enabled. |

## `isMobilePreferred()`

Returns `true` if the product ad specifies mobile device preference or `false` otherwise.

### Return values:

| Type | Description |
|---|---|
| `boolean` | Whether the product ad is mobile-preferred. |

## `isPaused()`

Returns `true` if the product ad is paused.

### Return values:

| Type | Description |
|---|---|
| `boolean` | `true` if the product ad is paused. |

## `labels()`

Creates a selector of all labels applied to the product ad.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_labelselector` | Selector of all labels applied to the product ad. |

## `pause()`

Pauses the product ad.

Returns nothing.

## `remove()`

Removes the product ad.

Returns nothing.

## `removeLabel(name)`

Removes a label from the product ad. `name` of the label is case-sensitive. Operation will fail if the label with the specified name does not already exist in the account.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| name | `String` | Name of the label. |