

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 웹 데이터 트래커를 사용하여 웹 사이트 방문자 활동 캡처
<a name="chat-widget-data-tracker"></a>

웹 데이터 트래커는 방문자가 클릭 항목, 검색 결과, 양식 제출 등 웹 사이트와 상호 작용하는 방식을 캡처합니다. 해당 활동을 Customer Profiles의 해당 프로필과 연결합니다. 트래커는 커뮤니케이션 위젯의 일부이며 위젯 수준에서 제어됩니다. 웹 데이터 트래커와 웹 알림이 함께 작동하는 방식에 대한 개요는 섹션을 참조하세요[웹 데이터 트래커 및 웹 알림](customer-profiles-web-tracker-and-notification.md).

## 사전 조건
<a name="chat-widget-data-tracker-prereqs"></a>
+ 커뮤니케이션 위젯이 구성된 고객 연결 인스턴스입니다. 자세한 내용은 [Connect Customer에서 호스팅하는 웹 사이트에 채팅 사용자 인터페이스 추가](add-chat-to-website.md) 단원을 참조하십시오.
+ 인스턴스에서 Customer Profiles가 활성화되었습니다. 자세한 내용은 [Connect Customer 인스턴스에 대해 Customer Profiles 활성화](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. (선택 사항)이 위젯에서 사전 알림을 보내려는 경우 **웹** 알림을 활성화합니다. 자세한 내용은 [Connect Customer 아웃바운드 캠페인을 사용하여 웹 알림 전송](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 작업 또는 제품 보기와 같은 사용자 지정 비즈니스 이벤트를 캡처하려면 이벤트가 발생할 때 웹 사이트에서 JavaScript를 호출`recordBusinessMetric`합니다.

**중요**  
`Find Similar Items` 및와 같은 항목 컨텍스트가 필요한 추천자와 함께 데이터 트래커를 사용하려면 비즈니스별 이벤트를 사용하고 `item_id` 필드를 포함해야 `Frequently Paired Items`합니다.

### 메서드 서명
<a name="chat-widget-track-business-events-method"></a>

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


| **파라미터** | **유형** | **설명** | 
| --- | --- | --- | 
| `eventType` | 문자열 | 비즈니스 이벤트 이름 - 예약 유형 또는 사용자 지정 문자열입니다. | 
| `eventPayload` | 객체 | 아래 객체 스키마를 사용하여 구조화된 이벤트 데이터입니다. | 

### 객체 스키마
<a name="chat-widget-track-business-events-schemas"></a>

는 다음 객체를 `eventPayload` 지원합니다. 사용 사례에 맞게 필드 조합을 사용합니다.


| **객체** | **키 필드** | **설명** | 
| --- | --- | --- | 
| **item** | `item_id`\*, `item_name`\*, `quantity`\*, `category`, `price`, `currency`, `impression_type`, `impression_id` | 단일 제품 또는 항목 | 
| **item\_list** | 목록<항목> | 항목 객체 배열(최소 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>

를 호출한 후 웹 사이트의 이벤트 핸들러에 `recordBusinessMetric()` 호출을 `amazon_connect.Web.ClickStream.init()`추가합니다(예: 클릭).

**예 - 장바구니에 추가**

```
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>

다음 이벤트 유형은 사전 정의된 스키마로 예약됩니다.


| **이벤트 유형** | **필수 객체** | **설명** | 
| --- | --- | --- | 
| `add_to_cart` | item | 방문자가 장바구니에 항목을 추가할 때 추적 | 
| `purchase` | 순서 | 완료된 구매를 추적합니다. | 
| `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>

웹 데이터 트래커에서 캡처한 Clickstream 데이터는 Customer Profiles로 지속적으로 스트리밍되고 방문자의 프로필과 연결됩니다. 다음 표에서는 익명 및 인증된 방문자에 대해 해당 연결이 작동하는 방식을 설명합니다.


| **방문자 유형** | **프로필 연결 동작** | 
| --- | --- | 
| 익명 방문자 | 세션 식별자로만 추적됩니다. 동작 데이터는 캡처되지만 알려진 고객 자격 증명과 연결되지 않습니다. 개인 식별 정보는 수집되지 않습니다. | 
| 인증된 방문자 | 위젯 초기화 중에 인증된 사용자 ID를 전달하면 서비스는 모든 클릭스트림 활동을 Customer Profiles에서 해당 사용자의 알려진 프로필에 연결합니다. 이를 통해 개인화가 더 풍부해지고 트리거 조건이 더 정확해집니다. | 

추적을 인증된 사용자와 연결하려면 다음 방법 중 하나를 사용합니다.
+ **(권장) CustomerId JWT 클레임 사용** - 통신 위젯에서 보안을 활성화한 경우 JSON 웹 토큰(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` 않도록 `WebAnalytics-Clickstream` 및에 대한 객체 제한을 설정합니다. 구성 지침은 [Customer Profiles 데이터 제한을](https://docs.aws.amazon.com/connect/latest/adminguide/customer-profiles-data-limits.html) 참조하세요.

## 캡처된 내용
<a name="chat-widget-data-tracker-what-is-captured"></a>

트래커가 기본적으로 캡처하는 활동의 전체 목록은 섹션을 참조하세요[웹 데이터 트래커가 캡처하는 내용](customer-profiles-web-tracker-and-notification.md#web-tracker-what-is-captured).

## 개인 정보 보호 및 동의
<a name="chat-widget-data-tracker-privacy"></a>

웹 데이터 트래커는 옵트인 방식으로 설계되었습니다. 커뮤니케이션 위젯에서 **데이터 수집**을 활성화하지 않으면 클릭스트림 데이터가 캡처되지 않습니다. 양식 필드 값, 암호 및 결제 정보는 양식 제출 이벤트가 추적되더라도 자동으로 수집되지 않습니다.

**중요**  
개인 정보 보호 정책 및 일반 데이터 보호 규정(GDPR) 및 캘리포니아 소비자 개인 정보 보호법(CCPA)과 같은 관련 규정에 따라 데이터 추적을 초기화하기 전에 적절한 방문자 동의를 받아야 합니다.