Skip to main content

개요

Upcart는 Aftersell과 별개의 앱이기 때문에, Aftersell의 구매 후 및 체크아웃 플로우처럼 Strategy가 업셀 모듈에 기본 내장되어 있지 않아요. 대신 Strategies API를 직접 호출하고 그 결과를 Upcart의 공개 API를 통해 기존 업셀 모듈에 전달하는 작은 스크립트로 두 앱을 연결해요. 이 스크립트는 바로 사용 가능해요 - Upcart의 커스텀 HTML에 한 번 붙여넣고 두 가지 값(Strategy API 키와 Strategy ID)만 교체하면, 업셀 모듈이 Strategy가 반환하는 상품을 표시하기 시작해요.

필요한 것

  1. Strategy API 키. Aftersell에서 Settings → Product Strategy로 이동한 뒤 Security Token 카드에서 토큰을 복사하세요 (이것이 Strategy API 키예요).
  2. Strategy ID. Aftersell Strategy 편집기에서 실행할 Strategy를 열고 ID를 복사하세요.
  3. Upcart에서 업셀 모듈 활성화. 이 스크립트는 기존 업셀 블록에 표시되는 상품 목록을 재정의하므로, 무언가 렌더링되려면 모듈이 켜져 있어야 해요.

스크립트 추가하기

Upcart에서 **Settings → Custom HTML → Scripts (before load)**로 이동하여 아래 스크립트를 붙여넣으세요. STRATEGY_IDSTRATEGY_API_KEY를 Aftersell의 값으로 교체한 다음 저장하세요.
Strategy API 키는 상점의 Strategy에 대한 호출을 인가해요. 위 스크립트는 키를 클라이언트 측 코드에 배치하는데, 이는 카트 드로어에서 API를 호출하는 유일하게 실용적인 방법이에요. 키를 다른 공개 스토어프런트 자격 증명과 동일하게 취급하고, 의도치 않게 노출된 경우 Aftersell Settings → Product Strategy에서 교체하세요.

Strategy가 보는 것

이 통합은 스토어프런트 카트에서 실행되므로, 컨텍스트는 Aftersell의 기본 노출 영역에서 사용할 수 있는 것의 축소된 하위 집합이에요:

상품 컨텍스트

현재 Upcart 카트에 있는 라인 아이템이 입력 상품으로 전송돼요. 상품 유형, 공급업체, 상품 핸들, 상품 제목, 그리고 모든 상품 ID / 변형 ID 트리거는 이 항목들을 기준으로 평가돼요.

카트 컨텍스트

  • 소계 - 스토어의 주요 통화 단위(예: 달러) 기준 카트 소계. Upcart의 total_price는 보조 단위(센트)이므로, 스크립트가 100으로 나눠서 Strategies API의 나머지 부분이 사용하는 단위 - 그리고 cart_subtotal 규칙을 작성한 단위 - 와 맞춰요.
  • 아이템 수 - 모든 라인의 총 수량.
  • 라인 수 - 서로 다른 라인 아이템의 개수.

세션 컨텍스트

  • 통화 코드 - window.Shopify.currency.active에서 가져와요.
고객 트리거와 UTM 트리거는 매칭되지 않아요. 기본 스크립트는 고객 태그, 주문 수, 위치, UTM 매개변수를 전송하지 않으므로, 이러한 트리거를 사용하는 규칙은 절대 실행되지 않아요. 항상 무언가 반환되도록 상품, 카트, 통화 트리거 또는 Catch all을 사용하세요.

Strategy가 반환할 때 일어나는 일

Strategy가 반환한 상품은 업셀 모듈에서 Upcart가 원래 표시할 목록을 완전히 대체해요. 판매자가 정의한 업셀 목록은 해당 카트가 유지되는 동안 재정의돼요 - 병합되는 것이 아니에요. 각 Strategy 상품은 Upcart가 기대하는 상품 형태(변형, 이미지, 옵션, 메타필드 등)로 매핑되므로, 다른 상품과 똑같이 업셀 블록 안에 렌더링돼요.

상품이 반환되지 않을 때

Strategy가 상품을 반환하지 않으면 업셀 모듈은 비어 있는 채로 렌더링돼요 - 업셀이 표시되지 않아요. 이를 피하려면 Strategy에 Catch all을 구성하여 항상 반환할 폴백 상품이 있도록 하세요. Catch all 설정 방법은 Strategy 만들기 페이지를 참고하세요.

카트 변경 시 재평가

체크아웃 업셀과 달리 Upcart 구현은 카트가 변경될 때마다 - 상품 추가, 제거 또는 수량 변경 - Strategy를 다시 평가해요. 스크립트는 Upcart의 cartUpdated 이벤트를 구독하고, 새 카트를 Strategies API로 전송한 다음, 새 업셀 목록으로 카트 드로어를 새로고침해요. 카트 시그니처 검사는 라인 아이템과 수량이 실제로 변경되지 않은 경우 중복 호출을 건너뛰므로, 카트를 실질적으로 변경하지 않는 연속된 카트 이벤트가 API를 다시 호출하지 않아요.

Upcart Strategy를 위한 팁

  • 카트를 중심으로 설계하세요. 카트 형태와 상품 트리거가 여기서 가장 강력한 신호예요. 고객 히스토리와 UTM 기반 타기팅은 기본 스크립트에서 전송되지 않아요.
  • Catch all을 안전망으로 사용하세요. Catch all이 없으면 어떤 규칙도 매칭되지 않을 때 업셀 모듈에 아무것도 표시되지 않아요.
  • 기본적으로 캐시 친화적이에요. 카트 시그니처 가드는 카트가 실질적으로 변경되지 않았을 때 API 재호출을 방지해요 - 카트를 편집하지 않고 열고 닫기만 반복하는 쇼핑객에게 좋아요.