[Uploaded display ads](https://support.google.com/google-ads/answer/9050398) let you upload your own image or
HTML5 assets to serve across the [Google Display Network](https://support.google.com/google-ads/answer/2404190).

In the Google Ads API, you upload a `MEDIA_BUNDLE` ZIP archive using
[`AssetService`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetService) and attach it to an
[`AdGroupAd`](https://developers.google.com/google-ads/api/reference/rpc/v26/AdGroupAd) using
[`DisplayUploadAdInfo`](https://developers.google.com/google-ads/api/reference/rpc/v26/DisplayUploadAdInfo)
(`Ad.display_upload_ad`). `DisplayUploadAdInfo` only accepts uploaded media
bundles ([`AdMediaBundleAsset`](https://developers.google.com/google-ads/api/reference/rpc/v26/AdMediaBundleAsset) on
`display_upload_ad.media_bundle.asset`) for `HTML5_UPLOAD_AD` and
`DYNAMIC_HTML5_*` product types, whereas static uploaded image ads use
`Ad.image_ad` ([`ImageAdInfo`](https://developers.google.com/google-ads/api/reference/rpc/v26/ImageAdInfo)).

## Creative specifications

Ad creatives used in uploaded display ads must meet strict dimension, file
size, and format requirements. For details on supported formats, see [Uploaded
display ads specifications](https://support.google.com/google-ads/answer/1722096) and [Uploaded HTML5
ads](https://developers.google.com/google-ads/api/docs/display-upload-ads/html5-upload-ads).

## Next steps

- [Create uploaded display ads](https://developers.google.com/google-ads/api/docs/display-upload-ads/create-display-upload-ad)
- [Uploaded HTML5 ads requirements](https://developers.google.com/google-ads/api/docs/display-upload-ads/html5-upload-ads)