アセット

P-MAX キャンペーンを作成する前に、キャンペーンで使用するすべてのアセットをインポートしておくことが重要です。後でいつでもアセットを追加できますが、最初に必要なのはアセットのセットです。

キャンペーンの計画時に、P-MAX キャンペーンのアセットアセットの要件を確認します。

テキスト アセットと画像アセットは必須のアセットタイプであるため、このガイドでは、これらのアセットのアップロード方法について説明します。これらの原則は、他のアセットタイプにも適用できます。作成するアセットの種類にかかわらず、AssetOperation を使用して作成します。

アセットは、ミューテーションを使用せずに AdsApp を使用して作成できますが、整合性を確保するため、このガイドでは他のすべてのオペレーションと同じ方法で作成します。既存のアセットがすでにある場合は、そのアセットを再利用できます。また、再利用することをおすすめします。そのため、P-MAX キャンペーンを作成するにはアセットが必要ですが、キャンペーン作成プロセスの一環としてアセットを作成する必要は必ずしもありません。

テキスト アセット

テキスト アセットは、他のオペレーションと同様に機能します。キャンペーン作成プロセスの一環としてアセットをアップロードする場合は、一時 ID を使用します。そうでない場合は、返されたリソース名をメモして、アセットを参照してアセット グループに追加する必要がある将来のオペレーションで使用します。

const textAsset = {
  "assetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
      "textAsset": {
        "text": "Travel the World"
      }
    }
  }
}
operations.push(textAsset);

画像アセット

画像アセットは base64 エンコード形式でアップロードされます。画像を Google 広告のスクリプトに直接アップロードすることはできないため、画像データを取得してアップロード用にエンコードする方法は 2 つあります。

Google ドライブから画像を取得するには、まず画像の ID が必要です。これは、画像を一意に識別する最善の方法です。ID を取得する方法の一つは、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 ドライブ ファイルの場合と同じ手順になります。