> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 플레이어 사용자 지정 속성을 활용한 고급 세그멘테이션

> API, Game Manager 또는 PlayStream 규칙을 통해 설정된 사용자 지정 속성으로부터 동적 PlayFab 플레이어 세그먼트를 구성해 액션과 예약된 라이브 운영 작업을 구동합니다.

# 사용자 지정 속성을 활용한 고급 세그멘테이션 (공개 미리 보기)

<Note>
  사용자 지정 속성을 활용한 고급 세그멘테이션 기능은 프라이빗 미리 보기 상태입니다. 피드백을 계속 수집하고 고객 사용 사례에 맞게 최적화함에 따라 지속적으로 변경될 것으로 예상됩니다.
</Note>

[사용자 지정 속성(공개 미리 보기)](/services/playfab/live-service-management/game-configuration/segmentation/player-custom-properties)을 활용한 고급 세그멘테이션은 자체 커머스, 참여, 사용자 지정 데이터를 사용해 동적 플레이어 세그먼트를 만들 수 있게 해줍니다. 사용자 지정 속성을 사용해 플레이어의 사용자 지정 정보를 저장하고 관리한 다음, 이를 사용해 특정 속성을 기반으로 한 세그먼트를 만들 수 있습니다. 이러한 속성은 API, Game Manager 또는 PlayStream 규칙을 통해 플레이어에 대해 설정될 수 있으며, 공유되는 특성을 기반으로 플레이어를 그룹화하는 세그먼트를 정의하는 데 사용할 수 있습니다. 이렇게 만들어진 세그먼트는 플레이어에 대한 액션을 생성하는 데 사용할 수 있습니다. 또한 이러한 세그먼트는 예약된 작업 또는 수동 작업을 정의하는 데 사용할 수 있습니다.

## 플레이어 사용자 지정 속성으로 세그먼트 만들기

플레이어 사용자 지정 속성으로 세그먼트를 API 또는 Game Manager를 통해 만들 수 있습니다.

### API를 통해

* [Create Segment API](https://learn.microsoft.com/en-us/rest/api/playfab/admin/segments/create-segment)를 사용해 세그먼트를 만드세요.
* [Update Segment](https://learn.microsoft.com/en-us/rest/api/playfab/admin/segments/update-segment) API를 사용해 사용자 지정 속성 조건자(predicate)를 추가하세요.

### Game Manager를 통해

* [Game Manager](https://developer.playfab.com)에 로그인합니다.
* **Players** 페이지로 이동합니다.
* **Segments** 탭으로 이동합니다.
* [세그먼트를 만들거나 업데이트](/services/playfab/live-service-management/game-configuration/segmentation/segmentation-quickstart)합니다.
* **Player** 아래에서 **Add filter**를 선택하여 사용자 지정 속성 조건자를 추가합니다.
* 세그먼트를 저장합니다.

## 사용자 지정 속성이 있는 세그먼트에서 플레이어 내보내기

1. 사용자 지정 속성 조건자를 참조하는 [세그먼트를 만듭니다](/services/playfab/live-service-management/game-configuration/segmentation/segmentation-quickstart).
2. [ExportPlayersInSegment API](/services/playfab/live-service-management/game-configuration/segmentation/segmentation-export-players-in-a-segment)를 사용해 플레이어 프로필을 내보냅니다.

## 예약된 작업

1. 사용자 지정 속성 조건자를 사용하는 세그먼트에서 [예약된 작업을 실행](/services/playfab/data-analytics/acting-data/scheduled-tasks)합니다.

## 빠른 시작 시나리오

### Economy V2 카탈로그 및 인벤토리 설정

1. **Gold Bar** 통화를 아이템으로 만듭니다.
2. **Chocolate Bar** 통화를 아이템으로 만듭니다.
   * **필수 매개변수:** Friendly ID, Title, Start Date (3월 1일)
     <img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_2_economy_currencies.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=4d7717a09bb5a874d243bccd92600354" alt="Economy V2 카탈로그 설정" width="1715" height="578" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_2_economy_currencies.png" />
3. 카탈로그 아이템 **Chocolate Bar**를 만듭니다.
   3a. \*\*Settings -> Economy (V2) -> Catalog (V2)\*\*로 이동합니다.
   3b. **Catalog Settings** 아래에서, 새로운 **Content Type** - **Chocolate Bar**를 추가하고 **Save**를 선택합니다.

   <img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_3_economy_settings.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=a8cc51e057c5f9605d157092b51f92b8" alt="Catalog Settings" width="1184" height="900" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_3_economy_settings.png" />

   3c. **Engage -> Economy -> Catalog (V2) -> Items**로 이동한 다음, 추가하려면 **New item**을 선택합니다.

   <img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_4_economy_new_item.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=db3b3f74eec0156f06d22c91c77ed450" alt="New Item" width="1717" height="570" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_4_economy_new_item.png" />

   3d. **ContentType** 아래에서 **Chocolate Bar**를 선택하고 **Start date**, **Time**, **Title**을 설정한 다음 **Save and Publish**를 선택합니다.

   <img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_5_create_chocolate_bar.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=3fc3d43286a7a0a5c27ae713dc6fb90b" alt="Save and Publish" width="1495" height="757" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_5_create_chocolate_bar.png" />

***

### 1. Gold Bar를 25\~50개 사이로 소비한 사용자를 위한 세그먼트 만들기(가상 통화 소비)

1. **Automation -> Rules** 아래의 **PlayStream Rules** 페이지로 이동합니다.

2. 다음 구성으로 `items_subtracted` 이벤트에 대한 규칙을 만듭니다.

   **조건:**

   * `Payload.ItemId == <Gold Bar 통화의 id>`
   * 선택 사항: 다른 금액의 덮어쓰기를 방지하려면 `Payload.Amount`를 25에서 50 사이로 지정

   **액션:**

   * 사용자 지정 속성 업데이트
     * `AmountSpent = Payload.Amount`
     * `ItemName = Payload.ItemId`

   <img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_6_gold_sub_rule.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=d60daa6e9d15493bda013cfddc1b277b" alt="가상 통화 규칙 구성" width="1361" height="784" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_6_gold_sub_rule.png" />

3. **Players -> Segments** 아래의 **Segments** 페이지로 이동합니다.

4. 다음 구성으로 새 세그먼트를 만듭니다.

   * 사용자 지정 속성 (string) `ItemName`이 `<Gold Bar id>`
   * 사용자 지정 속성 (numeric) `AmountSpent`가 `>= 25`
   * 사용자 지정 속성 (numeric) `AmountSpent`가 `<= 50`

   <img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_7_gold_segment.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=b231ad97b5ae4bdac45fca1fd4d27a76" alt="가상 통화 세그먼트 구성" width="842" height="845" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_7_gold_segment.png" />

***

### 2. 2025년 4월 1일 이후 Chocolate Bar를 부여받아 모두(10개) 사용한 사용자를 위한 세그먼트 만들기(인벤토리 부여)

1. **Automation -> Rules** 아래의 **PlayStream Rules** 페이지로 이동합니다.

2. 다음 구성으로 `playfab.inventory.items_granted` 이벤트에 대한 규칙을 만듭니다.

   **조건:**

   * `Payload.ItemId == <Chocolate Bars id>`

   **액션:**

   * 플레이어 사용자 지정 속성 업데이트
     * `AmountSpent = Payload.Amount`
     * `ItemUpdateDate = Timestamp`

   <img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_8_chocolate_sub_rule.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=762437c85d96129ed24e7b85dfbcbf32" alt="인벤토리 부여 규칙 구성" width="1341" height="833" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_8_chocolate_sub_rule.png" />

3. **Players -> Segments** 아래의 **Segments** 페이지로 이동합니다.

4. 다음 구성으로 세그먼트를 만듭니다.

   * 사용자 지정 속성 (string) `ItemName = <Chocolate Bars id>`
   * 사용자 지정 속성 (datetime) `ItemUpdateDate > 4/1/2025`
   * 사용자 지정 속성 (numeric) `ItemAmountSpent >= 10`

   <img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_9_chocolate_segment.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=c41112d6e5b2c6661ae1a28712c53ef5" alt="인벤토리 부여 세그먼트 구성" width="899" height="1250" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_9_chocolate_segment.png" />

5. **작동 방식:** 규칙은 각 개별 이벤트의 값으로 플레이어 사용자 지정 속성을 **업데이트**합니다. **시간에 따라 값을 누적하거나 합산하지 않습니다**. 예를 들어 플레이어가 초콜릿 바 1개를 10번 별도로 소비하면, `ItemAmountSpent` 속성은 매번 `10`이 아닌 `1`로 설정됩니다. 결과적으로, 해당 플레이어는 `ItemAmountSpent >= 10`으로 필터링하는 세그먼트에 포함되지 **않습니다**. 누적 또는 집계 값(예: 여러 이벤트에 걸쳐 소비된 총 아이템)을 추적해야 한다면, **Azure Function** 또는 **CloudScript**를 사용해 총합을 계산하고 업데이트하는 사용자 지정 로직을 구현하는 것을 권장합니다.

6. **참고:** 시나리오 1의 Gold Bars와 시나리오 2의 Chocolate Bars는 모두 동일한 속성 `ItemName`에 씁니다. 여러 값을 추적하려면, 두 세그먼트 사이에서 플레이어가 왔다 갔다 하는 것을 방지하기 위해 여러 속성 이름이 필요합니다.

***

### 3. 한 번의 구매로 Chocolate Bar 1개를 구매한 사용자를 위한 세그먼트 만들기(카탈로그 구매)

1. **Automation -> Rules** 아래의 **PlayStream Rules** 페이지로 이동합니다.

2. 다음 구성으로 `playfab.inventory.items_purchased` 이벤트에 대한 규칙을 만듭니다.

   **조건:**

   * `Payload.ItemType == ChocolateBar`
   * `Payload.Amount >= 1`
   * `Timestamp >= 5 minutes ago`

   **액션:**

   * 사용자 지정 속성 업데이트
     * `ChocolateBarPurchased = Payload.Amount`

   <img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_10_chocolate_purchase_rule.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=e0dabaa54932a0f2e7e0ed7898cbdb2b" alt="카탈로그 구매 규칙 구성" width="1686" height="1080" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_10_chocolate_purchase_rule.png" />

3. **Players -> Segments** 아래의 **Segments** 페이지로 이동합니다.

4. 다음 구성으로 세그먼트를 만듭니다.

   * 사용자 지정 속성 (numeric) `ChocolateBarPurchased >= 1`

   <img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_11_chocolate_purchase_segment.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=0690da9ce0f5575e8e1d19a201a2f557" alt="카탈로그 구매 세그먼트 구성" width="626" height="1255" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_11_chocolate_purchase_segment.png" />

5. **작동 방식:** 플레이어가 **Chocolate Bar**를 구매할 때마다 규칙 조건이 트리거되어 사용자 지정 속성을 추가하는 액션이 실행됩니다. 그러면 플레이어는 세그먼트에 진입하며 구성된 보상 또는 알림을 받을 수 있습니다.


## Related topics

- [player_action_executed](/ko/services/playfab/api-references/events/Player/player-action-executed.md)
- [플레이어 인벤토리 사용](/ko/services/playfab/player-progression/player-data/player-inventory.md)
- [플레이어 사용자 지정 속성](/ko/services/playfab/live-service-management/game-configuration/segmentation/player-custom-properties.md)
- [Economy v2 개요](/ko/services/playfab/economy-monetization/economy-v2/overview.md)
- [PlayFab 데이터 및 분석 문서](/ko/services/playfab/data-analytics/index.md)
