디맨드젠 광고 만들기

디맨드젠 광고는 광고 입찰에서 낙찰되었을 때 사용자에게 게재되는 광고 소재를 빌드합니다. AdGroupAd 리소스는 결합 필드 ad_details 아래에서 관련 광고 소재 옵션을 구성합니다.

광고 세부정보 구성

디맨드젠 광고에는 네 가지 유형이 있습니다. 각 AdGroupAd 리소스는 단일 유형만 될 수 있습니다. 각 유형은 결합 필드 ad_details 아래의 개별 필드에서 구성됩니다.

관련 광고 유형 요구사항 링크는 각 필드의 설명에서 확인할 수 있습니다. AdGroupAd 리소스를 만들 때 이러한 필드 중 하나만 채울 수 있습니다.

유형별 이미지 크기 및 해상도 요구사항

각 광고 유형에는 다양한 크기의 이미지 애셋이 필요합니다.

다음 표에는 이미지 유형과 관련 파일 제한사항이 나와 있습니다.

이미지 유형
컴패니언 배너

최대 파일 크기: 150KB

크기: 300x60

가로 모드 이미지

최대 파일 크기: 5,120KB

권장 크기: 1200x628, 최소: 600x314

로고 이미지

최대 파일 크기: 5,120KB

권장 크기: 1200x1200, 최소: 128x128

세로 이미지

최대 파일 크기: 5,120KB

권장 크기: 960x1200, 최소: 480x600

정사각형 이미지

최대 파일 크기: 5,120KB

권장 크기: 1200x1200, 최소: 300x300

광고 만들기

디맨드젠 캠페인 동영상 광고를 만드는 방법은 다음과 같습니다.

자바

// 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']);