A [Google Ads campaign](https://support.google.com/google-ads/answer/6304) is a set
of one or more ad groups (ads, keywords, and bids) that share a
budget, location targeting, and other settings.
Campaigns are typically used to organize categories of products or
services offered by an advertiser. Campaigns are the top-level organizational
tool within your Google Ads account.

Items that can be set at the campaign level include bids,
budget, language, location, distribution for the Google Network,
and more. Large advertisers typically create separate ad campaigns
to run ads in different locations or using different budgets.

When creating a [`Campaign`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign), you must specify key fields
such as `name`, `status` (`ENABLED` or `PAUSED`), `advertising_channel_type`,
`campaign_budget`, and a bidding strategy. While we recommend using our
[client libraries](https://developers.google.com/google-ads/api/docs/client-libs), you can also
[modify campaigns using `CampaignService.MutateCampaigns`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignService/MutateCampaigns).

## Campaign types

In Google Ads, think of these concepts in a hierarchy:

1. **[Campaign type](https://support.google.com/google-ads/answer/2567043)**: Your primary choice and the blueprint for your entire campaign.
2. **Advertising networks**: The places where your ads can run, largely determined by your campaign type.
3. **Network and channel controls**: The specific settings you can use to fine-tune where your ads appear within those networks. The controls you use depend on the campaign type.

### Start with the campaign type

The campaign type is the foundation of your advertising efforts. It's the first
decision you make and it dictates everything else, including:

- What kind of ads you can create (for example, text ads, image banners, or video ads).
- What features and bidding strategies are available.

Examples of campaign types include **Search** , **Display** ,
**Performance Max** , and **Demand Gen**.

Each campaign targets one campaign type, specified in the Google Ads API by the
[`advertising_channel_type`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign#advertising_channel_type) field on the
[`Campaign`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign) object.

The Google Ads API supports the following campaign types:

- [Display Network only](https://support.google.com/google-ads/answer/2404190)
- [Search Network only](https://support.google.com/google-ads/answer/1722047)
- [Display Expansion on Search](https://support.google.com/google-ads/answer/7193800)
- [App campaigns](https://developers.google.com/google-ads/api/docs/app-campaigns/overview)
- [Call-only](https://support.google.com/adspolicy/answer/6130299) (deprecated; creation of new call-only ads is no longer supported, and existing call-only ads are supported only until February 2027---use responsive search ads with call assets instead)
- [Demand Gen](https://developers.google.com/google-ads/api/docs/demand-gen/overview)
- [Performance Max](https://developers.google.com/google-ads/api/performance-max)
- [Shopping campaigns](https://developers.google.com/google-ads/api/docs/shopping-ads/create-campaign)
- [Local Services](https://developers.google.com/google-ads/api/docs/campaigns/local-service-campaigns)

### Understand the networks

The advertising networks are the collections of websites, apps, and properties
where your ads can be shown. The main ones are:

- **Google Search Network:** Google Search, Google Maps, and Search Partner sites.
- **Google Display Network:** Millions of third-party websites, news sites, blogs, and Google properties like Gmail and YouTube that show visual ads.
- **YouTube Network:** YouTube itself, including the home feed, search results, videos, and Shorts.

Each campaign type is designed to serve ads on specific networks.
For example, a Search campaign is built primarily for the Search Network.

### Control placements

How you control which networks your campaign uses varies significantly by the
campaign type you chose. Here's a breakdown:

| Example campaign type | How you control where ads show | Explanation |
|---|---|---|
| **Search** | Uses [`network_settings`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign#network_settings) | This is the standard model. You can use the `network_settings` field to explicitly include or exclude Google Search Partners and the Google Display Network from your Search campaign. |
| **Performance Max (PMax)** | No manual control | PMax is designed for maximum reach and automation. It automatically serves your ads across **all** of Google's networks (for example, Search, Display, and YouTube) to find conversions. You cannot opt out of specific networks. |
| **Demand Gen** | Uses [channel controls](https://developers.google.com/google-ads/api/docs/demand-gen/channel-controls) | This campaign type uses [`DemandGenChannelControls`](https://developers.google.com/google-ads/api/reference/rpc/v26/AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls#channel_configuration) instead of broad network settings, letting you opt in or out of specific inventory channels (including Google Maps through `selected_channels.maps` starting in **`v24`**). |

### In summary: an analogy

Think of campaign configuration like choosing a vehicle:

- **Campaign type = The vehicle you buy** (for example, a city car, an off-road truck, or a self-driving shuttle).
- **Networks = The terrain the vehicle is designed for** (for example, paved city roads, rugged mountain trails, or all of the above).
- **Network and channel controls = The specific features you can adjust:**
  - A **Search campaign** (city car) lets you use `network_settings` to choose whether you also want to drive on suburban roads (Search Partners).
  - A **Performance Max campaign** (self-driving shuttle) handles navigation automatically across all networks to reach your goal.
  - A **Demand Gen campaign** (off-road truck) provides dedicated [`DemandGenChannelControls`](https://developers.google.com/google-ads/api/reference/rpc/v26/AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls#channel_configuration) for selecting specific surfaces within its environment.

## Differences from the Google Ads UI

The Google Ads API has limitations for managing legacy and video campaigns.

For video campaigns, you can use the Google Ads API to read data. You can pull
performance reports (clicks, views, cost) for all video campaigns using the
Google Ads API.

For some specific video campaign types, you cannot write changes with the
Google Ads API. You can't use the API to make changes like pausing, enabling, changing
targeting, or adding new ads. These campaigns must be edited in the Google Ads web
interface.

Best Practice: To fully create and manage video ads on YouTube using the API,
you should use [Performance Max](https://support.google.com/google-ads/answer/14528532) or
[Demand Gen campaigns](https://support.google.com/google-ads/answer/13704860). These are fully supported for both
reporting and management.

The Google Ads UI Objective ("Sales", "Leads") is a setup wizard. It asks for
your goal and then automatically suggests and pre-fills the best settings for
you, such as the campaign type, bidding strategy, and more.

The Google Ads API gives you the raw building blocks for campaigns. There is no
single "objective" field because the API gives you direct control over each
setting. You achieve your objective by assembling the right building blocks:

- **Choose a campaign type:** Set [`advertising_channel_type`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign#advertising_channel_type) to `SEARCH` or `PERFORMANCE_MAX`.
- **Choose a bidding strategy:** Set the [`maximize_conversion_value`](https://developers.google.com/google-ads/api/reference/rpc/v26/MaximizeConversionValue) field in the [`campaign_bidding_strategy`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign#campaign_bidding_strategy) union (or attach a portfolio [`bidding_strategy`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign#bidding_strategy)) with a `target_roas` value.
- **Set conversion goals:** Configure the campaign to optimize for your `PURCHASE` [conversion actions](https://developers.google.com/google-ads/api/docs/conversions/categories).

Campaign types are represented in the Google Ads API by the
[`advertising_channel_type`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign#advertising_channel_type) field. Set
`advertising_channel_type` for every campaign. Then, check the onboarding
guides for the specific campaign you're building (such as Performance Max for
Travel Goals or Demand Gen) to see if it also requires setting
[`advertising_channel_sub_type`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign#advertising_channel_sub_type).

| If you want to create this campaign... | Set `advertising_channel_type` to... | And set `advertising_channel_sub_type` to... |
|---|---|---|
| A standard Search campaign | `SEARCH` | (Do not set / Leave empty) |
| A standard Display campaign | `DISPLAY` | (Do not set / Leave empty) |
| A standard Performance Max campaign | `PERFORMANCE_MAX` | (Do not set / Leave empty) |
| A Performance Max for Travel Goals campaign | `PERFORMANCE_MAX` | `TRAVEL_GOALS` |
| A Demand Gen campaign | `DEMAND_GEN` | (Do not set / Leave empty) |

### Campaign subtypes

**Campaign subtypes** in the Google Ads UI, such as **Standard** and
**All features** , help UI users find relevant campaign options, but there is no
direct one-to-one mapping between the UI **Campaign subtype** column and the
[`advertising_channel_type`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign#advertising_channel_type) and
[`advertising_channel_sub_type`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign#advertising_channel_sub_type) fields on the
[`Campaign`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign) object. For example, a Search campaign created
using the Google Ads API is always treated as an **All features** campaign in the UI.

## Campaign budget, bidding strategies, and targeting

In the Google Ads API, managing a campaign means answering three fundamental questions
that control how and where your ads appear:

1. **How much can I spend? ([Campaign budget](https://developers.google.com/google-ads/api/docs/campaigns/budgets/overview))**

   - This is your campaign's financial boundary. In the API, you create a separate [`CampaignBudget`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignBudget) object with a spending limit (in micros) and then attach its resource name to your campaign. An average daily budget can also be shared across multiple campaigns.
2. **How should Google spend my money? ([Bidding strategy](https://developers.google.com/google-ads/api/docs/campaigns/bidding/overview))**

   - This tells Google what your primary optimization goal is. You choose a bidding strategy based on what you want to achieve:
     - For traffic: Use `TargetSpend` (Maximize clicks).
     - For leads or sign-ups: Use `MaximizeConversions` with an optional `target_cpa_micros`.
     - For ecommerce sales: Use `MaximizeConversionValue` with an optional `target_roas`.
3. **Who should see my ads? ([Target audience](https://developers.google.com/google-ads/api/docs/targeting/overview))**

   - This is where you define your market. You add [`CampaignCriterion`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignCriterion) or [`AdGroupCriterion`](https://developers.google.com/google-ads/api/reference/rpc/v26/AdGroupCriterion) objects to narrow your reach to the right people. Targeting can be based on:
     - Keywords: What users are searching for.
     - Locations: Where users are located.
     - Demographics: Their age, gender, household income, or parental status.
     - Audiences: Their past behavior (for example, website visitors) or interests.

## How to think about campaigns

When you manage or build campaigns with the Google Ads API, it's
helpful to understand the underlying structure and models that govern how
campaigns, ads, and assets are organized and served. There are three primary
models to be aware of: the Ad Group and Ad model, the Asset Group and Asset
model, and a hybrid model of Ad Groups and Ads alongside Assets. These models
depend on the `AdvertisingChannelType` you choose.

### Google Ads API campaign structures

| Structure | Example use (`AdvertisingChannelType`) | How it works | Key concept |
|---|---|---|---|
| [Ad group structure](https://developers.google.com/google-ads/api/docs/concepts/api-structure#object-hierarchy) | `SEARCH`, standard `DISPLAY` | The campaign is organized into [`AdGroup`](https://developers.google.com/google-ads/api/reference/rpc/v26/AdGroup) resources. Each ad group contains a set of finished ads and a set of targeting criteria (for example, keywords and audiences). | The link between manually created ads and their targeting is tightly controlled within the ad group. |
| [Asset group structure](https://developers.google.com/google-ads/api/performance-max/asset-groups) | `PERFORMANCE_MAX` | Instead of ad groups, you create [`AssetGroup`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetGroup) resources. Each asset group contains a pool of raw creative assets (headlines, images, videos) and audience signals. | You provide the creative components, and Google's AI assembles the final ads in real time to optimize them across channels. |
| Hybrid structure | `DEMAND_GEN`, `DISPLAY` | This involves a standard ad group structure with modern [Assets](https://developers.google.com/google-ads/api/docs/assets/overview) (such as sitelinks or callouts) linked at the campaign or ad group level. | The core ad is structured at the ad group level, and you provide extra interchangeable assets to show alongside it. |