

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Web 資料追蹤器擷取網站訪客活動
<a name="chat-widget-data-tracker"></a>

Web 資料追蹤器會擷取訪客與您的網站互動的方式 – 按一下的項目、進行的搜尋、表單提交。它會將該活動與客戶設定檔中的設定檔建立關聯。追蹤器是通訊小工具的一部分，並在小工具層級控制。如需 Web 資料追蹤器和 Web 通知如何一起運作的概觀，請參閱 [Web 資料追蹤器和 Web 通知](customer-profiles-web-tracker-and-notification.md)。

## 先決條件
<a name="chat-widget-data-tracker-prereqs"></a>
+ 已設定通訊小工具的 Connect Customer 執行個體。如需詳細資訊，請參閱[將聊天使用者介面新增至 Connect Customer 託管的網站](add-chat-to-website.md)。
+ 執行個體上已啟用客戶設定檔。如需詳細資訊，請參閱[為您的 Connect Customer 執行個體啟用客戶設定檔](enable-customer-profiles.md)。

## 步驟 1：在通訊小工具上啟用資料收集
<a name="chat-widget-enable-data-collection"></a>

1. 登入 Connect Customer 管理員網站。

1. 在導覽功能表中，選擇**頻道**，然後選擇**通訊小工具**。

1. 建立新的小工具或編輯現有的小工具。如需詳細資訊，請參閱[將聊天使用者介面新增至 Connect Customer 託管的網站](add-chat-to-website.md)。

1. 啟用**資料收集**以開啟點選串流追蹤。

1. （選用） **資料收集**設定包含**進階資料收集**的選項。開啟此功能，讓服務自動收集訪客與 HTML 內容的互動，進而產生更豐富且更準確的預測洞見。

1. （選用） 如果您計劃從此小工具傳送主動通知，請啟用 **Web** 通知。如需詳細資訊，請參閱[使用 Connect Customer 對外行銷活動傳送 Web 通知](outbound-campaigns-web-notification.md)。

1. 新增將小工具內嵌至允許網域清單的網站網域。

1. 儲存小工具並複製小工具程式碼片段程式碼。在下一個步驟中將此程式碼片段內嵌在您的網站上。

## 步驟 2：嵌入小工具並初始化追蹤
<a name="chat-widget-embed-and-init-tracking"></a>

在網站的 HTML 中嵌入小工具程式碼片段。載入程式碼片段之後，請在取得訪客同意後初始化追蹤器。

```
// Start tracking visitor behavior (after obtaining consent)
await window.amazon_connect.Web.ClickStream.init();

// (Optional) Enable web notifications for this visitor
await window.amazon_connect.Web.Notification.init();
```

**重要**  
根據您的隱私權政策和適用法規，只有在取得適當的訪客同意後，才能初始化追蹤。

**注意**  
對於單頁應用程式，請在最上層頁面嵌入程式碼片段一次。對於多頁應用程式，請在您要擷取活動的每個頁面上嵌入程式碼片段。

## 步驟 3：（選用） 追蹤業務特定事件
<a name="chat-widget-track-business-events"></a>

若要擷取自訂商業事件，例如購買完成、add-to-cart動作或產品檢視，請在事件發生時`recordBusinessMetric`從您的網站 JavaScript 呼叫 。

**重要**  
如果您計劃將資料追蹤器與需要項目內容的推薦者搭配使用，例如 `Find Similar Items`和 `Frequently Paired Items`，您必須使用業務特定事件並包含 `item_id` 欄位。

### 方法簽章
<a name="chat-widget-track-business-events-method"></a>

```
await amazon_connect.Web.ClickStream.recordBusinessMetric(eventType, eventPayload)
```


| **Parameter (參數)** | **類型** | **Description** | 
| --- | --- | --- | 
| `eventType` | string | 業務事件名稱 – 預留類型或任何自訂字串。 | 
| `eventPayload` | object | 使用下列物件結構描述建構的事件資料。 | 

### 物件結構描述
<a name="chat-widget-track-business-events-schemas"></a>

`eventPayload` 支援下列物件。使用欄位的任意組合以符合您的使用案例。


| **物件** | **金鑰欄位** | **Description** | 
| --- | --- | --- | 
| **項目** | `item_id`\*, `item_name`\*, `quantity`\*, `category`, `price`, `currency`, `impression_type`, `impression_id` | 單一產品或項目 | 
| **item\_list** | List<item> | 項目物件陣列 （最少 1 個） | 
| **購物車** | `cart_id`\*, `item_list`\*, `total_value`, `currency` | 購物車 | 
| **順序** | `order_id`\*, `item_list`\*, `total_value`, `currency`, `payment_method`, `shipping_address`, `discount` | 已完成的訂單 | 
| **search** | `search_query`\*, `total_matching_results`, `results_per_page`, `filter_expression`, `sort_criteria` | 搜尋動作 | 
| **表單** | `form_id`\*, `form_name`, `form_length`, `validation_errors`, `fields_completed` | 表單互動 | 
| **捲動** | `depth_percentage`, `position_x`, `position_y` | 捲動位置 （至少需要一個欄位） | 
| **event\_value** | number | 代表事件重要性的數值 | 

\* 必要欄位

### 整合步驟和使用範例
<a name="chat-widget-track-business-events-examples"></a>

呼叫 後`amazon_connect.Web.ClickStream.init()`，在網站的事件處理常式中新增`recordBusinessMetric()`呼叫 （例如，按一下）。

**範例 – 新增至購物車**

```
await amazon_connect.Web.ClickStream.recordBusinessMetric('add_to_cart', {
    item: {
        item_id: 'prod-123',
        item_name: 'Wireless Headphones',
        price: 49.99,
        quantity: 1,
        currency: 'USD'
    }
});
```

**範例 – 檢視項目**

```
await amazon_connect.Web.ClickStream.recordBusinessMetric('view_items', {
    item_list: [
        {
            item_id: 'item_10',
            quantity: 1,
            item_name: 'Premium Wireless Headphones',
            category: 'Electronics',
            price: 89.99,
            currency: 'USD'
        }
    ]
});
```

### 預留事件類型
<a name="chat-widget-track-business-events-reserved"></a>

下列事件類型會保留預先定義的結構描述：


| **事件類型** | **必要物件** | **Description** | 
| --- | --- | --- | 
| `add_to_cart` | item | 追蹤訪客何時將項目新增至購物車 | 
| `purchase` | order | 追蹤完成的購買 | 
| `view_items` | item\_list | 追蹤訪客何時檢視一或多個項目 | 

### 自訂事件
<a name="chat-widget-track-business-events-custom"></a>

除了預留事件類型之外，您還可以定義任何自訂事件類型字串 （例如 `clear_cart`或 `wishlist_add`)。對於自訂事件：
+ 服務不會對事件結構強制執行嚴格的驗證。
+ 您可以使用上述物件結構描述中的任意欄位組合，以符合您的使用案例。
+ 完全依照所示使用欄位名稱 （例如 `cart_id`，而非 `cartId`)。

```
await amazon_connect.Web.ClickStream.recordBusinessMetric('clear_cart', {
    cart_id: 'cart-123',
    item_list: [
        { item_id: 'p1', item_name: 'Widget', quantity: 1 }
    ]
});
```

## 將點擊串流與已驗證的使用者建立關聯
<a name="chat-widget-data-tracker-authenticated-users"></a>

Web 資料追蹤器擷取的 Clickstream 資料會持續串流至客戶設定檔，並與訪客的設定檔相關聯。下表說明該關聯對匿名和已驗證訪客的行為。


| **訪客類型** | **設定檔關聯行為** | 
| --- | --- | 
| 匿名訪客 | 僅由工作階段識別符追蹤。擷取行為資料，但未連結至已知的客戶身分。不會收集任何個人身分識別資訊。 | 
| 已驗證的訪客 | 當您在小工具初始化期間傳遞已驗證的使用者 ID 時，服務會將所有點擊串流活動連結至客戶設定檔中該使用者的已知設定檔。這可實現更豐富的個人化和更準確的觸發條件。 | 

若要將追蹤與已驗證的使用者建立關聯，請使用下列其中一種方法：
+ **（建議） 使用 CustomerId JWT 宣告** – 如果您在通訊小工具上啟用安全性，請在 JSON Web Token (JWT) 宣告的 `CustomerId` 欄位中包含已驗證的使用者 ID。這會將點擊串流活動連結至使用者的設定檔，而不會在用戶端程式碼中公開 ID。如需設定詳細資訊，請參閱 [步驟 3：確認並複製通訊小工具程式碼和安全密鑰](add-chat-to-website.md#confirm-and-copy-chat-widget-script)。
+ **在初始化期間傳遞使用者 ID** – 如果您的小工具上未啟用安全性，請在初始化追蹤器時傳遞已驗證的使用者 ID 做為引數：

  ```
  await window.amazon_connect.Web.ClickStream.init('<authenticated-user-id>');
  ```

**重要**  
如果傳遞已驗證的使用者 ID，會透過帳戶金鑰連結到現有的設定檔。由於資料追蹤器事件會隨著時間累積，請設定 `WebAnalytics-Clickstream`和 的物件限制`_webAnalytics`，以防止新事件在達到設定檔物件限制時覆寫其他物件類型。如需組態指引，請參閱[客戶設定檔資料限制](https://docs.aws.amazon.com/connect/latest/adminguide/customer-profiles-data-limits.html)。

## 擷取的內容
<a name="chat-widget-data-tracker-what-is-captured"></a>

如需追蹤器預設擷取之活動的完整清單，請參閱 [Web 資料追蹤器擷取的內容](customer-profiles-web-tracker-and-notification.md#web-tracker-what-is-captured)。

## 隱私權與同意
<a name="chat-widget-data-tracker-privacy"></a>

Web 資料追蹤器是依設計選擇加入。如果您未在通訊小工具上啟用**資料收集**，則不會擷取任何點擊串流資料。即使追蹤表單提交事件，也不會自動收集表單欄位值、密碼和付款資訊。

**重要**  
您有責任根據您的隱私權政策和適用法規，例如一般資料保護法規 (GDPR) 和加州消費者隱私權法案 (CCPA)，在初始化資料追蹤之前取得適當的訪客同意。