Represents a price that has been added to a campaign as an ad price extension. Visit our [Ad Extensions](https://developers.google.com/google-ads/scripts/docs/features/ad-extensions) page for more information on prices and other types of ad extensions.

### Methods:

| Member | Type | Description |
|---|---|---|
| [addPriceItem(priceItem)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#addPriceItem_priceItem) | `void` | Adds a price item to the campaign-level price. |
| [clearEndDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#clearEndDate) | `void` | Clears the campaign-level price's end date. |
| [clearPriceQualifier()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#clearPriceQualifier) | `void` | Clears the price qualifier of the campaign-level price. |
| [clearStartDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#clearStartDate) | `void` | Clears the campaign-level price's start date. |
| [clearTrackingTemplate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#clearTrackingTemplate) | `void` | Clears the tracking template of the campaign-level price. |
| [getBaseCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getBaseCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign` | Returns the base campaign to which this campaign-level price belongs. |
| [getCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign` | Returns the campaign to which this campaign-level price belongs or `null` if it does not belong to a search or display campaign. |
| [getEndDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getEndDate) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | Returns the end date of the campaign-level price, or `null` if no end date is set. |
| [getEntityType()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getEntityType) | `String` | Returns the type of this entity as a `String`, in this case, `"CampaignPrice"`. |
| [getId()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getId) | `String` | Returns the ID of the campaign-level price. |
| [getLanguage()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getLanguage) | `String` | Returns the language used for the campaign-level price. |
| [getPerformanceMaxCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getPerformanceMaxCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_performancemaxcampaign` | Returns the performance max campaign to which this campaign-level price belongs or `null` if it does not belong to a performance max campaign. |
| [getPriceItems()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getPriceItems) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_priceitem` | Returns the price items in the campaign-level price. |
| [getPriceQualifier()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getPriceQualifier) | `String` | Returns the price qualifier of the campaign-level price. |
| [getPriceType()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getPriceType) | `String` | Returns the price extension type of the campaign-level price. |
| [getResourceName()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getResourceName) | `String` | Returns the resource name of the campaign-level price. |
| [getSchedules()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getSchedules) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_extensionschedule` | Returns the scheduling of the campaign-level price. |
| [getStartDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getStartDate) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | Returns the start date of the campaign-level price, or `null` if no start date is set. |
| [getStatsFor(dateRange)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#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_campaignprice#getStatsFor_dateFrom-dateTo) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_stats` | Returns stats for the specified custom date range. |
| [getTrackingTemplate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#getTrackingTemplate) | `String` | Returns the tracking template of the campaign-level price. |
| [isMobilePreferred()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#isMobilePreferred) | `boolean` | Returns `true` if the campaign-level price specifies mobile device preference. |
| [removePriceItem(priceItem)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#removePriceItem_priceItem) | `void` | Removes a price item from the campaign-level price. |
| [setEndDate(date)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#setEndDate_date) | `void` | Sets the campaign-level price's end date from either an object containing year, month, and day fields, or an 8-digit string in `YYYYMMDD` format. |
| [setLanguage(language)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#setLanguage_language) | `void` | Sets the language of the price. |
| [setMobilePreferred(isMobilePreferred)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#setMobilePreferred_isMobilePreferred) | `void` | Sets the campaign-level price's device preference. |
| [setPriceQualifier(priceQualifier)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#setPriceQualifier_priceQualifier) | `void` | Sets the price qualifier of the campaign-level price. |
| [setPriceType(priceType)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#setPriceType_priceType) | `void` | Sets the price extension type of the campaign-level price. |
| [setSchedules(schedules)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#setSchedules_schedules) | `void` | Sets the campaign-level price scheduling. |
| [setStartDate(date)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#setStartDate_date) | `void` | Sets the campaign-level price's start date from either an object containing year, month, and day fields, or an 8-digit string in `YYYYMMDD` format. |
| [setTrackingTemplate(trackingTemplate)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignprice#setTrackingTemplate_trackingTemplate) | `void` | Sets the tracking template of the campaign-level price. |

## `addPriceItem(priceItem)`

Adds a price item to the campaign-level price.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| priceItem | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_priceitem` | The price item to add to the campaign-level price. |

## `clearEndDate()`

Clears the campaign-level price's end date.

> [!WARNING]
> **Deprecated.**

Returns nothing.

## `clearPriceQualifier()`

Clears the price qualifier of the campaign-level price.

Returns nothing.

## `clearStartDate()`

Clears the campaign-level price's start date.

> [!WARNING]
> **Deprecated.**

Returns nothing.

## `clearTrackingTemplate()`

Clears the tracking template of the campaign-level price.

Returns nothing.

## `getBaseCampaign()`

Returns the base campaign to which this campaign-level price belongs.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign` | The base campaign to which this campaign-level price belongs. |

## `getCampaign()`

Returns the campaign to which this campaign-level price belongs or `null` if it does not belong to a search or display campaign.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign` | The campaign to which this campaign-level price belongs or `null` if it does not belong to a search or display campaign. |

## `getEndDate()`

Returns the end date of the campaign-level price, or `null` if no end date is set.

For instance, if the end date of the campaign-level price is May 3, 2013,
this would return the following object: `{year: 2013, month: 5, day:
3}`.

> [!WARNING]
> **Deprecated.**

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | The campaign-level price's end date, or `null` if there's no end date. |

## `getEntityType()`

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

### Return values:

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

## `getId()`

Returns the ID of the campaign-level price.

### Return values:

| Type | Description |
|---|---|
| `String` | The ID of the campaign-level price. |

## `getLanguage()`

Returns the language used for the campaign-level price.

### Return values:

| Type | Description |
|---|---|
| `String` | The language used for the campaign-level price. |

## `getPerformanceMaxCampaign()`

Returns the performance max campaign to which this campaign-level price belongs or `null` if it does not belong to a performance max campaign.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_performancemaxcampaign` | The performance max campaign to which this campaign-level price belongs or `null` if it does not belong to a performance max campaign. |

## `getPriceItems()`

Returns the price items in the campaign-level price.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_priceitem` | The price items in the campaign-level price. |

## `getPriceQualifier()`

Returns the price qualifier of the campaign-level price.

### Return values:

| Type | Description |
|---|---|
| `String` | The price qualifier of the campaign-level price. |

## `getPriceType()`

Returns the price extension type of the campaign-level price.

### Return values:

| Type | Description |
|---|---|
| `String` | The price extension type of the campaign-level price. |

## `getResourceName()`

Returns the resource name of the campaign-level price.

### Return values:

| Type | Description |
|---|---|
| `String` | The resource name of the campaign-level price. |

## `getSchedules()`

Returns the scheduling of the campaign-level price.

> [!WARNING]
> **Deprecated.**

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_extensionschedule` | The scheduling of the campaign-level price. |

## `getStartDate()`

Returns the start date of the campaign-level price, or `null` if no start date is set.

For instance, if the start date of the campaign-level price is May 3,
2013, this would return the following object: `{year: 2013, month: 5,
day: 3}`.

> [!WARNING]
> **Deprecated.**

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | The campaign-level price's start date, or `null` if there's no start date. |

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

## `getTrackingTemplate()`

Returns the tracking template of the campaign-level price.

You can optionally use the tracking template to specify additional
tracking parameters or redirects. Google Ads will use this template to
assemble the actual destination URL to associate with the ad.

A tracking template specified at a lower level entity will override the
setting specified at a higher level entity, e.g., a tracking template at
the ad group level overrides the setting at the campaign level.

See [Using
Upgraded URLs](https://support.google.com/google-ads/answer/6049217) for more information.

### Return values:

| Type | Description |
|---|---|
| `String` | The tracking template of the campaign-level price. |

## `isMobilePreferred()`

Returns `true` if the campaign-level price specifies mobile device preference.

> [!WARNING]
> **Deprecated.**

### Return values:

| Type | Description |
|---|---|
| `boolean` | `true` if the campaign-level price specifies mobile device preference. |

## `removePriceItem(priceItem)`

Removes a price item from the campaign-level price.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| priceItem | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_priceitem` | The price item to remove from the campaign-level price. |

## `setEndDate(date)`

Sets the campaign-level price's end date from either an object containing year, month, and day fields, or an 8-digit string in `YYYYMMDD` format.

For instance, `campaignPrice.setEndDate("20130503");` is equivalent to `campaignPrice.setEndDate({year: 2013, month: 5, day: 3});`.

The change will fail and report an error if:

- the given date is invalid (e.g., `{year: 2013, month: 5, day: 55}`),
- the start date now comes after the end date, or
- it's a date in the past.

> [!WARNING]
> **Deprecated.**

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| date | `Object` | The new campaign-level price end date. |

## `setLanguage(language)`

Sets the language of the price. This field is required. Supported language codes are:

- de
- en
- es
- es-419
- fr
- it
- ja
- nl
- pl
- pt-BR
- pt-PT
- ru
- sv

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| language | `String` | The code for the language of the price. |

## `setMobilePreferred(isMobilePreferred)`

Sets the campaign-level price's device preference.

> [!WARNING]
> **Deprecated.**

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| isMobilePreferred | `boolean` | `true` sets the device preference to mobile. `false` clears the device preference. |

## `setPriceQualifier(priceQualifier)`

Sets the price qualifier of the campaign-level price.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| priceQualifier | `String` | The price qualifier of the campaign-level price. |

## `setPriceType(priceType)`

Sets the price extension type of the campaign-level price.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| priceType | `String` | The price extension type of the campaign-level price. |

## `setSchedules(schedules)`

Sets the campaign-level price scheduling. Scheduling of a campaign-level price allows you to control the days of week and times of day during which the campaign-level price will show alongside your ads.

Passing in an empty array clears the scheduling field, causing the campaign-level price to run at all times.

The following example sets the campaign-level price to run on Mondays and
Tuesday from 8:00 to 11:00.

```
var mondayMorning = {
  dayOfWeek: "MONDAY",
  startHour: 8,
  startMinute: 0,
  endHour: 11,
  endMinute: 0
};
var tuesdayMorning = {
  dayOfWeek: "TUESDAY",
  startHour: 8,
  startMinute: 0,
  endHour: 11,
  endMinute: 0
};

campaignPrice.setSchedules([mondayMorning, tuesdayMorning]);
```

> [!WARNING]
> **Deprecated.**

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| schedules | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_extensionschedule` | The new campaign-level price schedules. |

## `setStartDate(date)`

Sets the campaign-level price's start date from either an object containing year, month, and day fields, or an 8-digit string in `YYYYMMDD` format.

For instance, `campaignPrice.setStartDate("20130503");` is equivalent to `campaignPrice.setStartDate({year: 2013, month: 5, day: 3});`.

The change will fail and report an error if:

- the given date is invalid (e.g., `{year: 2013, month: 5, day: 55}`),
- the given date is after the campaign-level price's end date.

> [!WARNING]
> **Deprecated.**

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| date | `Object` | The new campaign-level price start date. |

## `setTrackingTemplate(trackingTemplate)`

Sets the tracking template of the campaign-level price.

You can optionally use the tracking template to specify additional
tracking parameters or redirects. Google Ads will use this template to
assemble the actual destination URL to associate with the ad.

A tracking template specified at a lower level entity will override the
setting specified at a higher level entity, e.g., a tracking template at
the ad group level overrides the setting at the campaign level.

See [Using
Upgraded URLs](https://support.google.com/google-ads/answer/6049217) for more information.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| trackingTemplate | `String` | The tracking template of the campaign-level price. |