取得內容推薦

本頁面說明如何為特定使用者和使用者事件要求產品推薦。

上傳產品並記錄使用者事件後,您可以根據特定使用者的記錄事件和目前活動,要求取得該使用者的產品推薦。新產品和使用者事件最多可能需要 48 小時,才會反映在建議模型中。

Vertex AI Search for commerce 會傳回已排序的產品 ID 清單。您有責任在網站上顯示附有圖片和文字的結果。

絕不可快取使用者的個人化結果,也不可將個人化結果傳回給其他使用者。

事前準備

您必須先按照「事前準備」中的步驟建立 Google Cloud專案並設定驗證方法。

如要從建議要求預測,您必須先完成下列事項:

評估建議

更新網站程式碼以要求建議前,您可以先預覽預測結果,確認模型和服務設定是否正常運作。

如要進一步瞭解供應設定,請參閱「關於供應設定」。

如要預覽放送設定結果,請前往「評估」頁面,或前往放送設定的「詳細資料」頁面,然後點選「評估」分頁標籤。

如要預覽供應設定傳回的建議,請按照下列步驟操作:

  1. 前往 Search for commerce 控制台的「評估」頁面。

    前往「評估」頁面

  2. 如果尚未選取「建議」分頁,請按一下該分頁。

  3. 選取要預覽的供應設定。

  4. 選用:輸入訪客 ID,預覽該使用者的建議。

  5. 如果顯示「相關聯的項目」部分,請按一下「新增項目」並輸入產品 ID,取得該項目的相關建議。你可以新增多個關聯項目。

    只有在所選供應設定的模式類型需要產品做為推薦內容的輸入內容時,才能新增項目。「為你推薦」模型不需要輸入相關聯的項目。

  6. 按一下「預測預覽」,即可查看預測結果。

如要查看預覽供應設定的「詳細資料」頁面,請按一下「選取供應設定」欄位下方的「查看供應設定」

取得建議

Recommendations API 傳回的項目數量設有限制。不過,您可以透過變通方法增加傳回的項目數量。

盡量發揮瀏覽資訊的價值

本節將說明如何有效處理類別,確保最高資料層級模型,並啟用個人化功能,充分運用 Vertex AI Search for commerce 中的瀏覽商品資訊。

有效處理類別

  • 使用獨特且具描述性的網頁類別名稱,確保準確追蹤使用者行為和模型學習。
  • 從廣泛到具體,逐步建構類別,讓使用者逐步調整瀏覽體驗。
  • 避免使用過於小眾的類別,以免使用者參與度有限。

確保使用最高階模型

前往「資料品質」頁面

接著,如要設定最高層級模型,請按照下列步驟操作:

  1. 導入使用者事件追蹤功能,擷取搜尋和瀏覽的使用者互動 (點擊、購買、加入購物車)。

  2. 使用 Vertex AI Search for commerce 資料品質資訊主頁,監控資料擷取作業和模型準備狀態。

如要進一步瞭解搜尋和瀏覽的資料層級,請參閱「資料品質」。

運用個人化功能提升成效

瀏覽模型會根據使用者行為進行學習,因此大部分的成效來自於個人化功能。

  • 評估模型成效時,請啟用個人化設定。
  • 停用個人化功能會影響成效,並降低模型的潛在影響。
  • 在向實際的正式版流量或 A/B 測試公開瀏覽結果之前,請先啟用個人化功能。

提高限制

  • Vertex AI Search for commerce 的結果上限為 120 個。

  • Recommendations API 最多支援 2,000 個項目的重新排序。

  • 雖然延遲時間會增加,但網頁大小最多可增加至 500 或 1,000。

解決方法

在類別頁面中,你可以使用個人化推薦內容,重新排序並自訂頁面。如要解決結果數量上限為 120 的問題,請同時多次呼叫前幾頁,然後將結果縫合在一起,看起來就像一個大頁面。

如要手動限制傳回給使用者的建議組合,可以在 PredictRequest.params 查詢中新增篩選條件

使用 API 將所選屬性標示為可篩選,然後直接在預測要求中參照這些屬性。

如要瞭解預測費用詳細資料,請參閱「定價」一文。

curl

如要取得推薦內容,請向 predict REST 方法發出 POST 要求,並提供適當的要求主體:

  • 您使用的服務帳戶必須具備「零售檢視者」或更高層級的角色。

  • SERVING_CONFIG_ID 替換成您要使用預測功能的供應設定。瞭解詳情

  • 如果您使用 BigQuery 匯入 Google Analytics 360 使用者事件,請將 visitorId 設為 Google Analytics 用戶端 ID。如要瞭解如何取得用戶端 ID,請參閱 Google Analytics 說明文件

  • 如果您正在執行 A/B 實驗,請將 experimentIds 設為這個實驗群組的 ID。瞭解詳情

  • 針對發出推薦要求的使用者動作提供使用者事件物件。

    請注意,系統不會記錄這個使用者事件;該事件僅用於為這個推薦要求提供背景資訊。建議您比照將其他使用者事件記錄至 Recommendations AI 的方式來記錄該使用者事件。

  • 您也可以視需要提供篩選器,縮小可能傳回的產品範圍。瞭解詳情

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
              "filter": "FILTER_STRING",
              "validateOnly": false,
              "userEvent": {
                  "eventType": "detail-page-view",
                  "visitorId": "VISITOR_ID",
                  "userInfo": {
                      "userId": "USER_ID",
                      "ipAddress": "IP_ADDRESS",
                      "userAgent": "USER_AGENT"
                  },
                  "experimentIds": "EXPERIMENT_GROUP",
                  "productDetails": [{
                      "product": {
                        "id": "PRODUCT_ID"
                     }
                  }]
              }
            }' \
https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/servingConfigs/SERVING_CONFIG_ID:predict

您應該會看到類似下方的結果:

{
  "results": [{"id": "sample-id-1"}, {"id": "sample-id-2"}],
  "attribution_token": "sample-atr-token"
}

Java

public static PredictResponse predictWithNextPageToken(UserEvent userEvent, int pageSize,
    String nextPageToken)
    throws IOException, InterruptedException {
  PredictionServiceClient predictionClient = getPredictionServiceClient();

  PredictRequest request = PredictRequest.newBuilder()
      .setPlacement(HOME_PAGE_PLACEMENT_NAME)
      .setUserEvent(userEvent)
      .setPageSize(pageSize)
      .setPageToken(nextPageToken)
      .setValidateOnly(true)
      .build();

  PredictResponse response = predictionClient.predict(request);

  predictionClient.shutdownNow();
  predictionClient.awaitTermination(2, TimeUnit.SECONDS);

  return response;
}

價格重新排序

如果啟用價格重新排序,系統就會將推薦機率相近的推薦產品按照價格由高至低排序。系統仍會根據關聯性排序項目,因此啟用價格重新排序功能與依價格排序不同。

價格重新排序可設於供應設定層級,或每個預測要求。

在 Search for commerce 控制台中建立放送設定時,選擇價格重新排序設定後,該設定就會套用至該設定放送的所有建議,您不必採取進一步行動。

如要控管特定建議的價格重新排序,可以使用 PredictRequest.params 欄位。這會覆寫原本適用於這項建議的任何設定層級重新排序設定。

建議多元性

推薦內容多樣化功能會影響單一預測要求傳回的結果是否來自產品目錄中的不同類別。

您可以在供應設定層級或每個預測要求中,設定建議多樣性。

在 Search for commerce 控制台中建立供應設定時,如果選擇建議多樣化設定,系統預設會將該設定套用至該設定提供的所有預測,您不必採取進一步行動。

如要控管特定建議的多樣性,可以使用 PredictRequest.params 欄位。這會覆寫原本適用於這項建議的任何設定層級多元化設定。如要瞭解可接受的值,請參閱。

使用建議篩選器

您可以使用 predict 方法中的 filter 欄位,篩選建議傳回的建議。詳情請參閱「篩選最佳化建議」。

使用頁面層級最佳化模型進行預測呼叫

使用頁面層級最佳化提供建議時,需要額外的預測呼叫步驟。

使用含有頁面層級最佳化模型的供應設定,進行初始預測呼叫。預測回應會傳回已排序的放送設定 ID 清單,代表每個面板要使用的模型。

接著,請使用網頁層級最佳化模型為每個面板建議的放送設定 ID,對各個面板發出預測呼叫。預測回應包含模型名稱 (例如「為你推薦」) 和建議項目清單,可在該面板中顯示。

使用頁面層級最佳化模型的服務設定無法重新排序價格、提供多元建議和篩選建議。