動画キャンペーン

Google 広告スクリプトを使用すると、YouTube ベースの動画キャンペーンの管理とレポート作成を行うことができます。スクリプトは、既存の動画キャンペーンの管理、広告グループや広告の作成と管理、キャンペーンのターゲティングの設定、レポートの実行に使用できます。ただし、スクリプトを使用して動画キャンペーンを作成することはできません。

動画キャンペーンと広告グループを取得する

動画キャンペーンは、AdsApp オブジェクトの videoCampaigns コレクションを通じて利用できます。スクリプトでキャンペーンを取得する場合と同様に、取得が可能です。

const campaignName = "My first video campaign";

const campaignIterator = AdsApp.videoCampaigns()
    .withCondition(`campaign.name = "${campaignName}"`)
    .get();

for (const campaign of campaignIterator) {
  ...
}

キャンペーンの取得後は、広告グループも同じように取得できます。

const adGroupIterator = campaign.videoAdGroups()
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
  ...
}

または、AdsApp.videoAdGroups() メソッドを使用することもできます。

const adGroupIterator = AdsApp.videoAdGroups()
    .withCondition(`campaign.name = "${campaignName}" AND ad_group.name = "${adGroupName}")
    .get();

for (const adGroup of adGroupIterator) {
  ...
}

動画広告の作成

Google 広告スクリプトでは、VideoAdGroupvideoAds() メソッドを使って動画広告を取得できます。新しい動画広告を作成するには、VideoAdGroupnewVideoAd() メソッドを使用します。

動画広告フォーマット

サポートされている動画広告フォーマットは、動画キャンペーンのタイプによって異なります。適切な動画キャンペーンを選択するように、AdvertisingChannelSubTypewithCondition 呼び出しを追加します。

一部の動画キャンペーンでは、キャンペーン内でサポートされる広告の種類を制限するサブタイプが設定されています。具体的には、VIDEO_ACTION キャンペーンでは VIDEO_RESPONSIVE 広告タイプのみ、VIDEO_NON_SKIPPABLE キャンペーンでは NON_SKIPPABLE_INSTREAM_VIDEO_AD 広告タイプのみがサポートされています。

特定のタイプのキャンペーンを操作するには、セレクタで withCondition 句を使用するのが最適です。関心のあるキャンペーン タイプの AdvertisingChannelSubType を更新できます。

const campaignIterator = AdsApp.videoCampaigns()
  .withCondition("AdvertisingChannelSubType = VIDEO_ACTION")
  .get();

サブタイプのない動画キャンペーンでは、次の動画広告フォーマットがサポートされています。

  • TrueView インストリーム
  • TrueView ディスカバリー
  • バンパー

これらのキャンペーンは withCondition を使用して選択できます。

const campaignIterator = AdsApp.videoCampaigns()
  .withCondition("AdvertisingChannelSubType = null")
  .get();

インストリーム動画広告は、他の動画の前後、または途中に再生可能で、ユーザーは指定した時間が経過すると動画をスキップできます。TrueView ディスカバリー広告は、ディスプレイ ネットワークとさまざまな YouTube ページに表示されます。ユーザーが最初に広告のサムネイルをクリックした場合のみ再生されます。バンパー広告の長さは 6 秒以下で、YouTube 動画、またはディスプレイ ネットワークのパートナー サイトやアプリの動画に表示されます。各広告タイプについて詳しくは、動画広告フォーマットについてをご覧ください。

広告グループを作成する

動画広告グループを作成するには、動画キャンペーンの newVideoAdGroupBuilder() メソッドを使用します。広告グループを作成するときに、広告グループタイプと広告グループ名を指定する必要があります。広告グループの種類は次のいずれかにする必要があります。広告グループの作成後は変更できません。

  • TRUE_VIEW_IN_STREAM
  • TRUE_VIEW_IN_DISPLAY
  • BUMPER
  • VIDEO_RESPONSIVEVIDEO_ACTION 個のキャンペーンのみ)
  • NON_SKIPPABLE_INSTREAM_VIDEO_ADVIDEO_NON_SKIPPABLE 個のキャンペーンのみ)

例:

const videoAdGroup =
    videoCampaign.newVideoAdGroupBuilder()
    .withAdGroupType("TRUE_VIEW_IN_STREAM")
    .withName("Video Ad Group")
    .build()
    .getResult();

動画アセットを作成する

動画広告は通常、動画アセットを参照する必要があります。これにより、広告で再生される動画が決まります。スクリプトを使用して動画をアップロードすることはできませんが、広告で使用するために以前にアップロードした既存の YouTube 動画をリンクすることはできます。これを行うには、YouTubeVideoAssetBuilder を使用して Asset を作成します。

const assetOperation = AdsApp.adAsset().newYouTubeVideoAssetBuilder()
   .withName("name")
   // This is the ID in the URL for the YouTube video.
   .withYouTubeVideoId(youTubeVideoId)
   .build();
const videoAsset = assetOperation.getResult();

広告を作成する

新しい広告を作成するには、広告グループのタイプ(newVideoAd() の後に連鎖)と一致するビルダー メソッドを使用します。

例:

const videoAd = videoAdGroup.newVideoAd()
    .inStreamAdBuilder()
    .withAdName("Video Ad")
    .withFinalUrl(
        "http://www.example.com/video-ad")
    // Specify the video asset created in the last step.
    .withVideo(video)
    .build()
    .getResult();

動画ターゲティング

動画キャンペーンに関連するターゲティングには、2 つの種類があります。VideoCampaignTargeting は、一般的に動画キャンペーンに対してアカウント単位で行われるターゲティングを表し、AdsApp.videoCampaignTargeting() を使ってアクセスします。これはスクリプトでは変更できませんが、表示はできます。

もう 1 つのタイプのターゲティングでは、動画キャンペーンと動画広告グループの条件を個別に指定できます。キャンペーンまたは広告グループの videoTargeting() メソッドでアクセスし、そのレベルのターゲティングに適用されるすべてのタイプの非除外条件と除外条件の両方について、セレクタとビルダーにアクセスできます。また、アカウント レベルで条件を表示するための AdsApp.videoTargeting() メソッドもあり、AdsApp.videoCampaignTargeting() とは異なる条件セットを含みます。VideoCampaignTargeting と同様に、これらの条件をスクリプトで管理することはできません。

キャンペーンで特定のプレースメントを除外する場合の例を次に示します。

videoCampaign.videoTargeting().newPlacementBuilder()
    .withUrl("http://www.example.com")
    .exclude();

ユーザー属性の条件(年齢、性別)の仕組みは、他の条件タイプと若干異なります。新しい広告グループを作成すると、使用できる年齢と性別の値ごとに条件が自動的に作成され、その広告グループはすべてをターゲットに設定します。ユーザー属性を除外するには、既存のターゲティングを取得し、その exclude() メソッドを呼び出します。また、既存の除外ターゲティングを見つけて include() を呼び出すと、除外されたユーザー属性を再登録できます。

広告グループから特定の性別を除外する手順の例を次に示します。

const videoGenderIterator = videoAdGroup.videoTargeting()
    .genders()
    .withCondition('GenderType = "GENDER_MALE"')
    .get();
if (videoGenderIterator.hasNext()) {
  const videoGender = videoGenderIterator.next();
  videoGender.exclude();
}