Represents a Google Ads targeted location.

Targeted locations are used to only show your ads in specific geographic
areas. For instance, a broadly-targeted campaign might have location targets
for an entire country, whereas a more specifically-targeted campaign might
break down its location targets at the city level.

For more information on locations, see the [API documentation on
geotargeting](https://developers.google.com/google-ads/api/reference/data/geotargets).

See also [ExcludedLocation](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_excludedlocation).

### Methods:

| Member | Type | Description |
|---|---|---|
| [getBidModifier()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#getBidModifier) | `double` | Returns the bid modifier for this targeted location. |
| [getCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#getCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign` | Returns the campaign to which this targeted location belongs or `null` if it does not belong to a search or display campaign. |
| [getCampaignType()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#getCampaignType) | `String` | Returns the campaign type. |
| [getCountryCode()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#getCountryCode) | `String` | Returns the country code of this location. |
| [getEntityType()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#getEntityType) | `String` | Returns the type of this entity as a `String`, in this case, `"TargetedLocation"`. |
| [getId()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#getId) | `String` | Returns the ID of the targeted location. |
| [getName()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#getName) | `String` | Returns the name of this location. |
| [getResourceName()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#getResourceName) | `String` | Returns the resource name of the targeted location. |
| [getShoppingCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#getShoppingCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_shoppingcampaign` | Returns the shopping campaign to which this targeted location belongs or `null` if it does not belong to a shopping campaign. |
| [getStatsFor(dateRange)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#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_targetedlocation#getStatsFor_dateFrom-dateTo) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_stats` | Returns stats for the specified custom date range. |
| [getTargetType()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#getTargetType) | `String` | Returns the target type of this location. |
| [getTargetingStatus()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#getTargetingStatus) | `String` | Returns the targeting status of this location. |
| [getVideoCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#getVideoCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_videocampaign` | Returns the video campaign to which this targeted location belongs or `null` if it does not belong to a video campaign. |
| [remove()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#remove) | `void` | Removes the targeted location. |
| [setBidModifier(modifier)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_targetedlocation#setBidModifier_modifier) | `void` | Sets the bid modifier for this targeted location. |

## `getBidModifier()`

Returns the bid modifier for this targeted location.

The bid modifier is a multiplier applied to bids which match this targeted location. So, for instance, a bid modifier of `1.1`
increases the bid to 110% of its original value, and changes a bid of $5.00
to a bid of $5.50.

The bid modifiers for all matching criteria are multiplied together to
calculate the actual bid modification. A campaign with the following bid
modifiers:

| Type | Value | Bid Modifier |
|---|---|---|
| Location | Laos | `1.3` |
| Ad Schedule | Saturday 6AM-10AM | `0.9` |
| Platform | Mobile | `1.1` |

would have a combined bid modifier of `1.3 * 0.9 * 1.1 = 1.287`, so a bid of $10 would get increased to $12.87 for metrics.clicks by Laotian smartphone users on Saturday mornings in the account timezone.

For more information about bid modifiers, please see the [Google Ads Help
Center article](https://support.google.com/google-ads/answer/2732132).

### Return values:

| Type | Description |
|---|---|
| `double` | The criterion bid modifier. |

## `getCampaign()`

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

## `getCampaignType()`

Returns the campaign type. Possible return values:

`SEARCH_OR_DISPLAY, VIDEO, SHOPPING`

### Return values:

| Type | Description |
|---|---|
| `String` | Video campaign type. |

## `getCountryCode()`

Returns the country code of this location.

This is the standard two-letter country code, e.g. `"US"` or
`"BR"`.

### Return values:

| Type | Description |
|---|---|
| `String` | The country code of this location. |

## `getEntityType()`

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

### Return values:

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

## `getId()`

Returns the ID of the targeted location.

Location IDs are shared across campaigns. In order to uniquely identify
a location target, one must specify both its campaign ID and the location
ID.

### Return values:

| Type | Description |
|---|---|
| `String` | The ID of the targeted location. |

## `getName()`

Returns the name of this location.

### Return values:

| Type | Description |
|---|---|
| `String` | The name of this location. |

## `getResourceName()`

Returns the resource name of the targeted location.

### Return values:

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

## `getShoppingCampaign()`

Returns the shopping campaign to which this targeted location belongs or `null` if it does not belong to a shopping campaign.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_shoppingcampaign` | The shopping campaign to which this targeted location belongs or `null` if it does not belong to a shopping campaign. |

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

## `getTargetType()`

Returns the target type of this location.

The target type is a generic description of the location, such as
`"City"`, `"Postal Code"`, or `"Country"`.
For a full list of target types, see [Geo targets](https://developers.google.com/google-ads/api/reference/data/geotargets).

### Return values:

| Type | Description |
|---|---|
| `String` | The target type of this location. |

## `getTargetingStatus()`

Returns the targeting status of this location.

This can return one of three values:

- `"ACTIVE"`: indicates that the location can be targeted as normal. The vast majority of locations are active.
- `"PHASING_OUT"`: indicates that the location can be targeted, but that support will soon be removed. To get a list of which locations are phasing out, see [Geo targets](https://developers.google.com/google-ads/api/reference/data/geotargets).
- `"OBSOLETE"`: indicates that the location cannot be targeted.

### Return values:

| Type | Description |
|---|---|
| `String` | The targeting status of this location. |

## `getVideoCampaign()`

Returns the video campaign to which this targeted location belongs or `null` if it does not belong to a video campaign.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_videocampaign` | The video campaign to which this targeted location belongs or `null` if it does not belong to a video campaign. |

## `remove()`

Removes the targeted location.

Returns nothing.

## `setBidModifier(modifier)`

Sets the bid modifier for this targeted location.

The bid modifier is a multiplier applied to bids which match this targeted location. So, for instance, a bid modifier of `1.1`
increases the bid to 110% of its original value, and changes a bid of
`$5.00` to a bid of `$5.50`.

The bid modifiers for all matching criteria are multiplied together to
calculate the actual bid modification. A campaign with the following bid
modifiers:

| Type | Value | Bid Modifier |
|---|---|---|
| Location | Laos | `1.3` |
| Ad Schedule | Saturday 6AM-10AM | `0.9` |
| Platform | Mobile | `1.1` |

would have a combined bid modifier of `1.3 * 0.9 * 1.1 = 1.287`, so a bid of $10 would get increased to $12.87 for metrics.clicks by Laotian smartphone users on Saturday mornings in the account timezone.

For more information about bid modifiers, please see the [Google Ads Help
Center article](https://support.google.com/google-ads/answer/2732132).
For locations, acceptable bid modifiers are in the range `0.1`
to `10`.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| modifier | `double` | The new bid modifier. |