P-MAX のオプション コンポーネント

コンバージョン目標

P-MAX キャンペーンを作成するときに、アカウントの CustomerConversionGoal に一致する一連のコンバージョン目標が自動的に作成されます。これらの設定は、P-MAX キャンペーンごとに更新してカスタマイズできます。

そのためには、まず、すべての顧客コンバージョン目標のリストを取得する必要があります。

const searchResults = AdsApp.search(
  `SELECT
     customer_conversion_goal.category,
     customer_conversion_goal.origin
   FROM customer_conversion_goal`
);

次に、取得したすべてのコンバージョン目標を反復処理し、現在の P-MAX キャンペーンの更新オペレーションを作成して、各目標のターゲティングをカスタマイズできます。以下のコードでは、これらをすべて入札対象に設定していますが、キャンペーンで達成したい目標に合わせて、ロジックのこの部分をカスタマイズする必要があります。

このコードを実行する前に、P-MAX キャンペーンのキャンペーン ID を取得する必要があります。

キャンペーン作成プロセスの他の部分とは別の取引でコンバージョン目標を設定することをおすすめします。CampaignConversionGoalOperation では、リクエストの partialFailurefalse に設定する必要があります。このコードをキャンペーンを最初に作成したトランザクションで実行する場合は、オペレーション全体のセットで部分的な失敗を無効にする必要があります。このサンプルコードは、このオペレーションを別のトランザクションで実行する方法を示しています。

operations = [];
while (searchResults.hasNext()) {
  const row = searchResults.next();
  const conversionGoal = row.customerConversionGoal;

  operations.push({
    "campaignConversionGoalOperation": {
      "update": {
        "resourceName": `customers/${customerId}/campaignConversionGoals/${campaignId}~${conversionGoal.category}~${conversionGoal.origin}`,
        // Insert your logic here to determine whether you want this particular
        // campaign conversion goal to be biddable or not.
        // This code will just default everything to being biddable, but that
        // is not necessarily best for your use case.
        "biddable": true
      },
      "updateMask": "biddable"
    }
  });
}

AdsApp.mutateAll(operations, {partialFailure: false});

キャンペーンのターゲット設定

P-MAX のキャンペーン ターゲティングについては、使用可能な条件タイプの一覧については、API ガイドをご覧ください。

P-MAX キャンペーンの作成に追加の条件は必要ありませんが、ユースケースに応じてターゲティングを絞り込む際に役立ちます。次のコードサンプルは、位置情報ターゲットを設定する方法を示しています。他の条件タイプの形式については、CampaignCriterion のドキュメントをご覧ください。

これらの条件は、mutateAll への同じ呼び出しの一部としてキャンペーン自体とともに作成できます。このコードサンプルでは、コードをこのように構成していることを前提としています。

operations.push({
  "campaignCriterionOperation": {
    "create": {
      "campaign": campaignOperation.campaignOperation.create.resourceName,
      "negative": false,
      "location": {
        // 1023191 represents New York City
        "geoTargetConstant": "geoTargetConstants/1023191"
      }
    }
  }
});

アセット グループのシグナル

始める前に、API ドキュメントでアセット グループ シグナルについて確認してください。これらは、アセット グループを既存の AudienceInfo 条件または SearchThemeInfo 条件にリンクすることで設定します。代わりにオーディエンスを使用する場合は、searchTheme フィールドではなく、オーディエンスのリソース名を含む audience フィールドを指定します。

operations.push({
  "assetGroupSignalOperation": {
    "create": {
      "assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
      "searchTheme": {
        "text": "mars cruise"
      }
    }
  }
});