[Channel controls](https://support.google.com/google-ads/answer/15973205) in Demand Gen campaigns let you choose
where ads appear across Google's visual-first surfaces, including YouTube,
Gmail, Discover, and the Google Display Network.

For example, you can tailor Demand Gen campaigns to serve specifically on
YouTube Shorts.

You can customize channel controls at the ad group level using the
[`demand_gen_ad_group_settings.channel_controls`](https://developers.google.com/google-ads/api/reference/rpc/v26/AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls) field on
an [`AdGroup`](https://developers.google.com/google-ads/api/reference/rpc/v26/AdGroup) resource. If `channel_controls` is omitted
when creating an ad group, it defaults to `ALL_CHANNELS`.

## Configure channel controls

The `DemandGenChannelControls` message uses the `channel_configuration` `oneof`,
which lets you specify either a high-level `channel_strategy` or granular
`selected_channels` (never both at the same time). There are three possible
configurations:

### All channels (default)

This is the default strategy, and it delivers impressions on all channels
supported by Demand Gen.

To enable this configuration, set the `channel_strategy` field to
`ALL_CHANNELS`:

    {
      "demand_gen_ad_group_settings": {
        "channel_controls": {
          "channel_strategy": "ALL_CHANNELS"
        }
      }
    }

### All channels owned and operated by Google

This strategy delivers impressions on all channels owned and operated by Google,
such as the Discover feed, YouTube, Gmail, and Google Maps. Channels operated by
third parties, such as the Google Display Network, are disabled.

To enable this configuration, set the `channel_strategy` field to
`ALL_OWNED_AND_OPERATED_CHANNELS`:

    {
      "demand_gen_ad_group_settings": {
        "channel_controls": {
          "channel_strategy": "ALL_OWNED_AND_OPERATED_CHANNELS"
        }
      }
    }

### Control each channel individually

This strategy offers the most granular level of control by letting you select
which individual channels are enabled.

Enable this strategy by populating the boolean flags in the `selected_channels`
field (`true` enables a channel and `false` disables it; explicitly specify all
fields when updating `selected_channels`):

    {
      "demand_gen_ad_group_settings": {
        "channel_controls": {
          "selected_channels": {
            "youtube_in_stream": false,
            "youtube_in_feed": false,
            "youtube_shorts": true,
            "discover": false,
            "gmail": false,
            "display": false,
            "maps": false
          }
        }
      }
    }

## Retrieve channel controls

You can query the channel controls configuration from the `ad_group` resource:

    SELECT
      ad_group.id,
      ad_group.demand_gen_ad_group_settings.channel_controls.channel_config,
      ad_group.demand_gen_ad_group_settings.channel_controls.channel_strategy,
      ad_group.demand_gen_ad_group_settings.channel_controls.selected_channels.youtube_in_feed,
      ad_group.demand_gen_ad_group_settings.channel_controls.selected_channels.youtube_in_stream,
      ad_group.demand_gen_ad_group_settings.channel_controls.selected_channels.youtube_shorts,
      ad_group.demand_gen_ad_group_settings.channel_controls.selected_channels.discover,
      ad_group.demand_gen_ad_group_settings.channel_controls.selected_channels.display,
      ad_group.demand_gen_ad_group_settings.channel_controls.selected_channels.gmail,
      ad_group.demand_gen_ad_group_settings.channel_controls.selected_channels.maps
    FROM ad_group

The read-only [`channel_config`](https://developers.google.com/google-ads/api/reference/rpc/v26/DemandGenChannelConfigEnum.DemandGenChannelConfig) field indicates whether an
ad group is configured using `CHANNEL_STRATEGY` or `SELECTED_CHANNELS`. To view
performance metrics segmented by channel and YouTube surface, see the [reporting
guide](https://developers.google.com/google-ads/api/docs/demand-gen/reporting).