Shopify Markets
이 문서에서는 Shopify Markets 통합에 대해 다루며, 범위에 포함되는 내용, 작동 방식, 메시징에서 마켓 데이터를 사용하는 방법을 설명합니다.
통합 작동 방식
Shopify Markets는 기존 Shopify 통합을 확장합니다. 표준 또는 커스텀(SDK) 통합 경로로 기본 스토어프론트를 연결한 다음, 스토어에 구성된 마켓 중에서 Braze가 동기화할 마켓을 선택합니다. 기존 통합에서도 카탈로그, 구독 그룹 또는 이벤트에 영향을 주지 않고 마켓을 추가할 수 있습니다. 단계별 안내는 Shopify Markets 설정을 참조하세요.
Shopify Markets는 다음 기능을 제공합니다.
- 마켓 인식 프로필: 통합은 Braze의 표준 국가 및 언어 속성과 함께 각 사용자의 Shopify 로캘을 수집하므로, 별도의 커스텀 설정 없이 마켓별로 사용자를 세분화하고 트리거할 수 있습니다.
- 현지화된 카탈로그: 가격과 통화를 포함한 마켓별 제품 데이터가 번역된 제목, 설명, 제품 URL과 함께 매일 동기화됩니다.
- 마켓 인식 개인화:
{% shopify_market %}Liquid 태그를 사용하면 Shopify의 번역된 콘텐츠를 포함하여 각 사용자 마켓의 카탈로그 제품으로 개인화할 수 있습니다. 또한ecommerce.order_placed와 같은 지원되는 Shopify 이벤트에서 표시 통화 등 마켓 세부 정보를 참조할 수도 있습니다. - 기본 스토어 대체: 사용자가 연결된 마켓에 속하지 않는 경우 Braze는 기본 스토어 설정과 제품을 사용하므로, 모든 사용자가 완전하고 정확한 메시지를 받을 수 있습니다.
예시는 Markets 사용자 데이터 사용 및 튜토리얼: 마켓별 제품 및 가격 표시를 참조하세요.
지원되는 Shopify 마켓 유형
활성 상태인 단일 국가 또는 다중 국가 마켓을 최대 25개까지 선택할 수 있습니다. 각 국가는 선택한 마켓 중 하나에만 속할 수 있습니다.
하위 지역 마켓, 소매 마켓, B2B 마켓, 채널 마켓은 지원되지 않습니다.
각 마켓에 필요한 사항
선택한 각 마켓에는 활성 제품이 포함된 마켓 카탈로그가 있어야 합니다. Braze는 해당 카탈로그에서 다음 항목을 읽어옵니다.
| 데이터 | 설명 |
|---|---|
| 가격 | 마켓 카탈로그에서 해당 마켓에 지정된 통화로 설정됩니다. Shopify의 “현지 통화 사용” 설정은 지원되지 않습니다. |
| 번역 | 제품 제목, 배리언트 제목 등 Shopify Translate & Adapt 앱으로 만든 조정된 번역입니다. Braze는 현재 마켓별 언어 설정을 지원하지 않습니다. |

고려 사항
일반
- 연결된 스토어 하나: 하나의 Braze 워크스페이스에는 한 번에 Markets가 활성화된 Shopify 스토어 하나만 연결할 수 있습니다.
- 로캘 범위: 로캘은 Shopify Translate & Adapt 앱으로 구성한 내용에 따라 번역된 제품 제목과 설명, 그리고 로캘별 URL을 가져옵니다. 가격, 통화 및 기타 공유 카탈로그 필드는 한 마켓 내의 모든 로캘에서 동일하게 유지됩니다. 기본적으로 Braze는 각 마켓의 기본 언어, 즉 Shopify가 해당 마켓에 할당한 기본 로캘을 사용합니다. 확장 로캘 지원을 켜면 Braze는 해당 마켓에 구성된 추가 로캘도 동기화합니다.
마켓 카탈로그
- 기존 Shopify 카탈로그의 새 마켓 보기: Markets는 별도의 카탈로그를 만들지 않습니다. 대신 Braze는 이를 기존 Shopify 카탈로그의 일부로 표시합니다. Markets 데이터는 Shopify 카탈로그에 새 카탈로그 행으로 추가됩니다.
- 카탈로그 선택: 카탈로그 선택은 최대 30개까지 가능합니다.
- 새로 고침 주기: 마켓 카탈로그 제품 데이터는 하루에 한 번 새로 고침됩니다.
- 마켓 가격 및 현지화된 콘텐츠: 마켓 행에는 해당 마켓의 가격과
compare_at_price가 포함되며, Shopify Translate & Adapt 앱으로 번역을 설정한 경우 현지화된 제품 및 배리언트 제목과 제품 URL도 포함됩니다. - 가격 인하: 마켓 카탈로그에서 지원됩니다. 마켓 카탈로그의 가격 변경은 기본 스토어 가격이 아닌 해당 마켓의 가격을 기준으로 트리거됩니다. 마켓 카탈로그 제품 데이터는 하루에 한 번 새로 고침되므로, 가격 인하는 Shopify에서 가격이 변경되는 시점이 아니라 매일 감지됩니다.
- 재입고: 재입고는 기본 스토어 카탈로그의 제품에 대해 지원됩니다. 마켓 행은 재입고 알림을 트리거하지 않습니다. 재입고는 모든 Shopify 위치에 걸쳐 제품 배리언트의 총 가용 재고를 확인하므로, 소매 위치에 재고가 추가되어도 알림이 트리거될 수 있습니다.
Shopify Markets 설정
이미 활성화된 Shopify 통합이 있는 경우
Markets는 현재 통합에 추가되는 기능입니다. 기존 통합의 연결을 해제하거나 설정을 다시 구성할 필요가 없습니다.
- 기존 구독 그룹은 스토어 전체 그룹이 되며, 추가로 할당한 그룹을 포함해 모든 옵트인을 계속 수신합니다.
- 기존 가입자는 현재 속한 그룹에 그대로 유지됩니다. 나중에 국가 그룹을 추가하더라도 Braze는 기존 가입자를 해당 그룹에 추가하지 않습니다.
- 카탈로그는 계속 동기화됩니다. 마켓 행은 새 카탈로그가 아닌 기존 카탈로그에 추가되며, 기존 선택 항목은 기본 행을 기준으로 계속 작동합니다.
- 기본 스토어가 선택한 마켓과 함께 표시되므로, 같은 방식으로 기본 스토어에도 구독 그룹을 할당하고 카탈로그 선택 항목을 만들 수 있습니다.
스토어가 이미 연결되어 있다면 2단계부터 시작하여 각 구성과 작동 방식을 자세히 알아보세요.
1단계: Shopify Markets가 활성화된 스토어 연결하기
- Shopify 표준 통합 또는 Shopify 커스텀 통합 경로 중 하나를 사용해 스토어를 연결합니다. 스토어가 연결되면 설정 컴포저에서 Shopify Markets를 구성합니다.
- OAuth 흐름을 완료하고 Braze가 OAuth에서 다음 마켓 범위를 요청하는지 확인합니다.
read_marketsread_publicationsread_locales
- 인증이 성공하고 설정 컴포저가 열리면 설정 시작을 선택합니다.
- Braze SDK를 켭니다.
2단계: 마켓 사용자 데이터 선택하기
- Shopify 데이터 추적에서 Shopify Markets 데이터 동기화를 선택합니다.
- 마켓 선택을 선택해 마켓을 고르고, 행동 이벤트와 사용자 속성을 추적하도록 선택했는지 확인합니다.
- (선택 사항) 과거 데이터 백필을 켭니다.
Markets 사용자 데이터
Shopify Markets를 지원하기 위해 Braze는 통합의 표준 이벤트 및 속성 외에 추가 데이터를 동기화합니다.
고객 프로필 속성
| 속성 | 데이터 유형 | 설명 | 데이터 소스 |
|---|---|---|---|
shopify_locale |
커스텀 속성 | en 또는 fr-CA와 같은 고객의 로캘입니다. Braze 웹 픽셀이 쇼핑객의 브라우저 언어를 기준으로 설정하며, 고객이 주문할 때마다 결제 시 사용한 로캘로 업데이트됩니다. 과거 데이터 백필도 Shopify 고객 레코드에서 이 값을 가져옵니다. Shopify에서 고객 정보를 수정해도 이 값은 변경되지 않습니다. |
웹 픽셀, 주문 웹훅, 과거 데이터 백필 |
browser_language |
표준 속성 | 고객의 브라우저에 설정된 언어입니다. | Braze SDK |
country |
표준 속성 | 고객의 국가입니다. | Braze SDK |
주문 이벤트 속성정보
| 속성정보 | 설명 | 데이터 소스 |
|---|---|---|
country |
고객의 두 글자 국가 코드입니다. | Shopify의 고객 default_address 또는 기본 주소가 설정되지 않은 경우 주문의 shipping_address |
presentment_currency |
고객이 결제한 통화로, 스토어 통화와 다를 수 있습니다. | Shopify 주문 표시 통화 |
market_handle |
고객의 국가와 일치하는 마켓의 핸들입니다. 구성된 마켓 중 일치하는 마켓이 없으면 비어 있습니다. | Braze(마켓 구성 기준) |
이러한 속성정보는 다음 이벤트에 추가됩니다.
- 이커머스 권장 이벤트:
ecommerce.order_placed,ecommerce.order_cancelled,ecommerce.order_refunded - 커스텀 이벤트:
shopify_paid_order,shopify_fulfilled_order,shopify_partially_fulfilled_order
마켓 이벤트 속성정보 작동 방식
| 속성정보 | 작동 방식 |
|---|---|
market_handle |
market_handle은 Shopify에서 마켓에 지정한 핸들(예: france)입니다. 카탈로그의 마켓 행 ID 앞에도 같은 핸들이 붙습니다(예: france_46714756268231). 마켓을 구성하지 않았거나 주문 국가가 구성한 마켓과 일치하지 않으면 비어 있으므로, Liquid 또는 Segment 필터에서 사용하기 전에 빈 값인지 확인하세요. |
country |
country는 고객의 기본 주소에서 가져오며, 기본 주소가 없으면 shipping_address를 사용합니다. 예를 들어 프랑스에 있는 고객이 일본으로 주문을 배송하더라도 프랑스 마켓이 그대로 유지됩니다. |
| 이벤트 속성정보 | 이벤트 속성정보는 이벤트가 발생한 순간의 스냅샷이며 이후에는 변경되지 않습니다. 고객이 나중에 기본 주소를 업데이트하면 새 이벤트에는 새 국가가 사용되지만, 과거 이벤트는 기록 당시의 국가를 유지합니다. |
통화
Shopify Markets 보고가 활성화되면 기본 Shopify 결제, 주문, 환불 웹훅 이벤트에 두 가지 값 세트가 포함됩니다.
- 기존 가격 및 합계 필드의 스토어 통화(변경 없음)
- 고객이 보고 결제한 금액을 담은
presentment_currency객체
이러한 이벤트에는 country 및 market_handle과 같은 관련 마켓 속성정보도 포함될 수 있습니다.
주문 확인이나 결제 리마인더처럼 고객이 결제한 금액을 보여줄 때는 presentment_currency를 사용하세요. 여러 마켓의 매출을 비교할 때는 이미 단일 통화로 되어 있는 스토어 통화 값을 사용하세요.
Shopify 픽셀의 장바구니 이벤트에는 presentment_currency가 포함되지 않습니다. Segment와 같은 고객 데이터 플랫폼을 통해 전송하는 커스텀 결제 및 구매 이벤트에도 포함되지 않습니다. 메시지와 보고에서 마켓 통화를 유지하려면 커스텀 이벤트 페이로드에 이와 동등한 객체를 포함하거나, 필요한 이벤트 유형에 대해 기본 Shopify 이벤트를 활성화된 상태로 유지하세요.
현지화된 제품 정보
지원되는 Shopify 이벤트는 기본값 스토어 언어로 제품 및 배리언트 제목을 전달합니다. Braze는 이벤트 페이로드를 번역하지 않습니다.
번역된 제목, 설명, 제품 URL은 마켓 카탈로그 행에 있습니다. 메시지에 현지화된 제품 정보를 표시하려면 이벤트의 제품 또는 배리언트 ID를 사용해 카탈로그에서 해당 제품을 검색하세요.
3단계: 사용자 관리하기
- 드롭다운에서
external_id유형을 선택합니다. - Shopify의 이메일 및 SMS 옵트인을 켜서 Braze가 Shopify의 이메일 및 SMS 구독 상태를 동기화할 수 있도록 합니다. 두 가지 옵션이 있습니다.
- 통합 사용: Braze가 이메일 및 SMS 상태를 동기화합니다. 동기화할 구독 그룹을 선택하세요.
- 직접 구축: 상태 관리를 더 세밀하게 제어하려면 Braze 구독 그룹 엔드포인트를 사용해 커스텀 통합을 구축하세요.
- Shopify 동의가 동기화될 구독 그룹을 선택합니다.
- 스토어 전체 그룹(필수): 이메일 그룹과 SMS 그룹을 각각 하나 이상 선택합니다. Braze가 Shopify에서 받는 모든 옵트인이 여기에 기록됩니다.
- 국가 그룹(선택 사항): 동기화된 마켓의 국가에 하나 이상의 그룹을 할당합니다. Braze가 고객의 국가를 확인할 수 있는 경우 옵트인이 여기에도 기록됩니다.
옵트인 및 옵트아웃의 작동 방식
Shopify에서 각 고객은 하나의 이메일 동의 상태와 하나의 SMS 동의 상태를 가집니다. 고객이 옵트인하면 국가나 목록이 아닌 브랜드를 구독하게 됩니다.
Braze는 각 옵트인을 스토어 전체 그룹에 기록합니다. 국가 그룹을 설정했고 Braze가 고객의 국가를 확인할 수 있는 경우, 해당 국가의 그룹에도 옵트인이 기록됩니다.
국가 그룹을 설정하지 않으면 옵트인은 스토어 전체 그룹에만 기록되며, 이는 현재 Shopify가 동의를 처리하는 방식과 같습니다.
Braze의 국가 확인 방법
| 채널 | 국가 결정 방식 |
|---|---|
| 이메일 | 고객의 Shopify 로캘을 우선 사용하며, 사용할 수 없는 경우 Braze 프로필의 국가 속성을 사용합니다. |
| SMS | E.164 국가 라우팅 패턴으로 결정된 전화번호의 국가를 사용합니다. |
로캘은 fr-FR처럼 지역이 포함된 경우에만 국가를 식별합니다. fr만 있는 로캘로는 국가를 식별할 수 없습니다.
SMS의 경우 국가는 전화번호에서 결정됩니다. 쇼핑객은 해당 번호로 메시지를 보낼 수 있는 구독 그룹에 추가되어야 합니다.
옵트인 시 처리 방식
| 국가 상태 | 스토어 전체 그룹 | 국가 그룹 |
|---|---|---|
| 확인됨, 마켓에 구성됨 | 구독됨 | 해당 국가의 그룹에 구독됨 |
| 확인할 수 없음 | 구독됨 | 구독되지 않음 |
| 확인됨, 마켓에 구성되지 않음 | 구독됨 | 구독되지 않음 |
구독 그룹 멤버십은 Shopify의 동의 이벤트를 기반으로 합니다. 쇼핑객의 국가나 로캘이 변경되어도 그룹 멤버십은 변경되지 않습니다. Braze는 Shopify가 새 동의 이벤트를 보낼 때만 멤버십을 업데이트합니다. 예를 들어 국가나 로캘이 변경된 후 Shopify에서 쇼핑객의 동의를 다시 수집하는 경우가 이에 해당합니다.

국가 그룹은 언어가 아닌 동의를 관리합니다. 한 국가에 여러 언어가 있을 수 있습니다. 캐나다의 영어 및 프랑스어 고객(en-CA 및 fr-CA)은 같은 국가 그룹에 속합니다. 메시지에서 언어를 지정하려면 shopify_locale을 사용하세요.
옵트아웃 시 처리 방식
Shopify에서 옵트아웃하면 Shopify 통합에 할당된 모든 구독 그룹에서 사용자가 제거됩니다. 이는 마켓 사이트를 통해 옵트아웃하든 Shopify 계정 페이지를 통해 옵트아웃하든 동일합니다.
워크스페이스에서 통합에 할당되지 않은 구독 그룹은 영향을 받지 않습니다.
구성하지 않은 국가에서의 옵트인
구성된 마켓에 포함되지 않은 국가에서 고객이 옵트인하면, 해당 국가를 추가한 적이 없든 마켓을 제거했든 관계없이 고객은 스토어 전체 그룹을 구독하게 됩니다. 국가 그룹에는 추가되지 않습니다.
마켓을 구성해도 메시지를 받을 수 있는 대상이 제한되지는 않습니다. 법적 또는 규제상의 이유로 특정 국가에 메시지를 보낼 수 없다면 Segment 필터로 해당 사용자를 제외하거나 별도의 구독 그룹으로 라우팅하세요.

해당 Segment는 서비스하지 않는 국가의 차단 목록이 아니라, 서비스하는 국가의 허용 목록으로 구성하세요. 국가를 확인할 수 없는 사용자에게는 국가 값이 없으므로 차단 목록으로는 이러한 사용자를 걸러낼 수 없습니다.
SMS의 경우 각 구독 그룹의 국가 권한이 계속 전송을 제어합니다. 그룹에서 허용되지 않은 국가의 사용자는 해당 그룹의 메시지를 받지 않습니다.
나중에 국가 그룹에 사용자가 추가되지 않음
고객이 옵트인할 때 Braze가 국가를 확인할 수 없으면 해당 고객은 스토어 전체 그룹에만 추가됩니다. 나중에 국가가 확인되더라도 해당 국가의 그룹에 자동으로 추가되지 않습니다.
기존에 통합된 스토어에서 Markets를 켜면 기존 구독 그룹이 스토어 전체 그룹이 됩니다. 기존 가입자는 이 그룹에 계속 구독된 상태로 유지되며 새 국가 그룹에는 자동으로 추가되지 않습니다.
직접 추가하려면 해당 사용자에 대한 Segment를 만들고 Canvas 사용자 업데이트 단계를 사용해 구독시키세요.
그룹 전체의 가입자 수 계산
하나의 옵트인으로 사용자가 여러 구독 그룹에 추가될 수 있으므로, 그룹별 합계를 더하면 같은 사람이 여러 번 집계됩니다. 고유 가입자 수가 필요하다면 Segment를 사용하세요.
작동 방식
- 고객이 결제 시 또는 양식을 통해 SMS를 구독합니다.
- Shopify가 구독 정보를 Braze로 보냅니다.
- Braze가 사용자를 대기 중 상태로 설정하고 확인 문자를 보냅니다.
- 고객이 확인 키워드로 회신하면 구독됨 상태가 됩니다.
- 확인 기간이 끝나기 전에 회신하지 않으면 대기 중 상태로 유지됩니다.
자세한 내용은 이중 옵트인을 참조하세요.
4단계: 제품 동기화하기
- 마켓 내 제품을 동기화하려면 Shopify 제품 및 배리언트를 Braze에 동기화를 선택합니다.
- Braze 카탈로그 ID를 할당하고 추가 설정을 구성합니다.
카탈로그에는 스토어의 기본 제품에 대한 마켓별 보기가 포함됩니다. Braze는 마켓에 게시된 각 제품에 대해, 이미 지원되는 표준 Shopify 카탈로그 필드에 더해 기존 카탈로그에 마켓 행을 추가합니다. 기존 통합에서 Shopify Markets를 켜는 경우 동기화되는 데 몇 분 정도 걸릴 수 있습니다.
마켓 행에서는 다음 필드에 마켓별 값이 지정됩니다.
| 필드 | 설명 |
|---|---|
id |
마켓 핸들이 접두사로 붙은 복합 ID입니다(예: france_46714756268231). 기본 행은 원래 항목 ID를 유지합니다. |
market_handle |
Shopify에서 마켓에 지정한 핸들입니다(예: france). |
locale |
번역된 콘텐츠의 언어를 결정하는 마켓의 로캘입니다. |
price |
가격 목록 조정이 적용된 후 마켓의 상황별 가격에서 가져온 마켓별 가격입니다. |
compare_at_price |
조정이 적용된 후의 마켓별 비교 가격입니다. 해당 마켓에 확인되는 비교 가격이 없으면 Braze는 0을 반환하며, 마켓의 가격 목록이 비교 가격을 무효화하도록 설정된 경우도 이에 포함됩니다. |
product_title 및 variant_title |
Shopify Translate & Adapt 앱을 통해 번역이 설정된 경우 번역된 제목입니다. |
product_url |
해당 마켓의 제품 URL입니다. |

inventory_quantity는 마켓 행에 포함되지 않습니다. 이 필드는 기본 행에만 표시되며, 모든 Shopify 위치에 걸친 제품 배리언트의 총 가용 재고를 나타냅니다.
Liquid에서 compare_at_price를 사용할 때는 표시하거나 할인을 계산하기 전에 “0”인지 확인하세요. 비교 가격이 없는 마켓에서는 가격이 0으로 표시되거나 할인이 잘못 계산됩니다.
5단계: 채널 활성화하기
- (선택 사항) 브라우저 내 메시징을 활성화할지 선택합니다.
- 설정 완료를 선택합니다.
Markets 사용자 데이터 사용
이러한 속성과 속성정보가 고객 프로필에 추가되면 시장별로 사용자를 타겟팅하고 메시지를 개인화하는 데 사용할 수 있습니다.
세분화에서 시장별 타겟팅
Segments와 Campaign 또는 Canvas 진입 기준에서 국가, 브라우저 언어 또는 shopify_locale로 필터링할 수 있습니다. 예를 들어 프랑스에 있는 사용자를 타겟팅하거나 shopify_locale을 기준으로 Canvas 경로를 나눌 수 있습니다.
Shopify Market Segment 필터를 사용할 수도 있습니다. 이 필터는 쇼핑객의 주문 활동과 연결된 시장을 기준으로 타겟팅합니다. 기본 시장과 연결된 쇼핑객에게만 도달하려면 동기화하는 각 비기본 시장의 사용자를 제외하는 Segment를 만드세요. 예를 들어 주문한 적이 있는 모든 사용자 중 시장이 멕시코인 사용자를 제외할 수 있습니다.
마켓 핸들별 카탈로그 제품 선택(기본 제품 행에서 market_handle이 default인 경우 포함)에 대해서는 튜토리얼: 시장별 제품 및 가격 표시를 참조하세요.
Liquid로 트리거 및 개인화
다음 Liquid 변수를 사용해 메시지에서 시장 데이터를 참조할 수 있습니다.
고객 프로필에서
| 속성 | Liquid |
|---|---|
| 고객의 언어 | {{custom_attribute.${shopify_locale}}} |
| 고객의 국가 | {{${country}}} |
주문 이벤트에서
| 이벤트 속성정보 | Liquid |
|---|---|
| 주문 국가 | {{event_properties.${country}}} |
| 주문 시장 | {{event_properties.${market_handle}}} |
| 고객이 결제한 통화 | {{event_properties.${metadata}.presentment_currency.code}} |
| 해당 통화 기준 주문 총액 | {{event_properties.${metadata}.presentment_currency.<total_value>}} |
고객의 통화로 가격 표시
금액은 항상 통화 코드와 함께 표시하세요. 금액만 단독으로 표시하는 것은 다중 시장 메시징에서 가장 흔한 실수입니다. “129.95”라는 값은 시장마다 다른 의미를 갖기 때문입니다.
주문 확인과 같은 주문 수준 메시지에는 주문 총액을, 장바구니나 추천과 같은 제품 수준 콘텐츠에는 제품 가격을 사용하세요.
Thanks for your order! Your total: {{event_properties.${metadata}.presentment_currency.code}}
{{event_properties.${metadata}.presentment_currency.<total field>}}
이러한 속성정보는 이벤트와 함께 전달되므로 추가 설정 없이도 각 고객의 시장에 맞게 정확한 메시지가 유지됩니다.
빈 값 확인
두 가지 값은 항상 존재하지는 않으며, 값이 없으면 둘 다 잘못 렌더링됩니다.
고객의 국가가 구성된 시장과 일치하지 않으면 market_handle이 비어 있습니다. 이 값으로 분기하기 전에 확인하세요.
{% if event_properties.${market_handle} != blank %}
...
{% endif %}
해당 시장에 대해 비교 가격이 확인되지 않으면 compare_at_price가 0을 반환합니다. 이 값을 표시하거나 할인을 계산하기 전에 0인지 확인하세요. 그렇지 않으면 고객에게 취소선이 그어진 0원 가격이 표시됩니다.
현지화된 제품 정보 표시
이벤트의 제품 이름은 스토어의 기본 언어로 되어 있습니다. 번역된 제목, 설명 또는 제품 URL을 표시하려면 이벤트의 제품 ID 또는 배리언트 ID를 사용해 카탈로그에서 제품을 조회하세요. 예시는 튜토리얼: 시장별 제품 및 가격 표시를 참조하세요.
주문 활동으로 메시지 트리거
시장 속성정보는 지원되는 Shopify 이벤트에 포함되므로 주문으로 트리거되는 Campaign 또는 Canvas에서 추가 설정 없이 사용할 수 있습니다. 이러한 이벤트에는 country, presentment_currency, market_handle이 포함됩니다.
| 이벤트 유형 | 이벤트 |
|---|---|
| 이커머스 추천 이벤트 | ecommerce.order_placed, ecommerce.order_cancelled, ecommerce.order_refunded |
| 커스텀 이벤트 | shopify_paid_order, shopify_fulfilled_order, shopify_partially_fulfilled_order |
presentment_currency는 지원되는 결제, 주문, 환불 이벤트에 포함되므로 결제 리마인더나 주문 확인 메시지에 고객이 본 금액을 표시할 수 있습니다. 장바구니 이벤트에는 presentment_currency, country, market_handle이 포함되지 않습니다. 자세한 내용은 통화를 참조하세요.
Markets 보고

기존 Shopify 고객은 Markets 보고를 보려면 ecommerce.order_placed 매출을 사용해야 합니다. 신규 고객의 경우 이 기능이 기본값으로 활성화되어 있습니다. 궁금한 점이 있으면 계정 팀에 문의하세요.
Markets가 활성화되면 Braze는 매출과 메시지 성능을 국가별로 세분화하여 보여줍니다.
국가별 매출
매출 보고서에는 전체 기간과 선택한 기간 모두에 대해 앱별 세부 내역과 함께 국가별 세부 내역이 포함됩니다.
각 주문은 하나의 국가에 귀속되며, 해당 주문의 전체 매출은 그 국가에 할당됩니다. 국가는 먼저 주문에서 선택되고, 그다음 쇼핑객의 프로필에서 선택됩니다. 두 정보를 모두 사용할 수 없는 주문은 알 수 없음 아래에 표시됩니다.
매출은 매출 보고서의 나머지 부분과 마찬가지로 USD로 표시됩니다. 쇼핑객이 실제로 결제한 금액을 확인하려면 주문 이벤트의 presentment_currency를 사용하세요.
국가별 성능
Campaign 및 Canvas 분석에는 각 국가에서 메시지가 어떤 성능을 보였는지와 국가별 합계 행을 보여주는 국가별 성능 표가 포함됩니다. 통화와 총 매출은 주문의 presentment_currency를 기준으로 집계됩니다.
| 열 | 표시 내용 |
|---|---|
| 국가 | 메시지가 도달한 각 국가입니다. |
| 통화 | presentment_currency 기준으로 집계된 해당 국가 매출의 통화입니다. |
| 총 매출 | 해당 국가에 귀속된 매출입니다. |
| 구매 | 해당 국가에 귀속된 구매입니다. |
보고서 빌더에서 Countries (Shopify Markets)를 행 또는 드릴다운으로 사용하여 Campaign 및 Canvas 성능을 국가별로 세분화할 수도 있습니다.
마켓 제거
마켓을 제거하면 Braze는 해당 마켓에 속한 국가의 새 데이터를 더 이상 동기화하지 않습니다. 이미 보유한 데이터는 삭제되지 않습니다.
구독 그룹
마켓을 제거하면 Markets 구성이 업데이트됩니다. 워크스페이스에서 구독 그룹이 삭제되거나, 국가 그룹에 이미 구독한 사용자가 제거되지는 않습니다.
설정에서 변경되는 사항
- 제거된 마켓의 국가는 더 이상 Markets UI에 표시되지 않습니다.
- Braze는 통합 구성에서 해당 국가의 구독 그룹 할당을 제거합니다.
그대로 유지되는 사항
- 국가 구독 그룹은 워크스페이스에 남아 있으며 계속 타겟팅에 사용할 수 있지만, Shopify는 더 이상 이 그룹에 옵트아웃을 동기화하지 않습니다. 다른 방법으로 구독 상태를 업데이트하지 않는 한, Shopify에서 옵트아웃한 사용자가 해당 국가 그룹에서 여전히 구독 중으로 표시될 수 있습니다. 예를 들어 구독 그룹 엔드포인트 또는 Braze의 옵트아웃 워크플로를 통해 구독 상태를 업데이트할 수 있습니다.
- 제거된 마켓의 국가 그룹에 이미 구독한 사용자는 구독 상태가 유지됩니다.
향후 동의 동기화
- 제거된 국가의 쇼핑객이 새로 옵트인하면 구성하지 않은 국가의 옵트인과 마찬가지로 스토어 전체 그룹에만 동기화됩니다.
- Braze는 제거된 국가의 국가 그룹에 새 옵트인 또는 옵트아웃을 더 이상 동기화하지 않습니다.
- 스토어 전체 구독 그룹은 계속해서 동의 업데이트를 받습니다.
사용자 데이터
shopify_locale및country를 포함하여 사용자 프로필에 이미 있는 속성은 변경되지 않습니다.- 새 주문 이벤트 내의
market_handle은 더 이상 사용할 수 없습니다. - 제거된 마켓에 대한 Shopify Market Segment 필터는 더 이상 사용할 수 없습니다.
- 제거된 마켓을 참조하는 Liquid는 더 이상 사용할 수 없습니다.
카탈로그
- 해당 마켓의 마켓 행은 새로 고침이 중단되며 카탈로그에서 제거됩니다.
- 해당 마켓 행을 기반으로 만든 카탈로그 선택은 더 이상 제품을 반환하지 않습니다. 다음 발송 전에 업데이트하거나 제거하세요.
- 기본 행과 이를 기반으로 만든 선택은 영향을 받지 않습니다.
튜토리얼: 마켓별 제품 및 가격 표시하기
마켓 인식 카탈로그를 사용하면 하나의 메시지로 각 사용자에게 해당 사용자의 마켓에 맞는 제품과 가격을 보여줄 수 있습니다.
- 마켓 데이터를 사용하는 선택을 생성합니다.
- Liquid로 메시지에서 선택을 참조합니다.
메시지가 특정 마켓 하나만 타겟팅하는 경우에는 고정 마켓을 사용할 수 있습니다.
1단계: 마켓 데이터를 사용하여 선택 생성하기
선택은 메시지에서 참조하는 큐레이트된 제품 세트입니다. 마켓이 동기화된 Shopify 카탈로그의 경우, 필터 설정 섹션에 마켓 범위 영역이 있어 제품 데이터를 하나의 마켓으로 한정하거나 사용자별로 개인화할 수 있습니다.
- Shopify 카탈로그로 이동하여 선택 탭을 엽니다.
- 선택 생성을 선택한 다음, 선택의 이름을 지정하고, 선택적으로 설명을 추가하고, 결과 개수 제한을 설정합니다.
- 필터 설정의 마켓 범위에서 마켓 드롭다운을 사용해 선택이 마켓별 제품을 결정하는 방식을 선택합니다.
- 개인화: 각 수신자는 프로필의
country속성과 일치하는 마켓의 제품과 가격을 보게 됩니다. - 동기화된 마켓: 마켓 이름을 선택하여 선택을 해당 마켓의 제품과 가격에 고정합니다. 메시지가 단일 마켓만 타겟팅할 때 이 옵션을 사용하세요.
- 개인화: 각 수신자는 프로필의
- 추가 필터 기준을 마저 설정한 다음 선택을 저장합니다.
- 사용자 미리보기에서 사용자를 선택하여 해당 프로필에 대해 선택이 반환하는 결과를 확인합니다. 개인화를 사용하는 선택은 사용자를 선택한 후에만 미리 볼 수 있습니다.
| 대상 | 필터 |
|---|---|
| 특정 마켓 | market_handle = au |
| 기본 제품만 | market_handle = default |

마켓을 지정하지 않으면 Braze는 기본 제품을 사용합니다.
2단계: 메시지에 마켓 인식 카탈로그 선택 추가하기
하나의 메시지로 모든 사용자에게 각자의 마켓 제품을 제공하려면 다음 필터로 선택을 생성하세요.
| 선택 이름 | 필드 | 연산자 | 값 |
|---|---|---|---|
market_products |
market_handle |
같음 | {{shopify_market.handle}} |
default_products |
market_handle |
같음 | default |
발송 시점에 Braze는 {{shopify_market.handle}}을 각 사용자의 마켓으로 대체하므로, market_products는 모든 사용자에게 올바른 제품을 제공합니다. default_products는 일치하는 마켓이 없는 사용자를 위한 대체 선택입니다.
{% shopify_market %} 태그를 사용하여 메시지에서 선택을 참조하세요.
{% shopify_market %}
{% if shopify_market.handle %}
{% catalog_selection_items <your_catalog_name> <your_market-catalog_selection_name> %}
{% for item in items %}
{{ item.product_title }} — {{ item.price }}
{% endfor %}
{% else %}
{% catalog_selection_items <your_catalog_name> <your_default-catalog_selection_name> %}
{% for item in items %}
{{ item.product_title }} — {{ item.price }}
{% endfor %}
{% endif %}
- 선택이 실행되기 전에 사용자의 마켓이 설정되도록
{% shopify_market %}을{% catalog_selection_items %}앞에 배치하세요. <your_catalog_name>을 사용 중인 카탈로그로 바꾸고, 선택 이름이 다르다면 자체 선택 이름을 사용하세요.{{shopify_market.handle}}확인을 통해 일치하는 마켓이 없는 사용자는default_products로 라우팅되므로, 빈 메시지 대신 제품을 계속 받을 수 있습니다.- Liquid에서
compare_at_price를 사용할 때는 값을 표시하거나 할인을 계산하기 전에 “0”인지 확인하세요. 비교 가격이 없는 마켓에서는 가격이 0으로 렌더링되거나 할인이 잘못 계산됩니다.
해당 마켓의 사용자로 미리 보기를 실행하여 메시지에 그 마켓의 제품, 가격, 번역된 제목이 표시되는지 확인하세요.