콘텐츠로 건너뛰기

사용자 업데이트

사용자 업데이트 구성요소를 사용하면 JSON 편집기에서 사용자의 속성, 이벤트, 구매를 업데이트할 수 있으므로 API 키와 같은 민감한 정보를 포함할 필요가 없습니다.

이 컴포넌트의 작동 방식

"로열티 업데이트"라는 이름의 사용자 업데이트 단계에서 "Is Premium Member" 속성을 "true"로 업데이트하는 모습.

Canvas에서 이 컴포넌트를 사용하면 업데이트가 /users/track 분당 요청 사용량 제한에 포함되지 않습니다. 대신 이러한 업데이트는 일괄 처리되어 Braze가 Braze-to-Braze 웹훅보다 더 효율적으로 처리할 수 있습니다. 이 컴포넌트는 비과금 데이터 포인트(예: 구독 그룹)를 업데이트하는 데 사용할 경우 데이터 포인트를 기록하지 않습니다.

사용자가 사용자 업데이트 단계에 진입하고 처리가 완료되면 다음 단계로 진행합니다. 따라서 이러한 사용자 업데이트에 의존하는 후속 메시징은 다음 단계가 실행될 때 최신 상태가 됩니다.

사용자 업데이트 만들기

사이드바에서 컴포넌트를 드래그 앤 드롭하거나, 배리언트 또는 단계 하단의 플러스 버튼을 선택한 다음 사용자 업데이트를 선택합니다.

기존 고객 프로필 정보를 업데이트하거나, 새 정보를 추가하거나, 고객 프로필 정보를 삭제할 수 있는 세 가지 옵션이 있습니다. 워크스페이스의 모든 사용자 업데이트 단계를 합산하면 분당 최대 200,000개의 고객 프로필을 업데이트할 수 있습니다.

커스텀 속성

UI 에디터에서 속성 이름(기존 또는 신규)을 선택하고 작업을 선택합니다:

  • 업데이트: 새 값을 입력합니다.
  • 제거: 고객 프로필에서 속성을 삭제합니다(값 입력 불필요).

하나의 단계에 최대 10개의 속성을 추가할 수 있습니다. 이벤트, 구매, 중첩 필드 또는 기타 복잡한 변경 사항의 경우 고급 JSON 에디터를 사용합니다.

값 증가 및 감소

사용자 업데이트 단계에서 속성 값을 증가하거나 감소시킬 수 있습니다. 속성을 선택하고 증가 또는 감소를 선택한 다음 숫자를 입력합니다.

주간 진행 상황 추적

이벤트를 추적하는 커스텀 속성을 증가시키면 사용자가 일주일 동안 수강한 수업 수를 추적할 수 있습니다. 이 컴포넌트를 사용하면 수업 횟수를 주 시작 시점에 초기화하고 다시 추적을 시작할 수 있습니다.

속성 "class_count"를 1만큼 증가시키는 사용자 업데이트 단계.

오브젝트 배열 업데이트

오브젝트 배열은 고객 프로필에 저장되는 데이터가 풍부한 커스텀 속성입니다. 이를 사용하여 사용자와 브랜드 간의 상호작용 기록을 생성하고, 구매 이력이나 총 생애주기 가치와 같은 계산된 필드를 기반으로 Segment를 만들 수 있습니다.

고급 JSON 에디터 옵션을 사용하면 JSON을 삽입하여 이 오브젝트 배열에 항목을 추가하거나 제거할 수 있습니다.

사용 사례: 사용자의 위시리스트 업데이트

사용자의 위시리스트를 추적하여 저장된 항목을 기반으로 Segment를 만들거나 개인화를 적용할 수 있습니다.

  1. 오브젝트 배열인 커스텀 속성을 생성합니다(예: wishlist). 각 오브젝트에는 product_id, product_name, added_at 등의 필드를 포함할 수 있습니다.
  2. 사용자 업데이트 단계에서 고급 JSON 에디터를 선택합니다. 그런 다음 작성 섹션에서 $add 연산을 사용하여 항목을 추가하거나 $remove 연산을 사용하여 값으로 항목을 제거합니다.

다음은 위시리스트에 항목을 추가하는 예시입니다:

{
  "attributes": [
    {
      "wishlist": {
        "$add": [
          {
            "product_id": "SKU-123",
            "product_name": "Wireless Headphones",
            "added_at": "{{'now' | date: '%Y-%m-%dT%H:%M:%S%z'}}"
          }
        ]
      }
    }
  ]
}

항목을 제거하려면 동일한 오브젝트 구조로 "wishlist": { "$remove": [ { "product_id": "SKU-123", ... } ] }를 사용하면 Braze가 일치하는 항목을 찾아 제거할 수 있습니다.

사용 사례: 장바구니 총액 계산

사용자의 장바구니에 항목이 있는 경우, 새 항목을 추가하거나 제거하는 경우, 장바구니 총액이 얼마인지 추적합니다.

  1. shopping_cart라는 커스텀 오브젝트 배열을 생성합니다. 다음 예시는 이 속성의 모습을 보여줍니다. 각 항목에는 고유한 product_id가 있으며, price를 포함한 추가 데이터가 자체 중첩 오브젝트 배열에 포함됩니다.
{
  "attributes": [
    {
      "shopping_cart": [
       {
         "total_cart_value": number,
         "shipping": number,
         "items_in_cart": number,
         "product_id": array,
         "gift": boolean,
         "discount_code": "enum",
         "timestamp": {"$time" : "{{'now' | date: '%Y-%m-%dT%H:%M:%S%z'}}"}
       }
      ]
    }
  ]
}
  1. 사용자가 장바구니에 항목을 추가할 때 기록되는 add_item_to_cart라는 커스텀 이벤트를 생성합니다.
  2. 이 커스텀 이벤트를 수행하는 사용자를 대상으로 하는 Canvas를 만듭니다. 이제 사용자가 장바구니에 항목을 추가하면 이 Canvas가 트리거됩니다. 그런 다음 특정 지출 금액에 도달했거나, 일정 시간 동안 장바구니를 방치했거나, 사용 사례에 맞는 기타 상황에서 쿠폰 코드를 제공하는 등 해당 사용자에게 직접 메시징을 타겟팅할 수 있습니다.

shopping_cart 속성에는 모든 항목의 총 비용, 장바구니 내 총 항목 수, 장바구니에 선물이 포함되어 있는지 여부 등 여러 커스텀 이벤트의 합계가 포함됩니다. 다음과 같은 형태일 수 있습니다:

{
  "attributes": [
    {
      "shopping_cart": [
       {
         "total_cart_value": 22.99,
         "shipping": 4.99,
         "items_in_cart": 2,
         "product_id": ["1001", "1002"],
         "gift": true,
         "discount_code": "flashsale1000",
         "timestamp": {"$time" : "{{'now' | date: '%Y-%m-%dT%H:%M:%S%z'}}"}
       }
      ]
    }
  ]
}

커스텀 속성으로 진입 데이터 유지하기

사용자 업데이트 단계를 사용하여 Canvas 진입 데이터를 커스텀 속성에 복사하면 사용자가 Canvas를 종료한 후에도 해당 데이터를 기반으로 세분화하거나 메시지를 보낼 수 있습니다. 진입 데이터는 Canvas 진행 중에만 Liquid에서 사용할 수 있으며, 사용자 업데이트는 이를 프로필에 저장합니다.

예를 들어, 장바구니 이탈 Canvas에서 트리거 이벤트의 상품 ID를 사용하여 most_recent_cart_item을 설정하면, 이후 Campaigns에서 해당 상품을 다시 타겟팅할 수 있습니다.

  1. UI 편집기에서 속성을 선택하거나 생성합니다(예: most_recent_cart_item).
  2. Action을 Update로 설정하고 Use personalization을 켭니다.
  3. 개인화 모달에서 진입 속성정보를 삽입합니다:
    • 워크스페이스에 Context Variables가 표시되는 경우 {{context.${item_id}}}를 사용합니다.
    • 워크스페이스에 Canvas Entry Properties가 표시되는 경우 레거시 {{canvas_entry_properties.${item_id}}}를 사용합니다.

워크스페이스에서 사용하는 네임스페이스에 대한 자세한 내용은 컨텍스트 및 이벤트 속성정보를 참조하세요.

개인화

트리거 진입 데이터를 속성으로 저장하려면 Use personalization을 켜고 개인화 모달에서 속성정보를 삽입합니다. 사용자 업데이트는 다음과 같은 개인화 기능도 지원합니다:

고급 JSON 편집기

속성, 이벤트 또는 구매 JSON 오브젝트를 최대 65,536자까지 JSON 편집기에 추가할 수 있습니다. 사용자의 글로벌 구독 및 구독 그룹 상태도 설정할 수 있습니다.

속성, 이벤트 또는 구매 JSON 오브젝트를 최대 65,536자까지 JSON 편집기에 추가할 수 있습니다. 사용자의 글로벌 구독 및 구독 그룹 상태도 설정할 수 있습니다.

JSON 편집기를 사용하여 미리보기 및 테스트 탭에서 변경 사항으로 고객 프로필이 업데이트되었는지 미리보기하고 테스트할 수도 있습니다. 랜덤 사용자를 선택하거나 특정 사용자를 검색할 수 있습니다. 그런 다음 사용자에게 테스트를 보낸 후 생성된 링크를 사용하여 고객 프로필을 확인합니다.

JSON 편집기를 사용하여 미리보기 및 테스트 탭에서 변경 사항으로 고객 프로필이 업데이트되었는지 미리보기하고 테스트할 수도 있습니다. 랜덤 사용자를 선택하거나 특정 사용자를 검색할 수 있습니다. 그런 다음 사용자에게 테스트를 보낸 후 생성된 링크를 사용하여 고객 프로필을 확인합니다.

고려 사항

JSON 편집기를 사용할 때 API 키와 같은 민감한 데이터를 포함할 필요가 없습니다. 이는 플랫폼에서 자동으로 제공됩니다. 다음 필드는 JSON 편집기에 포함하지 않아야 합니다:

  • 외부 사용자 ID
  • API 키
  • Braze 클러스터 URL
  • 푸시 토큰 가져오기와 관련된 필드

커스텀 이벤트 기록

JSON 편집기를 사용하여 커스텀 이벤트도 기록할 수 있습니다. 이 기능은 ISO 형식의 타임스탬프가 필요하므로 처음에 Liquid로 시간과 날짜를 지정해야 합니다. 다음은 시간이 포함된 이벤트를 기록하는 예시입니다.

{% assign timestamp = 'now' | date: "%Y-%m-%dT%H:%M:%SZ" %}
{
  "events": [
    {
      "name": "logged_user_event",
      "time": "{{timestamp}}"
    }
  ]
}

다음 예시는 선택적 속성정보와 app_id를 포함한 커스텀 이벤트를 사용하여 이벤트를 특정 앱에 연결합니다.

{% assign timestamp = 'now' | date: "%Y-%m-%dT%H:%M:%SZ" %}
{
  "events": [
    {
      "app_id": "insert_app_id",
      "name": "rented_movie",
      "time": "{{timestamp}}",
      "properties": {
        "release": {
          "studio": "FilmStudio",
          "year": "2022"
        },
        "cast": [
          {
            "name": "Actor1"
          },
          {
            "name": "Actor2"
          }
        ]
      }
    }
  ]
}

가입 상태 편집

JSON 편집기 내에서 사용자의 가입 상태도 편집할 수 있습니다. 예를 들어, 다음은 사용자의 가입 상태가 opted_in으로 업데이트된 예시입니다.

{
  "attributes": [
    {
      "email_subscribe": "opted_in"
    }
  ]
}

구독 그룹 업데이트

이 캔버스 단계를 사용하여 구독 그룹도 업데이트할 수 있습니다. 다음 예시는 하나 이상의 구독 그룹을 업데이트하는 방법을 보여줍니다.

{
  "attributes": [
    {
      "subscription_groups": [
        {
          "subscription_group_id": "subscription_group_identifier_1",
          "subscription_state": "subscribed"
        },
        {
          "subscription_group_id": "subscription_group_identifier_2",
          "subscription_state": "subscribed"
        },
        {
          "subscription_group_id": "subscription_group_identifier_3",
          "subscription_state": "subscribed"
        }
      ]
    }
  ]
}
New Stuff!