# Assets are units of shareable data---such as images, videos, headlines, and
descriptions---that are used to construct different types of ads across
multiple formats---such as display, app store, and so on. For information on
how to get a list of available assets and their attributes and metrics, go to
[Fetching Asset Attributes and
Metrics](https://developers.google.com/search-ads/reporting/assets/fetching-assets).

## Objects

The most basic objects in the API are the following:

- **`Asset`:** A unit of shareable advertising data
  - **`AssetType`:** The kind of content the asset contains---for example, text or image
- **`AssetSet`** : A collection of assets centered around a theme or organized by campaign
  - **`AssetSetType`**: The class of the asset set

There are objects that represent links among assets, asset sets, ad groups,
campaigns, and customers:

- Linkages to assets

  - **`CustomerAsset`:** The link between a customer and an asset
  - **`CampaignAsset`:** The link between a campaign and an asset
  - **`AdGroupAsset`:** The link between an ad group and an asset
  - **`AssetSetAsset`:** The link between an asset set and an asset
- Linkages to asset sets

  - **`CustomerAssetSet`:** The link between a customer and an asset set
  - **`CampaignAssetSet`:** The link between a campaign and an asset set
  - **`AdGroupAssetSet`:** The link between an ad group and an asset set

### Campaign assets example

Here's a visual representation of how some of the objects can be linked. The
example starts with campaigns at the top, but the same hierarchy also applies to
customers and ad groups.

![](https://developers.google.com/static/google-ads/api/images/campaignassetset.svg)

Before you create a `CampaignAssetSet` you must first create a `Campaign` and an
`AssetSet` containing one or more assets. You can assemble assets to create an
inventory for all applicable ad formats in your campaign, or let Search Ads 360
mix and match available assets based on which channel the ad is being served:
Mobile App, Gmail, Search, and so on.

> [!IMPORTANT]
> **Key Point:** A `Campaign` can link to one or more `CampaignAssetSet` objects, but each `CampaignAssetSet` can be linked to only one `Campaign`.

## Asset types linked to customers, campaigns, and ad groups

Some types of assets can be linked to customers, campaigns, or ad groups through
linkage objects.

| Asset type | AssetFieldType | Linkage |
|---|---|---|
| Callout | CALLOUT | CustomerAsset CampaignAsset AdGroupAsset |
| Sitelink | SITELINK | CustomerAsset CampaignAsset AdGroupAsset |
| Mobile app | MOBILE_APP | CustomerAsset CampaignAsset AdGroupAsset |
| Call | CALL | CustomerAsset CampaignAsset AdGroupAsset |
| Price | PRICE | CustomerAsset CampaignAsset AdGroupAsset |

## Asset types linked to asset sets

Certain asset types can be linked to specific types of asset sets.

> [!NOTE]
> **Note:** `AssetSetType` is not currently returned by the API, but it will be in a future release.

| AssetType | AssetSetType | Linkage |
|---|---|---|
| PAGE_FEED | PAGE_FEED | CampaignAssetSet |
| DYNAMIC_EDUCATION | DYNAMIC_EDUCATION | CampaignAssetSet |
| DYNAMIC_CUSTOM | DYNAMIC_CUSTOM | CampaignAssetSet |
| DYNAMIC_HOTELS_AND_RENTALS | DYNAMIC_HOTELS_AND_RENTALS | CampaignAssetSet |
| DYNAMIC_REAL_ESTATE | DYNAMIC_REAL_ESTATE | CampaignAssetSet |
| DYNAMIC_LOCAL | DYNAMIC_LOCAL | CampaignAssetSet |
| DYNAMIC_FLIGHTS | DYNAMIC_FLIGHTS | CampaignAssetSet |
| DYNAMIC_JOBS | DYNAMIC_JOBS | CampaignAssetSet |
| DYNAMIC_TRAVEL | DYNAMIC_TRAVEL | CampaignAssetSet |
| LOCATION | LOCATION_SYNC | CustomerAssetSet CampaignAssetSet AdGroupAssetSet |
| LOCATION | GMB_DYNAMIC_LOCATION_GROUP | CampaignAssetSet AdGroupAssetSet |
| LOCATION | CHAIN_DYNAMIC_LOCATION_GROUP | CampaignAssetSet AdGroupAssetSet |
| LOCATION | STATIC_LOCATION_GROUP | CampaignAssetSet AdGroupAssetSet |