AI-generated Key Takeaways
- 
          This object fetches ad group-level phone numbers and supports filtering and sorting. 
- 
          The forDateRange()method allows setting a predefined or custom date range for the selection.
- 
          The get()method fetches the phone numbers and returns an iterator to access them.
- 
          The orderBy()method allows specifying the order in which the results are returned, supporting multiple sorting criteria.
- 
          The withCondition()method adds filters to narrow down the results based on various column types and operators.
Typical usage:
var adGroupPhoneNumberSelector = adGroup.extensions() .phoneNumbers() .withCondition("metrics.impressions > 100") .forDateRange("LAST_MONTH") .orderBy("metrics.clicks DESC"); var adGroupPhoneNumberIterator = adGroupPhoneNumberSelector.get(); while (adGroupPhoneNumberIterator.hasNext()) { var adGroupPhoneNumber = adGroupPhoneNumberIterator.next(); }
Methods:
| Member | Type | Description | 
|---|---|---|
| forDateRange(dateRange) | AdsApp.AdGroupPhoneNumberSelector | Sets a predefined date range onto the selector. | 
| forDateRange(dateFrom, dateTo) | AdsApp.AdGroupPhoneNumberSelector | Sets a custom date range onto the selector. | 
| get() | AdsApp.AdGroupPhoneNumberIterator | Fetches the requested ad group-level phone numbers and returns an iterator. | 
| orderBy(orderBy) | AdsApp.AdGroupPhoneNumberSelector | Specifies the ordering of the resulting entities. | 
| withCondition(condition) | AdsApp.AdGroupPhoneNumberSelector | Adds the specified condition to the selector in order to narrow down the results. | 
| withLimit(limit) | AdsApp.AdGroupPhoneNumberSelector | Specifies limit for the selector to use. | 
forDateRange(dateRange)
  Sets a predefined date range onto the selector. Supported values:
TODAY, YESTERDAY, LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS,
LAST_BUSINESS_WEEK, LAST_WEEK_SUN_SAT, LAST_WEEK_MON_SUN,
THIS_WEEK_MON_TODAY, THIS_WEEK_SUN_TODAY, LAST_MONTH, THIS_MONTH,
ALL_TIME. Example:
selector.forDateRange("THIS_WEEK_SUN_TODAY");Date range must be specified if the selector has conditions or ordering for a stat field. Note that only the last date range specified for the selector will take effect.
Arguments:
| Name | Type | Description | 
|---|---|---|
| dateRange | String | Date range to set onto the selector. | 
Return values:
| Type | Description | 
|---|---|
| AdsApp.AdGroupPhoneNumberSelector | The selector with date range applied. | 
forDateRange(dateFrom, dateTo)
  Sets a custom date range onto the selector. 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") sets the range of one
day.
Date range must be specified if the selector has conditions or ordering for a stat field. Note that only the last date range specified for the selector will take effect.
Arguments:
| Name | Type | Description | 
|---|---|---|
| dateFrom | Object | Start date of the date range. | 
| dateTo | Object | End date of the date range. | 
Return values:
| Type | Description | 
|---|---|
| AdsApp.AdGroupPhoneNumberSelector | The selector with date range applied. | 
get()
  Fetches the requested ad group-level phone numbers and returns an iterator.  Return values:
| Type | Description | 
|---|---|
| AdsApp.AdGroupPhoneNumberIterator | Iterator of the requested ad group-level phone numbers. | 
orderBy(orderBy)
  Specifies the ordering of the resulting entities. orderBy
parameter can have one of the following forms:
- orderBy("metrics.cost_micros")- orders results by metrics.cost_micros, in ascending order.
- orderBy("metrics.ctr ASC")- orders results by metrics.ctr, in ascending order.
- orderBy("ad_group_criterion.cpc_bid_micros DESC")- orders results by ad_group_criterion.cpc_bid_micros, in descending order.
See AdGroupPhoneNumberSelector.withCondition(String) for enumeration of columns that can be used.
orderBy() may be called multiple times. Consider the
following example:
selector = selector.forDateRange("LAST_14_DAYS")
    .orderBy("metrics.clicks DESC")
    .orderBy("metrics.ctr ASC");The results will be ordered by metrics.clicks in descending order. Results with equal metrics.clicks value will be ordered by metrics.ctr in ascending order.
If a stats column is used in the ordering, date range must be specified via AdGroupPhoneNumberSelector.forDateRange(String) or AdGroupPhoneNumberSelector.forDateRange(Object, Object).
LabelNames column cannot be used for ordering.  
Arguments:
| Name | Type | Description | 
|---|---|---|
| orderBy | String | Ordering to apply. | 
Return values:
| Type | Description | 
|---|---|
| AdsApp.AdGroupPhoneNumberSelector | The selector with ordering applied. | 
withCondition(condition)
  Adds the specified condition to the selector in order to narrow down the
results.
Multiple conditions may be added to the same selector:
selector = selector.forDateRange("LAST_MONTH")
    .withCondition("metrics.clicks > 5")
    .withCondition("metrics.impressions > 100");AND-ed together. The above
example will retrieve entities that observed over 100 metrics.impressions
AND more than 5 clicks.
The parameter to be passed into this method must be of the following form:
"COLUMN_NAME OPERATOR VALUE"
Operators
The operator that can be used in a condition depends on the type of column.- For IntegerandLongcolumns (e.g. metrics.clicks and metrics.impressions):< <= > >= = != 
- For Doublecolumns (e.g. metrics.ctr):< > 
- For Stringcolumns (e.g. campaign.name):= != (NOT) (LIKE | CONTAINS | REGEXP_MATCH) 
- For Enumerationcolumns (ones that can only take one value from a predefined list, such as Status):= != IN () NOT IN () 
- For StringSetcolumns (e.g. campaign.labels):CONTAINS ALL () CONTAINS ANY () CONTAINS NONE () 
IN, NOT IN, CONTAINS
ALL, CONTAINS ANY and CONTAINS NONE
operators look as follows:
withCondition("resource.column_name IN (Value1, Value2)")Columns
All column names are case-sensitive, and so are all values of enumerated columns (such as Status).
| Column | Type | Example | 
|---|---|---|
|  | ||
| metrics.average_cpc | Double | withCondition("metrics.average_cpc < 1.45") | 
| metrics.average_cpm | Double | withCondition("metrics.average_cpm > 0.48") | 
| metrics.average_cpv | Double | withCondition("metrics.average_cpv < 0.23") | 
| metrics.average_page_views | Double | withCondition("metrics.average_page_views  > 0") | 
| metrics.bounce_rate | Double | withCondition("metrics.bounce_rate < 0.5") | 
| metrics.clicks | Long | withCondition("metrics.clicks >= 21") | 
| metrics.conversions_from_interactions_rate | Double | withCondition("metrics.conversions_from_interactions_rate > 0.1") | 
| metrics.conversions | Long | withCondition("metrics.conversions <= 4") | 
| metrics.cost_micros | Double | withCondition("metrics.cost_micros > 4480000"). The
      value is specified in micros. E.g. $4.48 = 4480000. | 
| metrics.ctr | Double | withCondition("metrics.ctr > 0.01"). Note that
      metrics.ctr is returned in0..1range, so 5% metrics.ctr
      is represented as 0.05. | 
| metrics.impressions | Long | withCondition("metrics.impressions != 0") | 
If a stats column is used in the condition, date range must be specified via AdGroupPhoneNumberSelector.forDateRange(String) or AdGroupPhoneNumberSelector.forDateRange(Object, Object).
Arguments:
| Name | Type | Description | 
|---|---|---|
| condition | String | Condition to add to the selector. | 
Return values:
| Type | Description | 
|---|---|
| AdsApp.AdGroupPhoneNumberSelector | The selector with the condition applied. | 
withLimit(limit)
  Specifies limit for the selector to use. For instance,
withLimit(50) returns only the first 50 entities.  Arguments:
| Name | Type | Description | 
|---|---|---|
| limit | int | How many entities to return. | 
Return values:
| Type | Description | 
|---|---|
| AdsApp.AdGroupPhoneNumberSelector | The selector with limit applied. |