Monday, November 9, 2026


Starting the week of December 1, 2026, campaign-level Display targeting (`network_settings.target_content_network`) will default to enabled (`true`) for newly created Demand Gen campaigns. Display network targeting will be managed directly at the ad group level using channel controls (`demand_gen_ad_group_settings.channel_controls.selected_channels.display`) and channel strategies. Overall default campaign serving behavior will remain unchanged.


You will no longer be able to disable Display targeting for Demand Gen campaigns at the campaign level by setting `network_settings.target_content_network` to `false`. Setting this field during campaign creation or update will result in an `OPERATION_NOT_PERMITTED_FOR_CONTEXT` error.


Previously, disabling Display targeting at the campaign level overrode the Display targeting setting at the ad group level. Managing Display targeting exclusively at the ad group level eliminates this dual-level configuration, ensuring consistent channel representation across the Google Ads API, Google Ads UI, and Google Ads Editor.

<br />

*** ** * ** ***

### **Overview of changes and backfill**

- **Default value alignment:** When you create new Demand Gen campaigns without explicitly specifying `target_content_network`, the default value changes from `false` to `true`. Because ad group-level channel controls default to turning off Display targeting, the overall default targeting behavior remains unchanged (targeting owned and operated inventory unless explicitly opted in).
- **Existing campaign backfill:** Existing campaigns currently set to `target_content_network = false` will be updated to `target_content_network = true` alongside automatic transformations applied to their ad groups:
  - **No-op ad groups:** Where Display is opted out at both campaign and ad group levels, `target_content_network` is updated to `true` with no ad group changes required.
  - **Channel strategy pushdown:** Ad groups using the `ALL_CHANNELS` strategy will be updated to `ALL_OWNED_AND_OPERATED_CHANNELS`.
  - **Channel control pushdown:** Ad groups targeting Display alongside other channels will have their `selected_channels.display` field set explicitly to `false`.
  - **Unservable corner case:** Ad groups that only target Display (while Display was opted out at campaign level) will have their status updated to `PAUSED`, preserving their non-serving status while leaving channel controls intact. This is because Demand Gen ad groups must target at least one channel, so turning off Display would leave them with no active channels, which is an invalid configuration.


None of the existing campaigns being backfilled will change their serving behavior, as the impacted campaigns are already opted out of Display.

*** ** * ** ***

### **How to manage Display targeting in the Google Ads API**


Display targeting is now controlled at the ad group level using `channel_controls.selected_channels`. The following example shows how to configure or opt out of Display targeting during ad group creation or updates in the Google Ads API.

#### **Example: Manage Ad Group Channel Controls**

```
{
  "adGroup": {
    "resourceName": "customers/1234567890/adGroups/9876543210",
    "status": "ENABLED",
    "demandGenAdGroupSettings": {
      "channelControls": {
        "selectedChannels": {
          "youtubeInStream": false,
          "youtubeInFeed": false,
          "youtubeShorts": true,
          "discover": false,
          "gmail": false,
          "display": false
        }
      }
    }
  }
}
```


You can also set the `channel_strategy` field to `ALL_OWNED_AND_OPERATED_CHANNELS` as a high-level way to opt out of Display without having to explicitly enumerate every individual channel.

### **Recommended actions**

- **Review campaign creation payloads:** Verify API integrations and automated workflows for campaign creation. Update your application to rely on ad group channel controls (`channel_controls.selected_channels.display`) rather than campaign-level `network_settings.target_content_network` flags.
- **Audit existing campaigns:**Check ad group channel configurations for Demand Gen campaigns to confirm that ad group channel selections accurately reflect intended channel reach:

```
SELECT
  campaign.id,
  campaign.advertising_channel_type,
  campaign.network_settings.target_content_network,
  ad_group.id,
  ad_group.status,
  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
FROM ad_group
WHERE
  campaign.advertising_channel_type = 'DEMAND_GEN'
```


If you have any questions or want to discuss this change, please reach out to us on our ["Google Advertising and Measurement Community" Discord server](https://goo.gle/ads-and-measurement-discord).
![Portrait of the author](https://developers.google.com/static/ads/blog/images/AAcHTteMf_IXDYsJGIPAdLCefNLvUvK73hQtgnAZCJciyzpbfg=s83-c-mo.jpg) Mattia Tommasone, Google Ads API team

**Labels:**

[demand-gen](https://developers.google.com/ads/blog/feeds/labels/demand-gen.md.txt),

[display](https://developers.google.com/ads/blog/feeds/labels/display.md.txt),

[google-ads-api](https://developers.google.com/ads/blog/feeds/labels/google-ads-api.md.txt),

[targeting](https://developers.google.com/ads/blog/feeds/labels/targeting.md.txt)