広告アセットを作成する

他のタイプの広告申込情報で配信されるクリエイティブとは異なり、デマンド ジェネレーション広告で配信されるクリエイティブは AdGroupAd リソース自体で構成されます。これらのクリエイティブを作成するために広告に割り当てられた画像アセットと動画アセット は、ディスプレイ&ビデオ 360 API では AdAsset リソースとして表されます。

AdGroupAd リソースを作成する前に、広告で使用する関連する AdAsset リソースを作成します(まだ存在しない場合)。UI または API を使用して以前に作成した場合は、 既存のアセットを advertisers.adAssets サービスの getlist メソッドを使用して取得できます。

画像と動画の AdAsset リソースは、次の 方法で作成します。

  • 画像アセットは、ディスプレイ&ビデオ 360 に advertisers.adAssets.upload メソッドを使用してアップロードする必要があります。
  • 動画アセットは、YouTube 動画 ID を使用して関連付け、 advertisers.adAssets.create メソッドを使用して作成する必要があります。

adAssetId リソースの AdAsset は、アセットをデマンド ジェネレーション広告に関連付けるために使用されます。

画像アセットをアップロードする

画像ファイルをアップロードして、コンパニオン バナー、ロゴ、マーケティング画像として使用できる AD_ASSET_TYPE_IMAGE アセットを作成します。

画像アセットをアップロードして AdAsset リソースを作成する方法は次のとおりです。

Python

# Import the object used as the media body for the upload request.
from apiclient.http import MediaFileUpload

# Provide the parent advertiser ID to upload the media file under.
advertiser_id = advertiser-id

# Provide the filename and local path to the media file.
asset_filename = asset-filename
asset_path = asset-path

# Create the request body.
body = {"filename": asset_filename, "adAssetType": "AD_ASSET_TYPE_IMAGE"}

# Create the upload object and use a default MIME type if not identified.
media = MediaFileUpload(asset_path)
if not media.mimetype():
  media = MediaFileUpload(asset_path, "application/octet-stream")

# Upload the asset.
upload_response = (
    service.advertisers()
    .adAssets()
    .upload(advertiserId=advertiser_id, body=body, media_body=media)
    .execute()
)

# Display the new ad asset.
print(f"Ad asset {upload_response['adAsset']['name']} was created.")

YouTube アセットを作成する

YouTube 動画 ID を指定して、デマンド ジェネレーション動画広告で使用できる AD_ASSET_TYPE_YOUTUBE_VIDEO アセットを作成します。

YouTube 動画アセットを作成して AdAsset リソースを作成する方法は次のとおりです。

Python

# Provide the ID of the parent advertiser.
advertiser_id = advertiser-id

# Provide the ID of the parent insertion order.
youtube_video_id = youtube-video-id

# Create a line item object with example values.
ad_asset_create_body = {
    "adAsset": {
        "adAssetType": "AD_ASSET_TYPE_YOUTUBE_VIDEO",
        "youtubeVideoAsset": {"youtubeVideoId": youtube_video_id},
    }
}

# Build and execute request.
response = (
    service.advertisers()
    .adAssets()
    .create(advertiserId=advertiser_id, body=ad_asset_create_body)
    .execute()
)

# Display the new ad asset.
print(f"Ad asset {response['name']} was created.")