サービス提供コントロールを作成する

このページでは、サービス提供コントロールの作成方法について説明します。

サービス提供コントロールは、個々のサービス構成を定義して適用するルールです。

サービス制御は、コントロールをトリガーする条件と、条件によってトリガーされるときに発生するアクションで構成されるコマース向け検索コンソールで作成できます。その後、新しいサービス提供コントロールをサービス構成に関連付けることができます。

サービング コントロールと構成の関係

サービス構成は、コントロールと多対多の関係を持ちます。1 つのサービス構成に複数のコントロールを追加でき、1 つのコントロールを複数のサービス構成に関連付けることができます。

サービス提供コントロールとサービス構成を作成するときに、コントロールを使用できるプロダクト(レコメンデーションまたは検索)を選択します。

サービス提供コントロールを関連付けできるのは、同じプロダクトタイプのサービス構成のみです。たとえば、レコメンデーション用に作成されたサービス提供コントロールを、Retail Search 用に作成されたサービス構成に関連付けることはできません。

サービス構成は、検索リクエストまたは予測リクエスト時に適用されるコントロールを管理します。リクエストの有効なサービス構成のコントロールだけが、サービス提供時に考慮されます。たとえば、シューズが検索されたときにブランド gShoe の結果をブーストする gShoe Sale という制御と、「ランニング シューズ」というキーワードを含むクエリを拡張して「スポーツ シューズ」を含むようにする More shoes という制御の 2 つの制御を作成したとします。gShoe Sale コントロールのみをサービング構成に適用した場合、そのサービング構成を使用する検索リクエストでは、という用語を使用するクエリの gShoe の結果がブーストされますが、More shoes コントロールは使用しているサービング構成に適用されていないため、効果はありません。

詳細については、サービス構成についてをご覧ください。

クイック スタートガイド(動画)

  • サービス提供コントロールの概要: サービス提供コントロールを使用すると、サービス提供構成が検索結果を返す方法をカスタマイズするルールを作成できます。
  • ブースト / 埋め込み: 返される結果リスト内の検索結果のランキングと順序に影響します。 Retail Search とレコメンデーションで使用できます。
  • フィルタ: 返された結果リストからフィルタを通過しない結果を削除します。Retail Search でのみ利用できます。
  • リダイレクト: 検索クエリに応じてユーザーを特定のページにリダイレクトします。Retail Search でのみ利用できます。

このチュートリアルでは、リダイレクト制御の使用方法について説明します。


このタスクを Cloud Shell エディタで直接行う際の順を追ったガイダンスについては、[ガイドを表示] をクリックしてください。

ガイドを表示


  • 言語: 検索クエリの言語をカスタマイズします。Retail Search でのみ使用できます。
    数種類の言語制御を使用できます。
    • 類義語: 検索クエリの類義語と考えられるものを拡張します。
    • 一方向の類義語: 特定のキーワードの類義語と考えられるものを一方向に拡張します。
    • 関連付けない: 特定のキーワードが表示されたときに、あるキーワード グループが検索で使用されないようにします。
    • 無視: 検索に特定のキーワードが使用されないようにします。
    • 置換: 検索クエリのキーワードを置き換えます。
  • 固定: 検索結果の順序に影響し、検索結果を特定の位置(4 番目など)に配置します。検索と閲覧で使用できます。

これらのコントロールの例については、サービス提供コントロールをご覧ください。

サービス提供コントロールの構成オプション

コントロールを作成し、ライブサービス提供構成に追加または入れ替えることができます。

最大 100 個のサービス提供コントロールを作成できます。さらにサービス提供コントロールが必要な場合は、追加の割り当てをリクエストしてください。追加の割り当てをリクエストする方法については、割り当てを増やすをご覧ください。サービス提供構成には、リダイレクト コントロール以外の最大 100 個のサービス提供コントロールを含めることができます。サービス提供構成ごとの上限は 1,000 個です。

サービス提供コントロールは次の方法で作成できます。

Google Cloud コンソールを使用する

Google Cloud コンソールを使用してサービング コントロールを作成するには:

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動

  2. 各サービング制御セクションの Google Cloud コンソールの手順に沿って操作します。

マーチャンダイジング コンソールを使用する

マーチャンダイジング コンソールは、マーチャンダイザーがコントロールを作成して管理するためのツールです。すべてのマーチャンダイザーが提案し、マーチャンダイザーの承認者が審査できる承認フローが用意されています。

マーチャンダイジング コンソールを使用すると、固定、ブースト/埋め込み、類義語、ファセットなどのサービス提供コントロールを作成できます。マーチャンダイジング コンソールは、マーチャンダイザーがコントロールを効率的に作成および管理できる使いやすいインターフェースを備えています。このツールは承認プロセスも容易にし、マーチャンダイザーはコントロールを提案し、マーチャンダイザーの承認者はそれらを確認できます。

Google Cloudで [Merchandising console] タブにアクセスするには、少なくとも次の権限が必要です。

  • プロジェクト閲覧者(閲覧者): プロジェクトにアクセスします。
  • Retail 編集者: マーチャンダイジング コンソールの設定を編集して保存します。

管理者としてコンソールを使用する

開始する前に、ユーザーを Merchandising コンソールにオンボーディングするには、 Google Cloud 管理者である必要があります。

次に、 Google Cloud コンソール内の [Merchandising console] タブにアクセスして、Merchandising console を初期化します。

[Merchandising] コンソール タブ
[Merchandising console] タブ

Merchandising コンソール ユーザーに Creator ロールまたは Approver ロールを割り当て、編集するには、次の IAM ロールが必要です。

  • マーチャンダイジング コンソールを編集するには、少なくとも Retail 編集者のロールが必要です。
  • ユーザーに Creator ロールまたは Approver ロールを割り当てるには、プロジェクト レベルの IAM 管理者ロールが必要です。

IAM プロジェクト レベルと Vertex AI Search for Commerce の権限の完全なレイアウトについては、この [Vertex AI Search for Commerce プロダクト](/retail/docs/iam) ドキュメントの [事前定義された管理者ロール](/retail/docs/iam#roles) セクションをご覧ください。

マーチャンダイジング コンソール ユーザーのオンボーディング

Google Cloud コンソール管理者として、サイト マーチャンダイザーにマーチャンダイジング コンソールへのアクセス権を付与し、作成者または承認者のいずれかのロールを割り当てるには:

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動
  2. [Merchandising console] タブに移動します。
  3. 現在の Google Cloud プロジェクトに関連付けられているマーチャンダイジング コンソールの固有の URL を確認できます。リンクをコピーするか、 Google Cloud コンソールで直接開きます。
  4. マーチャンダイザーが承認済みのコントロールをプレビューして添付するために使用するデフォルトのサービス提供構成を選択します。
  5. ユーザーに 承認者ロールまたは 作成者ロールを付与します。
  6. 現在の Google Cloud プロジェクトに関連付けられているマーチャンダイジング コンソールの固有の URL を確認できます。リンクをコピーするか、 Google Cloud コンソールで直接開きます。
  7. マーチャンダイジング コンソールで [プレビュー] のデフォルトのサービス提供構成を選択します。
  8. (省略可)次の関数を使用して、マーチャンダイジング コンソールへのアクセスを編集します。
    • ユーザーを追加する: ユーザーにマーチャンダイジング コンソールへの承認者または作成者のアクセス権を付与します。
    • ユーザーを削除する: 承認者または作成者を削除して、マーチャンダイジング コンソールへのアクセス権を取り消します。
  9. 承認者のメールアドレスを追加します。マーチャンダイザーが送信した各コントロールについて、承認者のメールリストに、このコントロールを確認して承認するためのメールが届きます。

ユーザーとしてコンソールにアクセスする

URL でアクセス権が付与されている場合は、標準の Google Cloud コンソールの代わりにマーチャンダイジング コンソールを使用できます。マーチャンダイジング コンソールを使用してコントロールを作成するには:

  1. 管理者から提供された認証情報を使用してログインします。
  2. 各サービング制御セクションの Merchandising コンソールのドキュメントの手順に沿って操作します。
  3. 送信すると、件名が「[販売者コンソール] 提案されたコントロールの審査待ち」の通知メールが届きます。
  4. 承認者は、制御リクエストを承認拒否、または変更できます。

コンソールをサイト マーチャンダイザーとして使用する

サイト マーチャンダイザーとしてマーチャンダイジング コンソールを使用する手順は次のとおりです。

  1. 質問の承認フローを設定します。
    1. メインメニューの [設定] に移動します。
    2. デフォルトでは、[目標を設定] 画面に質問の事前定義リストが設定されています。
    3. マーチャンダイジング コンソールに関する質問
      マーチャンダイジング コンソールに関する質問
    4. [質問を追加] をクリックして質問を追加し、承認者が新しい制御の目的を理解できるようにします。
    5. [保存] をクリックして質問を保存します。
  2. コントロールを作成する
    1. [コントロール] セクションに移動します。
    2. [制御を作成] をクリックします。
    3. 目標を定義する: 以前に定義したすべての質問に回答する必要があります。質問をまだ定義していない場合は、この画面は表示されません。
    4. コントロールを選択しますコントロール タイプを指定し、コントロールに名前を割り当てます。
    5. ルールを設定する: 各ルールで、トリガーとアクションを定義できます。
    6. トリガーを定義する: このコントロールを適用するタイミングを確立することが目標です。
      • クエリ キーワード: このルールは、検索クエリに特定のキーワードが含まれているか、完全に一致している場合にトリガーできます。これらのクエリ キーワードを定義できます。
      • 適用可能な期間: 時間制限を適用して、このルールの有効化を特定の期間に限定できます。
      トリガーの定義
      トリガーを定義する
    7. アクションを定義する: コントロールのタイプに応じて、ピン留めコントロールのアイテム ID や位置などのアクションを定義できます。
    8. ルールをプレビューする: ルールの動的プレビューが画面に表示されます。
    9. ルールを送信する: マーチャンダイザーが設定したルールセットを [送信] をクリックして送信すると、コントロール リストにコントロールが [保留中] として表示されます。
  3. コントロールを承認する
    1. コントロールの承認を付与するには、コントロール リストでコントロールの横にある [その他] アイコンをクリックします。[確認] を選択します。
    2. 指定されたコントロールの画面が表示され、[承認]、[拒否]、[編集して承認] を選択できます。
    3. 承認されると、コントロール リストページにリダイレクトされ、コントロールが [承認済み] と表示されます。
      マーチャンダイジングの制御ステージ
      マーチャンダイジング コンソールのステージ

コントロール タイプ

コントロールの要件は、タイプによって異なります。作成する制御タイプの作成手順に移動します。

ブースト / 埋め込みコントロールを作成する

このコントロール タイプは、Retail Search とレコメンデーションで利用できます。

このコントロール タイプの詳細については、ブースト / 埋め込みコントロールをご覧ください。

Retail Search のブースト / 埋め込みコントロールを作成するには:

マーチャンダイジング コンソール

  1. 管理者から提供された URL をクリックします。サインインします。

    マーチャンダイジング コンソールの [コントロール] ページが表示されます。

  2. [制御を作成] をクリックします。

  3. エンドユーザーの目標と必要なタイミングを定義します。すべての質問に回答する必要があります。[次へ] をクリックします。

  4. コントロールを選択します。コントロールの名前を入力し、[検索] プロダクトを選択して、コントロール タイプ [ブースト/埋め込み] を選択します。

  5. [ブースト/埋め込み] コントロールを構成します。

    1. [トリガー] で、関連する検索クエリに条件(含む範囲外など)を指定して、この制御をトリガーするカタログ属性を定義します。カタログ属性が構成されていない場合、このコントロールは常に適用されます。

    2. [期間] を入力して、[適用可能な期間] を定義します。指定した期間のいずれかが満たされると、指定した期間のいずれかでカタログ属性がクエリと照合されます。期間を追加を使用して期間を追加します。

    3. このコントロールでトリガーするブースト/埋め込みアクションを定義します。これらのアクションは、カタログ属性など)、条件含むなど)、など)で定義されます。

    4. [属性を追加] をクリックして、属性を追加します。

  6. スライダーを使用して、[ブースト/埋め込み値] を設定します。負の数値は埋もれ、正の数値はブーストです。

  7. [送信] をクリックして、制御リクエストを承認者に送信します。送信されたリクエストのステータスは、マーチャンダイジング コンソールで確認できます。制御リクエストは、いつでも削除できます。

Cloud コンソール

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動

  2. [サービス提供コントロール] タブで、 [コントロールを作成] をクリックします。

    [コントロールを作成する] ペインが開きます。

  3. [設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。

  4. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  5. [プロダクトの選択] セクションで、[検索] を選択します。

  6. コントロール タイプとして [ブースト/埋め込みコントロール] を選択します。[続行] をクリックします。

  7. [トリガー] セクションで、このコントロールをトリガーするユーザーの行動のタイプを選択します。

    • カテゴリを閲覧する: ユーザーがサイトのカテゴリを閲覧したときにルールがトリガーされます(search.request.query は空です)。

    • 検索: ユーザーがサイトで検索したときにルールがトリガーされます(search.request.query は空ではありません)。カテゴリが閲覧されたとき、またはクエリが検索されたときに、このコントロールを設定してトリガーするには、次の手順をスキップします。

  8. 省略可: 特定のカテゴリが閲覧されたか、特定のクエリが検索されたかどうかに応じて、このコントロールをトリガーできる特定のカテゴリまたはクエリを設定します。

    • [カテゴリを閲覧] を選択した場合: [カテゴリ] フィールドに、閲覧時にこのコントロールをトリガーするカテゴリを入力します。

    • [検索] を選択した場合: [クエリを追加] ボタンをクリックして、フィルタするクエリ用語(running shoes など)を追加します。各キーワードで、[部分一致] または [完全一致] を選択します。

  9. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  10. [続行] をクリックして [アクション] セクションに進みます。

  11. [ブースト / 埋め込み商品] フィールドに商品属性のフィルタを追加します。

    フィルタリングと並べ替えに記載されているフィルタ式の構文を使用します。たとえば、「product1」と「product2」の赤と青のバージョンを指定するには: (id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue"))

  12. [ブースト / 埋め込み値] には、スライダーを使用してブーストの強さを設定します。正の値は結果をブーストし、負の値は結果を埋め込みます。[続行] をクリックします。

  13. [サービス提供構成] セクションで、コントロールを適用するサービス提供構成を選択します。

  14. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [Serving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

ユーザーがサイトのカテゴリを閲覧した場合(search.request.query が空)、またはユーザーがサイトを検索した場合(search.request.query が空でない)、ブースト / 埋め込みコントロールをトリガーできます。

次の例は、閲覧でトリガーされるコントロールのフィールドを示しています。ここで、searchSolutionUseCaseSEARCH_SOLUTION_USE_CASE_BROWSE に設定されています。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "searchSolutionUseCase": [
                "SEARCH_SOLUTION_USE_CASE_BROWSE"
              ],
              "rule": {
                "condition": {
                  "pageCategories": [
                      "CATEGORY_ABC",
                      "CATEGORY_XYZ"
                  ],
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "boostAction": {
                  "boost": BOOST_NUMBER,
                  "productsFilter": "FILTER_EXPRESSION"
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"

次の例は、検索でトリガーされるコントロールのフィールドを示しています(searchSolutionUseCaseSEARCH_SOLUTION_USE_CASE_SEARCH に設定されています)。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "searchSolutionUseCase": [
                "SEARCH_SOLUTION_USE_CASE_SEARCH"
              ],
              "rule": {
                "condition": {
                  "queryTerms": [
                    {
                      "value": "VALUE_1",
                      "fullMatch": "FULLMATCH_BOOLEAN_1"
                    },
                    {
                      "value": "VALUE_2",
                      "fullMatch": "FULLMATCH_BOOLEAN_2"
                    }
                  ],
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "boostAction": {
                  "boost": BOOST_NUMBER,
                  "productsFilter": "FILTER_EXPRESSION"
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。

レコメンデーションのブースト/埋め込みコントロールを作成する

レコメンデーションのブースト/埋め込みコントロールを作成するには:

マーチャンダイジング コンソール

  1. 管理者から提供された URL をクリックします。サインインします。

    マーチャンダイジング コンソールの [コントロール] ページが表示されます。

  2. [制御を作成] をクリックします。

  3. エンドユーザーの目標と必要なタイミングを定義します。すべての質問に回答する必要があります。[次へ] をクリックします。

  4. コントロールを選択します。コントロールの名前を入力し、[ブラウジング] プロダクトを選択して、コントロール タイプ [ブースト/埋め込み] を選択します。

  5. [ブースト/埋め込み] コントロールを構成します。

    1. [トリガー] で、コントロールをトリガーするページ カテゴリを入力します。カタログ属性が構成されていない場合、このコントロールは常に有効です。

    2. [期間] を入力して、[適用可能な期間] を定義します。指定した期間のいずれかが満たされると、指定した期間のいずれかでカタログ属性がクエリと照合されます。期間を追加を使用して期間を追加します。

    3. このコントロールでトリガーするブースト/埋め込みアクションを定義します。これらのアクションは、カタログ属性など)、条件含むなど)、など)で定義されます。

    4. [属性を追加] をクリックして、属性を追加します。

  6. スライダーを使用して、[ブースト/埋め込み値] を設定します。負の数は埋め込み、正の数はブーストです。

  7. [送信] をクリックして、制御リクエストを承認者に送信します。送信されたリクエストのステータスは、マーチャンダイジング コンソールで確認できます。制御リクエストは、いつでも削除できます。

Cloud コンソール

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

  3. [設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。

  4. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  5. [プロダクトの選択] セクションで、[レコメンデーション] を選択します。

  6. コントロール タイプとして [ブースト / 埋め込みコントロール] を選択します。

  7. [続行] をクリックして [アクション] セクションに進みます。

  8. [ブースト / 埋め込み商品] フィールドに商品属性のフィルタを追加します。

    レコメンデーションのフィルタのドキュメントに記載されているフィルタ式の構文を使用します。

    たとえば、「product1」と「product2」の赤と青のバージョンを指定するには: (id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue"))

  9. [ブースト / 埋め込み値] には、スライダーを使用してブーストの強さを設定します。正の値は結果をブーストし、負の値は結果を埋め込みます。

  10. [続行] をクリックして [サービス提供構成] セクションに進みます。

  11. コントロールを適用するサービス構成を選択します。

  12. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [Serving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

フィルタ式を作成するには、レコメンデーションのフィルタに記載されているフィルタ式の構文を使用します。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_RECOMMENDATION" ],
                "boostAction": {
                  "boost": BOOST_NUMBER,
                  "productsFilter": "FILTER_EXPRESSION"
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
   

新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。

フィルタ オプションを作成する

このコントロール タイプの詳細については、フィルタ オプションをご覧ください。

マーチャンダイジング コンソール

  1. 管理者から提供された URL をクリックします。サインインします。

    マーチャンダイジング コンソールの [コントロール] ページが表示されます。

  2. [制御を作成] をクリックします。

  3. エンドユーザーの目標と必要なタイミングを定義します。すべての質問に回答する必要があります。[次へ] をクリックします。

  4. コントロールを選択します。コントロールの名前を入力し、[検索] または [閲覧] プロダクトを選択して、コントロール タイプ [フィルタ] を選択します。

  5. フィルタ コントロールを構成します。

    1. [トリガー] で、関連する検索クエリやページ カテゴリに条件(含む範囲外など)を指定して、このコントロールをトリガーするカタログ属性を定義します。カタログ属性が構成されていない場合、このコントロールは常に適用されます。

    2. [期間] を入力して、[適用可能な期間] を定義します。指定した期間のいずれかが満たされると、指定した期間のいずれかでカタログ属性がクエリと照合されます。期間を追加を使用して期間を追加します。

    3. このコントロールを使用してトリガーするフィルタ アクションを定義します。これらのアクションは、カタログ属性など)、条件含むなど)、など)で定義されます。

    4. [属性を追加] をクリックして、属性を追加します。

  6. [送信] をクリックして、制御リクエストを承認者に送信します。送信されたリクエストのステータスは、マーチャンダイジング コンソールで確認できます。制御リクエストは、いつでも削除できます。

Cloud コンソール

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

  3. [設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。

  4. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  5. コントロール タイプとして [フィルタ オプション] を選択します。

  6. [続行]をクリックして [トリガー] セクションに進みます。

  7. このコントロールをトリガーするユーザーの行動のタイプを選択します。

    • カテゴリを閲覧する: ユーザーがサイトのカテゴリを閲覧したときにルールがトリガーされます(search.request.query は空です)。

    • 検索: ユーザーがサイトで検索したときにルールがトリガーされます(search.request.query は空ではありません)。

  8. 省略可: 閲覧されるカテゴリまたは検索されるクエリに基づいてルールをトリガーするコントロール条件を設定します。使用可能なオプションは、[カテゴリを閲覧] か [検索] のどちらを選択するかによって異なります。

    • [カテゴリを閲覧] を選択した場合: [カテゴリ] フィールドに、閲覧時にこのコントロールをトリガーするカテゴリを入力します。

    • [検索] を選択した場合: [クエリを追加] ボタンをクリックし、フィルタするクエリ用語(running shoes など)を追加して、次の各用語のいずれかを選択します。

      • 部分一致: このコントロールは、クエリ語句に部分一致が含まれている場合に適用されます。
      • 完全一致: このコントロールは、クエリ語句に完全に一致する語句がクエリに含まれている場合にのみ適用されます。

      これらの語句の 1 つがクエリに含まれている場合にコントロールが適用されます。

  9. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  10. [続行] をクリックして [アクション] セクションに進みます。

  11. [フィルタ アクション] フィールドに、商品属性のフィルタを追加します。

    フィルタリングと並べ替えで記載されているフィルタ式の構文を使用してください。

    たとえば、「product1」と「product2」の赤と青のバージョンを指定するには: (id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue"))

  12. [続行] をクリックして [サービス提供構成] セクションに進みます。

  13. コントロールを適用するサービス構成を選択します。

  14. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [Serving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

ユーザーがサイトのカテゴリを閲覧した場合(search.request.queryが空)、またはユーザーがサイトを検索した場合(search.request.queryが空でない)、フィルタ オプションをトリガーできます。

次の例は、閲覧でトリガーされるコントロールのフィールドを示しています。ここで、searchSolutionUseCaseSEARCH_SOLUTION_USE_CASE_BROWSE に設定されています。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "searchSolutionUseCase": [
                "SEARCH_SOLUTION_USE_CASE_BROWSE"
              ],
              "rule": {
                "condition": {
                  "pageCategories": [
                      "CATEGORY_ABC",
                      "CATEGORY_XYZ"
                  ],
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "filterAction": {
                  "filter": "FILTER_EXPRESSION"
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"

次の例は、検索でトリガーされるコントロールのフィールドを示しています(searchSolutionUseCaseSEARCH_SOLUTION_USE_CASE_SEARCH に設定されています)。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "searchSolutionUseCase": [
                "SEARCH_SOLUTION_USE_CASE_SEARCH"
              ],
              "rule": {
                "condition": {
                  "pageCategories": [
                      "CATEGORY_ABC",
                      "CATEGORY_XYZ"
                  ],
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "filterAction": {
                  "filter": "FILTER_EXPRESSION"
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。

リダイレクト コントロールを作成する

このコントロール タイプの詳細については、リダイレクト コントロールをご覧ください。

マーチャンダイジング コンソール

  1. 管理者から提供された URL をクリックします。サインインします。

    マーチャンダイジング コンソールの [コントロール] ページが表示されます。

  2. [制御を作成] をクリックします。

  3. エンドユーザーの目標と必要なタイミングを定義します。すべての質問に回答する必要があります。[次へ] をクリックします。

  4. コントロールを選択します。コントロールの名前を入力し、[検索] プロダクトを選択して、コントロール タイプ [リダイレクト] を選択します。

  5. リダイレクト コントロールを構成します。

    1. [トリガー] で、関連する検索クエリに条件(含む範囲外など)を指定して、この制御をトリガーするカタログ属性を定義します。カタログ属性が構成されていない場合、このコントロールは常に適用されます。

    2. [期間] を入力して、[適用可能な期間] を定義します。指定した期間のいずれかが満たされると、指定した期間のいずれかでカタログ属性がクエリと照合されます。期間を追加を使用して期間を追加します。

    3. リダイレクト URL を入力して、このコントロールでトリガーするリダイレクト アクションを定義します。

  6. [送信] をクリックして、制御リクエストを承認者に送信します。送信されたリクエストのステータスは、マーチャンダイジング コンソールで確認できます。制御リクエストは、いつでも削除できます。

Cloud コンソール

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

  3. [設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。

  4. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  5. コントロール タイプとして [リダイレクト コントロール] を選択します。

  6. [続行]をクリックして [トリガー] セクションに進みます。

  7. クエリ語句または期間トリガーを 1 つ以上作成します。リダイレクト コントロールには、少なくとも 1 つのトリガーが必要です。

  8. このコントロールをトリガーするユーザーの行動のタイプを選択します。

    • カテゴリを閲覧する: ユーザーがサイトのカテゴリを閲覧したときにルールがトリガーされます(search.request.query は空です)。

    • 検索: ユーザーがサイトで検索したときにルールがトリガーされます(search.request.query は空ではありません)。

  9. 閲覧されるカテゴリまたは検索されるクエリに基づいてルールをトリガーするコントロール条件を設定します。使用可能なオプションは、[カテゴリを閲覧] か [検索] のどちらを選択するかによって異なります。

    • [カテゴリを閲覧] を選択した場合: [カテゴリ] フィールドに、閲覧時にこのコントロールをトリガーするカテゴリを入力します。

    • [検索] を選択した場合: [クエリを追加] ボタンをクリックし、フィルタするクエリ用語(running shoes など)を追加して、次の各用語のいずれかを選択します。

      • 部分一致: このコントロールは、クエリ語句に部分一致が含まれている場合に適用されます。
      • 完全一致: このコントロールは、クエリ語句に完全に一致する語句がクエリに含まれている場合にのみ適用されます。

      これらの語句の 1 つがクエリに含まれている場合にコントロールが適用されます。

  10. [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  11. [続行] をクリックして [アクション] セクションに進みます。

  12. このコントロールがトリガーされたときにリダイレクトする URI を入力します。

  13. [続行] をクリックして [サービス提供構成] セクションに進みます。

  14. コントロールを適用するサービス構成を選択します。

  15. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

ユーザーがサイトのカテゴリを閲覧した場合(search.request.queryが空)、またはユーザーがサイトを検索した場合(search.request.queryが空でない)、リダイレクト コントロールをトリガーできます。

次の例は、閲覧でトリガーされるコントロールのフィールドを示しています。ここで、searchSolutionUseCaseSEARCH_SOLUTION_USE_CASE_BROWSE に設定されています。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "searchSolutionUseCase": [
                "SEARCH_SOLUTION_USE_CASE_BROWSE"
              ],
              "rule": {
                "condition": {
                  "queryTerms": [
                    {
                      "value": "VALUE_1",
                      "fullMatch": "FULLMATCH_BOOLEAN_1"
                    },
                    {
                      "value": "VALUE_2",
                      "fullMatch": "FULLMATCH_BOOLEAN_2"
                    }
                  ],
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "redirectAction": {
                  "redirectUri": "REDIRECT_URI",
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"

次の例は、検索でトリガーされるコントロールのフィールドを示しています(searchSolutionUseCaseSEARCH_SOLUTION_USE_CASE_SEARCH に設定されています)。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "searchSolutionUseCase": [
                "SEARCH_SOLUTION_USE_CASE_SEARCH"
              ],
              "rule": {
                "condition": {
                  "queryTerms": [
                    {
                      "value": "VALUE_1",
                      "fullMatch": "FULLMATCH_BOOLEAN_1"
                    },
                    {
                      "value": "VALUE_2",
                      "fullMatch": "FULLMATCH_BOOLEAN_2"
                    }
                  ],
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "redirectAction": {
                  "redirectUri": "REDIRECT_URI",
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。

双方向の類義語コントロールを作成する

このコントロール タイプの詳細については、双方向の類義語コントロールをご覧ください。

マーチャンダイジング コンソール

  1. 管理者から提供された URL をクリックします。サインインします。

    マーチャンダイジング コンソールの [コントロール] ページが表示されます。

  2. [制御を作成] をクリックします。

  3. エンドユーザーの目標と必要なタイミングを定義します。すべての質問に回答する必要があります。[次へ] をクリックします。

  4. コントロールを選択します。コントロールの名前を入力し、[検索] プロダクトを選択して、コントロール タイプ [類義語] を選択します。

  5. 双方向の類義語コントロールを構成します。

    1. [トリガー] で、関連する検索クエリに条件(含む範囲外など)を指定して、この制御をトリガーするカタログ属性を定義します。カタログ属性が構成されていない場合、このコントロールは常に適用されます。

    2. [期間] を入力して、[適用可能な期間] を定義します。指定した期間のいずれかが満たされると、指定した期間のいずれかでカタログ属性がクエリと照合されます。期間を追加を使用して期間を追加します。

    3. このコントロールを使用してトリガーする類義語タイプを定義します。[双方向] を選択します。類義語の種類の詳細については、類義語のセクションをご覧ください。

  6. [送信] をクリックします。[双方向の同義語] の詳細な構成画面が表示されます。

  7. [Two-way synonym actions] の下のフィールドに同義語を入力します。このアクションでは、検索結果で同じように扱われるように、用語が双方向にリンクされます。たとえば、「赤いソファ」というクエリでは「赤紫色のソファ」が返されますが、「赤紫色のソファ」というクエリでは、クリムゾンやピンクなど、あらゆる種類の赤いソファが返されます。

  8. [送信] をもう一度クリックして、承認者に制御リクエストを送信します。送信されたリクエストのステータスは、マーチャンダイジング コンソールで確認できます。制御リクエストは、いつでも削除できます。

Cloud コンソール

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

  3. [コントロール名] フィールドに新しいコントロールの名前を入力します。

    [コントロールを作成する] ペインが開きます。

  4. [設定] セクションが表示されます。

  5. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  6. コントロール タイプとして [双方向の類義語コントロール] を選択します。

  7. [続行]をクリックして [トリガー] セクションに進みます。

  8. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  9. [続行] をクリックして [アクション] セクションに進みます。

  10. [類義語] フィールドに、互いに類義語であるクエリキーワード(shirttop など)を 2 ~ 100 個入力します。

    これらの語句のいずれかがクエリに含まれている場合、検索ではその他のクエリ語句は含まれている語句の類義語と見なされます。

  11. [続行] をクリックして [サービス提供構成] セクションに進みます。

  12. コントロールを適用するサービス構成を選択します。

  13. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "rule": {
                "condition": {
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                    ]
                },
                "twoWaySynonymAction": {
                  "synonyms": [
                    "SYNONYM_1",
                    "SYNONYM_2"
                  ]
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。サービス構成にインラインでコントロールを追加するをご覧ください。

一方向の類義語コントロールを作成する

このコントロール タイプの詳細については、一方向の類義語コントロールをご覧ください。

マーチャンダイジング コンソール

  1. 管理者から提供された URL をクリックします。サインインします。

    マーチャンダイジング コンソールの [コントロール] ページが表示されます。

  2. [制御を作成] をクリックします。

  3. エンドユーザーの目標と必要なタイミングを定義します。すべての質問に回答する必要があります。[次へ] をクリックします。

  4. コントロールを選択します。コントロールの名前を入力し、[検索] プロダクトを選択して、コントロール タイプ [類義語] を選択します。

  5. 一方向の類義語コントロールを構成します。

    1. [トリガー] で、関連する検索クエリに条件(含む範囲外など)を指定して、この制御をトリガーするカタログ属性を定義します。カタログ属性が構成されていない場合、このコントロールは常に適用されます。

    2. [期間] を入力して、[適用可能な期間] を定義します。指定した期間のいずれかが満たされると、指定した期間のいずれかでカタログ属性がクエリと照合されます。期間を追加を使用して期間を追加します。

    3. このコントロールを使用してトリガーする類義語タイプを定義します。[一方向] を選択します。類義語の種類の詳細については、類義語のセクションをご覧ください。

  6. [送信] をクリックします。[一方向の同義語] の詳細な構成画面が表示されます。

  7. [一方向の同義語アクション] の下のフィールドに同義語を入力します。この操作では、検索結果で同じように扱われるように、単語が一方向にリンクされます。たとえば、「赤いソファ」というクエリには「マルーンのソファ」が含まれますが、「マルーンのソファ」というクエリでは他の種類の赤いソファは返されず、結果はマルーンのソファのみに制限されます。

  8. [送信] をもう一度クリックして、制御リクエストを承認者に送信します。送信されたリクエストのステータスは、マーチャンダイジング コンソールで確認できます。制御リクエストは、いつでも削除できます。

Cloud コンソール

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

  3. [設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。

  4. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  5. コントロール タイプとして [一方向の類義語コントロール] を選択します。

  6. [続行]をクリックして [トリガー] セクションに進みます。

  7. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  8. [続行] をクリックして [アクション] セクションに進みます。

  9. [クエリキーワード] フィールドに、いずれかがクエリに含まれるときに類義語を関連付ける必要のある用語(shoes など)を入力します。

  10. [類義語] フィールドに、指定したクエリキーワードの類義語として使用するキーワードを入力します(例: クエリキーワード shoes の一方向の類義語としての sneakerssandals)。

  11. [続行] をクリックして [サービス提供構成] セクションに進みます。

  12. コントロールを適用するサービス構成を選択します。

  13. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "rule": {
                "condition": {
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "oneWaySynonymAction": {
                  "synonyms": [
                    "queryTerms": [
                      "QUERY_TERM_1",
                      "QUERY_TERM_2"
                    ],
                    "synonyms": [
                      "SYNONYM_1",
                      "SYNONYM_2"
                    ]
                  ]
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。

「関連付けなし」のコントロールを作成する

このコントロール タイプの詳細については、非関連付けコントロールをご覧ください。

マーチャンダイジング コンソール

  1. 管理者から提供された URL をクリックします。サインインします。

    マーチャンダイジング コンソールの [コントロール] ページが表示されます。

  2. [制御を作成] をクリックします。

  3. エンドユーザーの目標と必要なタイミングを定義します。すべての質問に回答する必要があります。[次へ] をクリックします。

  4. コントロールを選択します。コントロールの名前を入力し、[検索] プロダクトを選択して、コントロールの種類 [関連付けない] を選択します。

  5. 関連付けなしコントロールを構成します。

    1. [トリガー] で、関連する検索クエリに条件(含む範囲外など)を指定して、この制御をトリガーするカタログ属性を定義します。カタログ属性が構成されていない場合、このコントロールは常に適用されます。

    2. [期間] を入力して、[適用可能な期間] を定義します。指定した期間のいずれかが満たされると、指定した期間のいずれかでカタログ属性がクエリと照合されます。期間を追加を使用して期間を追加します。

    3. [アクションを関連付けない] で、前の [トリガー] セクションで入力したクエリ用語に関連付けてはならない用語を指定します。それぞれ、クエリ語句フィールドと関連付け解除された語句フィールドに入力します。

  6. [送信] をクリックして、制御リクエストを承認者に送信します。送信されたリクエストのステータスは、マーチャンダイジング コンソールで確認できます。制御リクエストは、いつでも削除できます。

Cloud コンソール

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

  3. [設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。

  4. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  5. コントロール タイプとして [関連付けしないコントロール] を選択します。

  6. [続行]をクリックして [トリガー] セクションに進みます。

  7. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  8. [続行] をクリックして [アクション] セクションに進みます。

  9. [クエリキーワード] フィールドに、他のクエリと明確に区別するキーワード(gShoe など)を入力します。

  10. [関連付けられていないキーワード] フィールドに、指定したクエリキーワードと検索結果で関連付けないキーワードを入力します。

    たとえば、クエリキーワード gShoe と キーワード cheap の関連付けを解除できます。

  11. [続行] をクリックして [サービス提供構成] セクションに進みます。

  12. コントロールを適用するサービス構成を選択します。

  13. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "rule": {
                "condition": {
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "doNotAssociateAction": {
                    "queryTerms": [
                      "QUERY_TERM_1",
                      "QUERY_TERM_2"
                    ],
                    "doNotAssociateTerms": [
                      "DISSOCIATED_TERM_1",
                      "DISSOCIATED_TERM_2"
                    ]
                  ]
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。

取り消しコントロールを作成する

このコントロール タイプの詳細については、取り消しコントロールをご覧ください。

マーチャンダイジング コンソール

  1. 管理者から提供された URL をクリックします。サインインします。

    マーチャンダイジング コンソールの [コントロール] ページが表示されます。

  2. [制御を作成] をクリックします。

  3. エンドユーザーの目標と必要なタイミングを定義します。すべての質問に回答する必要があります。[次へ] をクリックします。

  4. コントロールを選択します。コントロールの名前を入力し、[検索] プロダクトを選択して、コントロール タイプ [無視] を選択します。

  5. 取り消しコントロールを構成します。

    1. [トリガー] で、関連する検索クエリに条件(含む範囲外など)を指定して、この制御をトリガーするカタログ属性を定義します。カタログ属性が構成されていない場合、このコントロールは常に適用されます。

    2. [期間] を入力して、[適用可能な期間] を定義します。指定した期間のいずれかが満たされると、指定した期間のいずれかでカタログ属性がクエリと照合されます。期間を追加を使用して期間を追加します。

    3. [無視するアクション] に、無視するキーワードを入力します。

  6. [送信] をクリックして、制御リクエストを承認者に送信します。送信されたリクエストのステータスは、マーチャンダイジング コンソールで確認できます。制御リクエストは、いつでも削除できます。

Cloud コンソール

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

  3. [設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。

  4. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  5. コントロール タイプとして [関連付けしないコントロール] を選択します。

  6. [続行]をクリックして [トリガー] セクションに進みます。

  7. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  8. [続行] をクリックして [アクション] セクションに進みます。

  9. [キーワードを無視] フィールドに、クエリキーワードで入力するときに検索が無視するキーワード(shoddy など)を入力します。

  10. [続行] をクリックして [サービス提供構成] セクションに進みます。

  11. コントロールを適用するサービス構成を選択します。

  12. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "rule": {
                "condition": {
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "ignoreAction": {
                  "ignoreTerms": [
                      "IGNORE_TERM_1",
                      "IGNORE_TERM_2"
                    ]
                  ]
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。

代替コントロールを作成する

このコントロール タイプの詳細については、代替コントロールをご覧ください。

マーチャンダイジング コンソール

  1. 管理者から提供された URL をクリックします。サインインします。

    マーチャンダイジング コンソールの [コントロール] ページが表示されます。

  2. [制御を作成] をクリックします。

  3. エンドユーザーの目標と必要なタイミングを定義します。すべての質問に回答する必要があります。[次へ] をクリックします。

  4. コントロールを選択します。コントロールの名前を入力し、[検索] プロダクトを選択して、コントロール タイプ [代替] を選択します。

  5. 代替コントロールを構成します。

    1. [トリガー] で、関連する検索クエリに条件(含む範囲外など)を指定して、この制御をトリガーするカタログ属性を定義します。カタログ属性が構成されていない場合、このコントロールは常に適用されます。

    2. [期間] を入力して、[適用可能な期間] を定義します。指定した期間のいずれかが満たされると、指定した期間のいずれかでカタログ属性がクエリと照合されます。期間を追加を使用して期間を追加します。

    3. [置換アクション] で、最初のフィールドに置き換えるクエリキーワードを、2 番目のフィールドに代替キーワードを定義します。

  6. [送信] をクリックして、制御リクエストを承認者に送信します。送信されたリクエストのステータスは、マーチャンダイジング コンソールで確認できます。制御リクエストは、いつでも削除できます。

Cloud コンソール

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

  3. [設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。

  4. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  5. コントロール タイプとして [代替コントロール] を選択します。

  6. [続行]をクリックして [トリガー] セクションに進みます。

  7. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  8. [続行] をクリックして [アクション] セクションに進みます。

  9. [クエリキーワード] フィールドに、代替キーワードで置き換えるクエリキーワード(gShoe など)を入力します。

  10. [代替キーワード] フィールドに、指定したクエリキーワードを置き換えるキーワードを入力します。

    たとえば、クエリキーワード gShoe を代替キーワード Google Shoe に置き換えることができます。

  11. [続行] をクリックして [サービス提供構成] セクションに進みます。

  12. コントロールを適用するサービス構成を選択します。

  13. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "rule": {
                "condition": {
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "replacementAction": {
                    "queryTerms": [
                      "QUERY_TERM_1",
                      "QUERY_TERM_2"
                    ],
                    "replacementTerm": "REPLACEMENT_TERM"
                  }
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。

ピン留めコントロールを作成する

ピン留めコントロールを作成するには:

マーチャンダイジング コンソール

  1. 管理者から提供された URL をクリックします。サインインします。

    マーチャンダイジング コンソールの [コントロール] ページが表示されます。

  2. [制御を作成] をクリックします。

  3. エンドユーザーの目標と必要なタイミングを定義します。すべての質問に回答する必要があります。[次へ] をクリックします。

  4. コントロールを選択します。コントロールの名前を入力し、[検索] プロダクトを選択して、コントロールの種類 [固定] を選択します。

  5. 固定コントロールを構成します。

    1. [トリガー] で、関連する検索クエリに条件(含む範囲外など)を指定して、この制御をトリガーするカタログ属性を定義します。カタログ属性が構成されていない場合、このコントロールは常に適用されます。

    2. [期間] を入力して、[適用可能な期間] を定義します。指定した期間のいずれかが満たされると、指定した期間のいずれかでカタログ属性がクエリと照合されます。期間を追加を使用して期間を追加します。

    3. このコントロールでトリガーする固定アクションを定義します。これらのアクションは、商品 ID とピンの位置(通常は 120(一般的なページサイズ)未満の数値)で定義されます。[商品を追加] をクリックすると、商品を 10 個まで追加できます。

  6. [送信] をクリックして、制御リクエストを承認者に送信します。送信されたリクエストのステータスは、マーチャンダイジング コンソールで確認できます。制御リクエストは、いつでも削除できます。

Cloud コンソール

  1. Search for commerce コンソールの [コントロール] ページに移動します。

    [コントロール] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

  3. [設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。

  4. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  5. [プロダクトの選択] セクションで、[検索または参照] を選択します。

  6. コントロール タイプとして [固定コントロール] を選択します。[続行] をクリックします。

  7. [トリガー] セクションで、このコントロールをトリガーするユーザーの行動を選択します。

    • カテゴリのブラウジング: ブラウジング リクエストでは、search.request.query が空であることに加えて、page_categories フィールドに値を入力する必要があります。

    • 検索: 検索リクエストでは、search.request.query のみが入力されている必要があります。

      デフォルトでは、閲覧されたすべてのカテゴリと検索されたすべてのクエリでこのコントロールがトリガーされます。

  8. 省略可: 閲覧された特定のカテゴリまたは検索されたクエリに基づいてルールをトリガーする条件を設定します。

    • カテゴリを閲覧: [カテゴリ] フィールドに、コントロールをトリガーするカテゴリを入力します。

    • 検索: フィルタするクエリ用語(running shoes など)を追加するには、[クエリを追加] をクリックします。各キーワードで、[部分一致] または [完全一致] を選択します。

  9. 省略可: [時間範囲を追加] または [日付範囲を追加] をクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  10. [続行] をクリックして [アクション] セクションに進みます。[位置を固定] では、スライダーを使用して、商品を固定する位置を指定します。ピン値のスライダーでは、0、負の数、整数以外の値は使用できません。

    Vertex AI Search for Commerce では、単一のコントロールのピンマップに 10 個のピンを設定できます。位置には、1 ~ 120(リクエスト ページサイズの最大値)の任意の値を指定できます。

  11. [続行] をクリックして、[サービス提供構成] セクションに進みます。コントロールを適用するサービス構成を選択し、コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [Serving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

curl -X POST \
 -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
 -H "Content-Type: application/json; charset=utf-8" \
 -H "X-Goog-User-Project: PROJECT_NUMBER" \
 --data '{
          "displayName": "DisplayName",
          "solutionTypes": "SOLUTION_TYPE_SEARCH",
          "searchSolutionUseCase": ["SEARCH_SOLUTION_USE_CASE_SEARCH"],
     "rule": {
            "condition": {
 "queryTerms": [
                {
                  "value": "Term1",
                  "fullMatch": "boolean: true / false"
                },
                {
                  "value": "Term2",
                  "fullMatch": "boolean: true / false"
                },
             ],
             "activeTimeRange": [
               {
                 "startTime": timestamp1,
                 "endTime": timestamp2
               },
               {
                 "startTime": timestamp3,
                 "endTime": timestamp4
               }
             ]
            },
            "pinAction": {
               "pinMap" :  {
                        "pin_position1": "product_id",
                      "pin_position2": "product_id>"
                    }
            }
              }
}' \
"https://retail.googleapis.com/v2alpha/projects/PROJECT_NUMBER/locations/LOCATION/catalogs/default_catalog/controls?controlId=CONTROL_ID"

pin_position は [1,10] の範囲の整数で、product_id はカタログに存在する必要があります。ピンマップで許可される要素の最大数は、各コントロールで 10 個です。

次に、固定コントロールをサービス構成に関連付けます。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "X-Goog-User-Project: PROJECT_NUMBER" \
-d '{
      "controlId": "CONTROL_ID"
  }' \
'https://retail.googleapis.com/v2alpha/projects/PROJECT_NUMBER/locations/LOCATION/catalogs/default_catalog/servingConfigs/SERVING_CONFIG_ID:addControl'

この場合、CONTROL_ID は以前に作成した固定制御 id にする必要があります。

サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。

最後に、設定をテストするために検索リクエストを行います。リクエストにピン留めコントロールが正常に適用されるようにするには、前の手順で作成したコントロールで指定した語句/カテゴリと一致する検索語句(検索の場合)またはページ カテゴリ(ブラウズの場合)を使用します。

Cloud コンソール

  1. Search for commerce コンソールの [評価] ページに移動します。

    [評価] ページに移動

  2. [検索] タブに移動します。

  3. 検索クエリ フィールドにテストクエリを入力します。

  4. [検索プレビュー] をクリックします。

  5. 結果を表示して、選択した商品がピン留めされていることを確認します。

curl

curl -s -X POST -H "Authorization: Bearer " -H "Content-Type: application/json"
--data "{'query': '','visitorId': ''}" \ "https://retail.googleapis.com/v2/projects/PROJECT/locations/global/catalogs/CATALOG/placements/default_search:search"

エラーチェックの制約

エラーチェックを行う際は、次の制約事項に注意してください。

  • 2 つの商品を同じ位置に固定することはできません。つまり、商品「a」と商品「b」の両方を 2 番目の位置に配置することはできません。
  • 逆に、1 つの商品を複数の場所に固定することはできません。つまり、同じクエリに対して、商品「a」を同時に 2 番目と 3 番目の位置に固定することはできません。
  • フィルタや並べ替えが適用されていない場合、product_id はカタログ内の商品として存在する必要があります。