트리거
제품 트리거
- Specific product(s) - ID로 특정 Shopify 제품과 일치
- Collection - 특정 컬렉션에 속한 제품과 일치
- Tag(s) - 특정 태그(예: “sale”, “summer”)가 있는 제품과 일치
- Title - 제품 제목과 일치
- Vendor - 공급업체/브랜드 이름과 일치
- Type - 제품 유형 필드(예: “Apparel”, “Electronics”)와 일치
- Handle - 제품 URL 슬러그와 일치
- Metafield - 사용자 지정 메타필드 namespace/key/value 쌍과 일치
- Selling plan - “subscription” 또는 “one-time” 제품과 일치. 요청 컨텍스트가 해당 제품의 판매 플랜을 제공할 때만 평가돼요. Aftersell의 체크아웃 및 구매 후 업셀 서피스는 이 값을 보내지 않으므로, 사용자 지정 통합에서 명시적으로 제공하지 않는 한 해당 서피스에서는 이 트리거가 일치하지 않아요
고객 트리거
- Customer tag - 예: “VIP”, “loyalty-gold”
- Country code - 청구 국가
- Province code - 청구 주/도
- Locale - 고객 로케일(예: “en-US”)
- Accepts marketing - 마케팅 수신 동의 상태
- Order count - 이전 주문 수
- Total spent - 누적 지출액
카트 트리거
- Cart subtotal - 예: 소계가 $50 초과
- Item count - 카트에 담긴 항목의 총 수량
- Line count - 서로 다른 라인 항목 수
- Cart attribute - Shopify 카트 API로 설정한 사용자 지정 카트 속성
- Cart note - 카트 메모 필드
위치 트리거
- Shipping country - 배송 도착 국가
- Shipping province - 배송 도착 주/도
- Shipping method - 선택한 배송 방법
- Store currency - 활성 스토어 통화 코드
마케팅 트리거
- URL - 랜딩 URL의 일부 문자열과 일치하므로, URL에 포함된 매개변수(예:
utm_source=newsletter)를 일치시켜 특정 캠페인이나 채널을 타기팅할 수 있어요
시간 트리거
- Day of week - 현재 요일
- Hour of day - 현재 시간
동적 트리거
- Always match - 조건 없이 항상 실행되는 트리거예요. 모든 요청에서 규칙이 실행되도록 할 때 사용하세요(다른 규칙이 일치하지 않을 때만 실행되는 Strategy 수준의 Catch all과는 달라요).
모든 서피스에서 모든 트리거가 채워지는 것은 아니에요. 예를 들어 체크아웃은 제품과 카트 컨텍스트만 보내므로 고객, 위치, 마케팅 트리거는 체크아웃에서 일치하지 않아요. 각 서피스가 보내는 내용은 전략 구현하기 가이드를 참고하세요.
연산자
모든 연산자를 모든 트리거에 사용할 수 있는 것은 아니에요:
- 목록 연산자(Contains any / all 및 그 부정형)는 태그, 컬렉션, 고객 태그, 특정 제품 같은 다중 값 필드에 적용돼요.
- 텍스트 연산자(Equals, Contains 및 그 부정형)는 제목, 공급업체, 핸들, 로케일, 국가, URL 같은 단일 값 텍스트 필드에 적용돼요.
- 숫자 연산자는 카트 소계, 항목 수, 라인 수, 주문 수, 총 지출액, 시간 같은 필드에 적용돼요. 숫자 연산자에는 “does not” 변형이 없어요.
- 일부 필드는 Equals와 Does not equal만 지원해요: selling plan, day of week, accepts marketing.
액션
제품 액션
- Specific products - Shopify 카탈로그에서 개별 제품을 직접 선택해요.
- Collection - 특정 컬렉션에 속한 모든 제품을 반환해요.
- Product attributes - 태그, 공급업체, 제품 유형, 메타필드 같은 기준(트리거에서 사용하는 것과 같은 속성 유형)과 일치하는 제품을 반환해요.
동적 액션
- Most popular - 판매량 기준으로 스토어에서 가장 성과가 좋은 제품(스토어 전체 또는 컬렉션 범위).
- Recently purchased - 스토어 전반에서 최근 구매된 제품.
- Inherit from when - 규칙 자체의 트리거(“when”)를 제품 선택기로 재사용하므로, 반환되는 제품이 규칙이 실행된 기준과 일치해요.
- AI Recommendations - Aftersell의 추천 모델이 생성한 개인화 추천.
필터링 액션
- Sort - 선택할 제품을 제어해요:
- Random - 무작위 선택.
- Price: high → low - 가장 비싼 제품이 먼저 반환돼요.
- Price: low → high - 가장 저렴한 제품이 먼저 반환돼요.
- Amount/Limit - 반환할 최대 제품 수를 설정해요.
- Type - 구성된 제품 풀을 단일 Shopify 제품 유형으로 좁혀요. 정확히 일치하려면 Equals, 부분 문자열로 일치하려면 Contains를 선택하세요(둘 다 대소문자를 구분하지 않아요). 입력한 값과 제품 유형이 일치하는 제품만 유지되고, 나머지는 Amount/Limit가 적용되기 전에 제거돼요.
Type 필터는 제품 액션으로 구성된 제품 풀을 줄여요. 이는 주어진 유형의 제품을 반환하는 Product type 제품 액션과는 달라요. 더 넓은 액션(예: 컬렉션 또는 동적 액션)이 반환할 수 있는 항목을 제한하고 싶을 때 필터를 사용하세요.
Sort가 먼저 적용되고 그다음 Amount/Limit가 적용돼요. 예를 들어 정렬이 Random으로 설정되어 있으면 제한이 적용되기 전에 전체 제품 풀이 무작위로 섞이므로, 같은 제품이 무작위 순서로 나오는 것이 아니라 항상 무작위로 추출된 일부를 얻게 돼요.
키-값 액션
meta.data에 제품 결과와 함께 반환돼요. 일반적인 용도:
- 프로모션 배너 텍스트
- 분석용 캠페인 라벨
여러 규칙이 일치하고 같은 키를 내보내면 처음 일치한 규칙의 값이 우선하며, 이후 규칙은 이를 재정의할 수 없어요.
규칙 우선순위와 평가 순서
- 제공된 컨텍스트에 대해 각 규칙의 트리거를 평가해요.
- 일치하는 모든 규칙에서 제품을 수집해요.
- 중복을 제거하고 결과를 구성된 최대값(기본값: 제품 20개)으로 제한해요.
글로벌 필터
- Exclude out of stock - 현재 구매할 수 없는 제품을 자동으로 제외해요.
- Exclude input products - 규칙을 트리거한 제품(예: 쇼핑객이 현재 PDP에서 보고 있는 제품)을 제외하므로, 쇼핑객이 이미 보고 있는 제품을 추천하지 않아요.
- Exclude by product tag - 특정 태그가 있는 제품을 제외해요.
- Exclude by metafield - 특정 메타필드 namespace/key/value와 일치하는 제품을 제외해요.
- Exclude by product ID - ID로 특정 제품을 제외해요.
- Require stock at location - 선택한 위치에 사용 가능한 재고가 있는 제품만 유지해요(재고 및 위치 읽기 권한 필요).
Catch all
- Enable/disable - Strategy에 대해 Catch all 규칙을 켜거나 꺼요. 비활성화하면 어떤 규칙과도 일치하지 않는 요청은 빈 결과를 반환해요.
- Configure actions - 다른 규칙과 마찬가지로 사용 가능한 액션 유형을 조합해 반환할 내용을 정의해요.
resolution.fallbackUsed: true가 표시돼요.