Represents a callout that can be part of 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_callout#clearEndDate) | `void` | Clears the callout's end date. |
| [clearStartDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_callout#clearStartDate) | `void` | Clears the callout's start date. |
| [getEndDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_callout#getEndDate) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | Returns the end date of the callout, or `null` if no end date is set. |
| [getEntityType()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_callout#getEntityType) | `String` | Returns the type of this entity as a `String`, in this case, `"Callout"`. |
| [getId()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_callout#getId) | `String` | Returns the ID of the callout. |
| [getResourceName()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_callout#getResourceName) | `String` | Returns the resource name of the callout. |
| [getSchedules()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_callout#getSchedules) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_extensionschedule` | Returns the scheduling of the callout. |
| [getStartDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_callout#getStartDate) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | Returns the start date of the callout, or `null` if no start date is set. |
| [getStatsFor(dateRange)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_callout#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_callout#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_callout#getText) | `String` | Returns the text of the callout. |
| [isMobilePreferred()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_callout#isMobilePreferred) | `boolean` | Returns `true` if the callout specifies mobile device preference. |
| [setEndDate(date)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_callout#setEndDate_date) | `void` | Sets the 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_callout#setMobilePreferred_isMobilePreferred) | `void` | Sets the callout's device preference. |
| [setSchedules(schedules)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_callout#setSchedules_schedules) | `void` | Sets the callout scheduling. |
| [setStartDate(date)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_callout#setStartDate_date) | `void` | Sets the 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_callout#setText_text) | `void` | Sets the text of the callout. |

## `clearEndDate()`

Clears the callout's end date.

Returns nothing.

## `clearStartDate()`

Clears the callout's start date.

Returns nothing.

## `getEndDate()`

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

For instance, if the end date of the 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 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, `"Callout"`.

### Return values:

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

## `getId()`

Returns the ID of the callout.

### Return values:

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

## `getResourceName()`

Returns the resource name of the callout.

### Return values:

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

## `getSchedules()`

Returns the scheduling of the callout.

### Return values:

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

## `getStartDate()`

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

For instance, if the start date of the 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 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 = callout.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 callout.

### Return values:

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

## `isMobilePreferred()`

Returns `true` if the callout specifies mobile device preference.

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

### Return values:

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

## `setEndDate(date)`

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

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

## `setMobilePreferred(isMobilePreferred)`

Sets the 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 callout scheduling. Scheduling of a callout allows you to control the days of week and times of day during which the callout will show alongside your ads.

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

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

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

Returns nothing.

### Arguments:

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

## `setStartDate(date)`

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

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

Returns nothing.

### Arguments:

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

## `setText(text)`

Sets the text of the callout.

Returns nothing.

### Arguments:

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