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

### Methods:

| Member | Type | Description |
|---|---|---|
| [clearEndDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#clearEndDate) | `void` | Clears the campaign-level callout's end date. |
| [clearStartDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#clearStartDate) | `void` | Clears the campaign-level callout's start date. |
| [getBaseCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#getBaseCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign` | Returns the base campaign to which this campaign-level callout belongs. |
| [getCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#getCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign` | Returns the campaign to which this campaign-level callout 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_campaigncallout#getEndDate) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | Returns the end date of the campaign-level callout, or `null` if no end date is set. |
| [getEntityType()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#getEntityType) | `String` | Returns the type of this entity as a `String`, in this case, `"CampaignCallout"`. |
| [getId()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#getId) | `String` | Returns the ID of the campaign-level callout. |
| [getPerformanceMaxCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#getPerformanceMaxCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_performancemaxcampaign` | Returns the performance max campaign to which this campaign-level callout belongs or `null` if it does not belong to a performance max campaign. |
| [getResourceName()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#getResourceName) | `String` | Returns the resource name of the campaign-level callout. |
| [getSchedules()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#getSchedules) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_extensionschedule` | Returns the scheduling of the campaign-level callout. |
| [getStartDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#getStartDate) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | Returns the start date of the campaign-level callout, or `null` if no start date is set. |
| [getStatsFor(dateRange)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#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_campaigncallout#getStatsFor_dateFrom-dateTo) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_stats` | Returns stats for the specified custom date range. |
| [getText()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#getText) | `String` | Returns the text of the campaign-level callout. |
| [isMobilePreferred()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#isMobilePreferred) | `boolean` | Returns `true` if the campaign-level callout specifies mobile device preference. |
| [setEndDate(date)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#setEndDate_date) | `void` | Sets the campaign-level callout's end date from either an object containing year, month, and day fields, or an 8-digit string in `YYYYMMDD` format. |
| [setMobilePreferred(isMobilePreferred)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#setMobilePreferred_isMobilePreferred) | `void` | Sets the campaign-level callout's device preference. |
| [setSchedules(schedules)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#setSchedules_schedules) | `void` | Sets the campaign-level callout scheduling. |
| [setStartDate(date)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#setStartDate_date) | `void` | Sets the campaign-level callout's start date from either an object containing year, month, and day fields, or an 8-digit string in `YYYYMMDD` format. |
| [setText(text)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaigncallout#setText_text) | `void` | Sets the text of the campaign-level callout. |

## `clearEndDate()`

Clears the campaign-level callout's end date.

Returns nothing.

## `clearStartDate()`

Clears the campaign-level callout's start date.

Returns nothing.

## `getBaseCampaign()`

Returns the base campaign to which this campaign-level callout 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 callout belongs. |

## `getCampaign()`

Returns the campaign to which this campaign-level callout 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 callout belongs or `null` if it does not belong to a search or display campaign. |

## `getEndDate()`

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

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

### Return values:

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

## `getEntityType()`

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

### Return values:

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

## `getId()`

Returns the ID of the campaign-level callout.

### Return values:

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

## `getPerformanceMaxCampaign()`

Returns the performance max campaign to which this campaign-level callout 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 callout belongs or `null` if it does not belong to a performance max campaign. |

## `getResourceName()`

Returns the resource name of the campaign-level callout.

### Return values:

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

## `getSchedules()`

Returns the scheduling of the campaign-level callout.

### Return values:

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

## `getStartDate()`

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

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

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | The campaign-level callout'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 = campaignCallout.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. |

## `getText()`

Returns the text of the campaign-level callout.

### Return values:

| Type | Description |
|---|---|
| `String` | Text of the campaign-level callout. |

## `isMobilePreferred()`

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

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

### Return values:

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

## `setEndDate(date)`

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

For instance, `campaignCallout.setEndDate("20130503");` is equivalent to `campaignCallout.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.

Returns nothing.

### Arguments:

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

## `setMobilePreferred(isMobilePreferred)`

Sets the campaign-level callout'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. |

## `setSchedules(schedules)`

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

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

The following example sets the campaign-level callout 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
};

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

Returns nothing.

### Arguments:

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

## `setStartDate(date)`

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

For instance, `campaignCallout.setStartDate("20130503");` is equivalent to `campaignCallout.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 callout's end date.

Returns nothing.

### Arguments:

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

## `setText(text)`

Sets the text of the campaign-level callout.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| text | `String` | The text. |