광고 애셋 만들기

다른 유형의 광고 항목에서 게재되는 광고 소재와 달리 디맨드젠 캠페인 광고에서 게재되는 광고 소재는 AdGroupAd 리소스 자체에서 구성됩니다. 이러한 광고 소재를 만들기 위해 광고에 할당된 이미지 및 동영상 애셋은 Display & Video 360 API에서 AdAsset 리소스로 표시됩니다.

AdGroupAd 리소스를 만들기 전에 광고에서 사용할 관련 AdAsset 리소스가 아직 없는 경우 이를 만듭니다. 이전에 UI 또는 API를 사용하여 생성된 경우 advertisers.adAssets 서비스 getlist 메서드를 사용하여 기존 애셋을 가져올 수 있습니다.

이미지 및 동영상 AdAsset 리소스는 다음과 같은 다양한 방법으로 생성됩니다.

  • 이미지 애셋은 advertisers.adAssets.upload 메서드를 사용하여 Display & Video 360에 업로드해야 합니다.
  • 동영상 애셋은 YouTube 동영상 ID를 사용하여 연결해야 하며 advertisers.adAssets.create 메서드를 사용하여 만들어야 합니다.

AdAsset 리소스의 adAssetId은 확장 소재를 디맨드젠 캠페인 광고와 연결하는 데 사용됩니다.

이미지 애셋 업로드

이미지 파일을 업로드하여 컴패니언 배너, 로고, 마케팅 이미지로 사용할 수 있는 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 애셋을 만듭니다.

AdAsset 리소스를 만들기 위해 YouTube 동영상 애셋을 만드는 방법은 다음과 같습니다.

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.")