デマンド ジェネレーション広告を作成する

デマンド ジェネレーション広告は、広告オークションで落札されたときにユーザーに配信されるクリエイティブを構築します。AdGroupAd リソースは、ユニオン フィールド ad_details の関連するクリエイティブ オプションを構成します。

広告の詳細を構成する

デマンド ジェネレーション広告には 4 種類あります。各 AdGroupAd リソースは 1 つのタイプのみにできます。各タイプは、共用体フィールド ad_details の個々のフィールドで構成されます。

各フィールドの説明には、関連する広告タイプの要件へのリンクが記載されています。AdGroupAd リソースの作成時に値を設定できるのは、これらのフィールドのうち 1 つのみです。

画像の種類ごとのサイズと解像度の要件

広告の種類ごとに、異なるサイズの画像アセットが必要です。

次の表に、画像の種類と関連するファイルの制限を示します。

画像の種類
Companion banner

ファイルサイズ上限: 150 KB

サイズ: 300×60

横長の画像

ファイルサイズ上限: 5,120 KB

推奨サイズ: 1, 200×628、最小サイズ: 600×314

ロゴ画像

ファイルサイズ上限: 5,120 KB

推奨サイズ: 1,200×1,200、最小サイズ: 128×128

縦向きの画像

ファイルサイズ上限: 5,120 KB

推奨サイズ: 960×1, 200、最小サイズ: 480×600

正方形の画像

ファイルサイズ上限: 5,120 KB

推奨サイズ: 1,200×1,200、最小サイズ: 300×300

広告の作成

デマンド ジェネレーション動画広告を作成する手順は次のとおりです。

Java

// Provide the ID of the parent advertiser.
long advertiserId = advertiser-id;

// Provide the ID of the parent ad group.
long adGroupId = ad-group-id;

// Provide the display name of the ad.
String displayName = display-name;

// Provide the information for the ad creative.
String finalAdUrl = final-ad-url;
String callToAction = call-to-action;
String headline = headline;
String longHeadline = long-headline;
String description = description;
String businessName = business-name;
long youtubeAssetId = youtube-video-asset-id;
long logoAssetId = logo-asset-id;

// Create the ad structure.
AdGroupAd ad =
    new AdGroupAd()
        .setAdGroupId(adGroupId)
        .setDisplayName(displayName)
        .setEntityStatus("ENTITY_STATUS_PAUSED")
        .setDemandGenVideoAd(
            new DemandGenVideoAd()
                .setFinalUrl(finalAdUrl)
                .setCallToAction(callToAction)
                .setHeadlines(Arrays.asList(headline))
                .setLongHeadlines(Arrays.asList(longHeadline))
                .setDescriptions(Arrays.asList(description))
                .setBusinessName(businessName)
                .setVideos(
                    Arrays.asList(
                        new YoutubeVideoDetails()
                            .setVideoAssetId(youtubeAssetId)))
                .setLogo(new ImageAsset().setAssetId(logoAssetId)));

// Configure the create request.
AdGroupAds.Create request =
    service.advertisers().adGroupAds().create(advertiserId, ad);

// Create the ad group.
AdGroupAd response = request.execute();

// Display the new ad.
System.out.printf("Demand Gen ad %s was created.", response.getName());

Python

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

# Provide the ID of the parent ad group.
ad_group_id = ad-group-id

# Provide the display name of the ad.
display_name = display-name

# Provide the information for the ad creative.
final_ad_url = final-ad-url
call_to_action = call-to-action
headline = headline
long_headline = long-headline
description = description
business_name = business-name
youtube_asset_id = youtube-video-asset-id
logo_asset_id = logo-asset-id

# Create the ad object.
ad_obj = {
    "adGroupId": ad_group_id,
    "displayName": display_name,
    "entityStatus": "ENTITY_STATUS_PAUSED",
    "demandGenVideoAd": {
        "finalUrl": final_ad_url,
        "callToAction": call_to_action,
        "headlines": [headline],
        "longHeadlines": [long_headline],
        "descriptions": [description],
        "businessName": business_name,
        "videos": [{"videoAssetId": youtube_asset_id}],
        "logo": {"assetId": logo_asset_id}
    }
}

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

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

PHP

// Provide the ID of the parent advertiser.
$advertiserId = advertiser-id;

// Provide the ID of the parent ad group.
$adGroupId = ad-group-id;

// Provide the display name of the ad.
$displayName = display-name;

// Provide the information for the ad creative.
$finalAdUrl = final-ad-url;
$callToAction = call-to-action;
$headline = headline;
$longHeadline = long-headline;
$description = description;
$businessName = business-name;
$youtubeAssetId = youtube-video-asset-id;
$logoAssetId = logo-asset-id;

// Create the ad structure.
$ad = new Google_Service_DisplayVideo_AdGroupAd();
$ad->setAdGroupId($adGroupId);
$ad->setDisplayName($displayName);
$ad->setEntityStatus('ENTITY_STATUS_PAUSED');

// Create the Demand Gen video ad creative.
$demandGenVideoAd = new Google_Service_DisplayVideo_DemandGenVideoAd();
$demandGenVideoAd->setFinalUrl($finalAdUrl);
$demandGenVideoAd->setCallToAction($callToAction);
$demandGenVideoAd->setHeadlines(array($headline));
$demandGenVideoAd->setLongHeadlines(array($longHeadline));
$demandGenVideoAd->setDescriptions(array($description));
$demandGenVideoAd->setBusinessName($businessName);

// Assign the video asset to the ad creative.
$youtubeVideoAsset =
    new Google_Service_DisplayVideo_YoutubeVideoDetails();
$youtubeVideoAsset->setVideoAssetId($youtubeAssetId);
$demandGenVideoAd->setVideos(array($youtubeVideoAsset));

// Assign the logo asset to the ad creative.
$imageAsset = new Google_Service_DisplayVideo_ImageAsset();
$imageAsset->setAssetId($logoAssetId);
$demandGenVideoAd->setLogo($imageAsset);

// Assign the Demand Gen video ad to the ad.
$ad->setDemandGenVideoAd($demandGenVideoAd);

// Call the API, creating the ad under the advertiser and ad group given.
try {
    $result = $this->service->advertisers_adGroupAds->create(
        $advertiserId,
        $ad
    );
} catch (\Exception $e) {
    $this->renderError($e);
    return;
}

// Display the new ad.
printf('<p>Ad %s was created.</p>', $result['name']);