デマンド ジェネレーション キャンペーンを作成する前に、キャンペーンで使用する予定のすべてのアセットをインポートすることが重要です。アセットは後からいつでも追加できますが、キャンペーンを開始するにはアセットのセットが必要です。
キャンペーンを計画する際は、デマンド ジェネレーション アセットの仕様とベスト プラクティスのガイドをご覧ください。
画像アセットと動画アセットは主要なアセットタイプであり、このガイドではそれぞれをアップロードする方法について説明します。これらの原則は、他のアセットタイプにも適用できます。作成するアセットのタイプに関係なく、
AssetOperation を使用して作成します。
アセットは、AdsApp を使用せずに作成できますが、一貫性を保つため、このガイドでは他のすべての
オペレーションと同じ方法で作成します。既存のアセットがある場合は、再利用することをおすすめします。デマンド ジェネレーション キャンペーンを作成するにはアセットが必要ですが、キャンペーン作成プロセスの一環としてアセットを「作成」する必要はない場合があります。
画像アセット
画像アセットは、base64 エンコード形式でアップロードされます。画像を Google 広告スクリプトに直接アップロードすることはできないため、画像データを取得してアップロード用にエンコードする方法は 2 つあります。
Google ドライブから画像を取得するには、まず画像の ID が必要です。ID は画像を一意に識別するのに 最適な方法です。ID を取得する方法の 1 つは、Google ドライブの UI から共有可能なリンクをコピーして ID を抽出することです。一連のファイルをプログラムで取得し、アップロードするファイルを選択することもできます。次のコードは、既知の ID を持つ単一の画像をアップロードする方法を示しています。
const file = DriveApp.getFileById(fileId);
const imageAsset = {
"assetOperation": {
"create": {
"resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
"name": "Marketing Logo",
"type": "IMAGE",
"imageAsset": {
"data": Utilities.base64Encode(file.getBlob().getBytes())
}
}
}
}
または、UrlFetchApp を使用して、ウェブサーバーでホストされている画像を URL で取得することもできます。
const file = UrlFetchApp.fetch(imageUrl);
このファイルに対して getBlob を呼び出すことができます。これはドライブ ファイルの場合と同じです。そのため、オペレーションの構成は Google ドライブ ファイルの手順と同じになります。
動画アセット
動画アセットは YouTube 動画を通じて管理されます。キャンペーン作成プロセスの一環としてアセットを アップロードする場合は、 一時 IDを使用します。それ以外の場合は、アセット グループに追加するアセットを参照する必要があるときに、後続のオペレーションで使用するリソース名を書き留めておきます。
const videoAsset = {
"assetOperation": {
"create": {
"resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
"name": "Marketing video",
"type": "YOUTUBE_VIDEO",
"youtube_video_asset": {
"youtube_video_title": "Demand Gen video",
"youtube_video_id": "123456789"
}
}
}
}
operations.push(videoAsset);