번들 그룹화된 보기 이메일 알림 템플릿 업데이트
2024년 12월 6일부터 번들이 포함된 주문은 여러 이메일 템플릿에서 중첩된 품목 그룹으로 표시됩니다.
기본 템플릿을 사용하는 모든 알림 템플릿은 제품 번들에 대한 그룹화된 보기를 표시하도록 자동으로 업데이트되었습니다. 2024년 12월 6일 이전에 이메일 알림 템플릿을 맞춤 설정한 경우 알림 템플릿이 업데이트되지 않습니다. 알림 템플릿을 번들 보기로 업데이트하려면 다음 방법을 사용할 수 있습니다.
- 모든 알림의 경우 설정 > 알림 섹션의 모든 알림에 대해 다음 방법 중 하나를 사용할 수 있습니다.
- Shopify Messaging을 사용하는 중단된 체크아웃 자동화의 경우 자동화의 기존 템플릿을 편집하여 되돌릴 수 있습니다.
이 페이지의 내용
맞춤 설정된 이메일 템플릿 업데이트 시 고려 사항
이메일 알림 템플릿을 변경하기 전에 다음 고려 사항을 검토하십시오.
- Shopify 관리자의 설정 > 알림 섹션에 있는 알림 템플릿에는 Shopify의 템플릿 언어인 Liquid, HTML, CSS가 포함되어 있습니다. HTML 및 CSS를 알고 Liquid에 대한 기본적인 지식이 있는 경우에만 알림 템플릿의 코드를 편집하십시오.
- 알림 템플릿에 변경 사항을 저장하면 이전 템플릿 코드를 덮어씁니다. 템플릿을 기본값으로 되돌릴 수 있지만, 템플릿을 되돌리면 템플릿 코드에 대한 이전 맞춤 설정이 손실되어 복구할 수 없습니다.
- 템플릿을 업데이트하고 싶지만 알림 템플릿 코드 편집 경험이 없는 경우 다음과 같은 지원을 받을 수 있습니다.
- Shopify 지원팀은 알림 템플릿을 광범위하게 편집해 드릴 수는 없지만 Shopify 디자인 정책 범위 내에서 무료 Shopify 테마의 간단한 조정을 도와드릴 수 있습니다.
- 더 복잡한 변경이 필요한 경우에는 Shopify 파트너를 고용하십시오.
그룹화된 보기 변경 전후
이메일 알림 템플릿을 업데이트하기 전에는 제품 번들이 개별 품목으로 표시됩니다.

이메일 알림 템플릿을 업데이트한 후에는 제품 번들이 중첩된 품목 그룹으로 표시됩니다.

제품 번들에 대해 업데이트된 이메일 알림 목록
다음 알림 템플릿은 제품 번들을 그룹화된 보기 또는 플랫 보기로 표시합니다.
고객 알림
| 알림 템플릿 | 관리자 위치 | 표시 유형 |
|---|---|---|
| 주문 확인 | 주문 처리 | 번들이 중첩 그룹으로 표시됩니다. |
| 주문 인보이스 | 주문 예외 | 번들이 중첩 그룹으로 표시됩니다. |
| 보류 중인 결제 오류 | 결제 | 번들이 중첩 그룹으로 표시됩니다. |
| 보류 중인 결제 성공 | 결제 | 번들이 중첩 그룹으로 표시됩니다. |
| POS 고객 이메일 | POS | 번들이 중첩 그룹으로 표시됩니다. |
| POS 및 모바일 영수증 | POS | 번들이 중첩 그룹으로 표시됩니다. |
| 반품 생성됨 | 반품 | 번들의 각 제품이 별도 품목으로 표시됩니다. |
| 반품 요청 접수됨 | 반품 | 번들의 각 제품이 별도 품목으로 표시됩니다. |
| 반품 요청 승인됨 | 반품 | 번들의 각 제품이 별도 품목으로 표시됩니다. |
| 반품 요청 거부됨 | 반품 | 번들의 각 제품이 별도 품목으로 표시됩니다. |
직원/담당자 알림
| 알림 템플릿 | 표시 유형 |
|---|---|
| 새 주문 | 번들이 중첩 그룹으로 표시됩니다. |
| 새 반품 요청 | 번들의 각 제품이 별도 품목으로 표시됩니다. |
| 판매 기여도 편집됨 | 번들의 각 제품이 별도 품목으로 표시됩니다. |
| 새 발주 주문 | 번들이 중첩 그룹으로 표시됩니다. |
| 중단된 체크아웃(Shopify Messaging 내) | 번들이 중첩 그룹으로 표시됩니다. |
맞춤 설정된 알림 템플릿 되돌리기
Shopify 관리자의 설정 > 알림 섹션에서 맞춤 설정된 알림 템플릿을 업데이트하려면 이메일 템플릿에 대한 모든 맞춤 설정을 수동으로 백업하고 템플릿을 기본값으로 되돌린 다음 맞춤 설정을 다시 적용할 수 있습니다.
단계:
데스크톱
Shopify 관리자에서 설정 > 알림으로 이동하십시오.
고객 알림 또는 직원/담당자 알림을 클릭하십시오.
업데이트하려는 알림을 클릭하십시오.
코드 편집을 클릭하십시오.
템플릿에서 유지하려는 맞춤 설정을 강조 표시하고 코드를 복사한 다음 텍스트 파일과 같이 안전한 곳에 저장하여 기존 맞춤 설정을 백업하십시오.
기본값으로 되돌리기를 클릭하십시오. 되돌리면 맞춤 설정을 복구할 수 없으므로 변경 사항을 안전하게 백업했는지 확인하십시오.
대화 상자에서 변경 사항 되돌리기를 클릭하여 확인하십시오.
업데이트된 템플릿에 맞춤 설정을 다시 적용하십시오.
저장을 클릭합니다.
모바일
Shopify 앱에서
을(를) 탭한 다음
설정을 탭합니다.
스토어 설정 섹션에서 알림을 탭합니다.
고객 알림 또는 직원 알림을 탭합니다.
업데이트하려는 알림을 탭합니다.
버튼을 탭하여 템플릿 코드를 편집합니다.
템플릿에서 유지하려는 맞춤 설정을 강조 표시하고 코드를 복사한 다음 텍스트 파일과 같이 안전한 곳에 저장하여 기존 맞춤 설정을 백업하십시오.
기본값으로 되돌리기를 탭합니다. 되돌리면 맞춤 설정을 복구할 수 없으므로 변경 사항을 안전하게 백업했는지 확인하십시오.
대화 상자에서 변경 사항 되돌리기를 탭하여 확인하십시오.
업데이트된 템플릿에 맞춤 설정을 다시 적용하십시오.
저장 또는 ✓를 탭합니다.
맞춤 설정된 이메일 템플릿의 코드 편집
이메일 템플릿의 코드를 맞춤 설정한 경우, 제품 번들의 그룹 보기를 지원하도록 코드를 수동으로 업데이트할 수 있습니다. 기본 템플릿 코드는 템플릿마다 다릅니다. Shopify 관리자의 설정 > 알림 섹션에서 맞춤 설정된 알림 템플릿을 업데이트하려면 편집해야 하는 각 템플릿의 지침을 따르십시오.
주문 이메일 알림 업데이트
다음 주문 이메일 알림에 대한 맞춤 설정 템플릿을 업데이트하려면 다음 단계를 따르십시오.
- 주문 확인
- 새 주문 이메일
- 주문 인보이스
- 보류 중인 결제 성공
- 보류 중인 결제 오류
- POS 및 모바일 영수증
단계:
Shopify 관리자에서 설정 > 알림으로 이동하십시오.
고객 알림 또는 직원/담당자 알림을 클릭하십시오.
업데이트하려는 알림을 클릭하십시오.
코드 편집을 클릭하십시오.
템플릿에서 유지하려는 맞춤 설정을 강조 표시하고 코드를 복사한 다음 텍스트 파일과 같이 안전한 곳에 저장하여 기존 맞춤 설정을 백업하십시오. 전체 템플릿을 강조 표시하고 복사하여 안전한 곳에 저장할 수도 있습니다.
subtotal_line_items를 검색하여 템플릿에서 품목 루프를 찾습니다. 다음과 같이 표시됩니다.
{% for line in subtotal_line_items %}subtotal_line_items루프를 여는 코드 바로 아래에{% if line.groups.size == 0 %}을 추가하여subtotal_line_items루프 내의 모든 코드를 if 조건으로 래핑한 다음,{% endfor %}루프를 닫는 코드 바로 위에{% endif %}를 추가하여 if 조건을 닫습니다.
{% if line.groups.size == 0 %}
<Your old code>
{% endif %}- 코드는 다음과 같이 표시되어야 합니다.
{% for line in subtotal_line_items %}
{% if line.groups.size == 0 %}
<Your old code>
{% endif %}
{% endfor %}subtotal_line_items품목 루프의 닫는{% endfor %}태그 아래에 다음 코드를 붙여넣으십시오.
{% for line_item_group in line_item_groups %}
{% assign final_line_price = 0 %}
{% assign original_line_price = 0 %}
{% assign discount_keys_str = "" %}
{% for component in line_item_group.components %}
{% assign final_line_price = final_line_price | plus: component.final_line_price %}
{% assign original_line_price = original_line_price | plus: component.original_line_price %}
{% for da in component.discount_allocations %}
{% if da.discount_application.target_selection != 'all' %}
{% assign discount_key = da.discount_application.title | append: da.discount_application.type %}
{% assign discount_keys_str = discount_keys_str | append: discount_key | append: "," %}
{% endif %}
{% endfor %}
{% endfor %}
{% assign discount_keys = discount_keys_str | split: "," | uniq %}
<tr class="order-list__item">
<td class="order-list__item__cell">
<table>
<td class="order-list__parent-image-cell">
{% if line_item_group.image %}
<img src="{{ line_item_group | img_url: 'compact_cropped' }}" align="left" width="60" height="60" class="order-list__product-image"/>
{% else %}
<div class="order-list__no-image-cell">
<img src="{{ 'notifications/no-image.png' | shopify_asset_url }}" align="left" width="60" height="60" class="order-list__no-product-image"/>
</div>
{% endif %}
</td>
<td class="order-list__product-description-cell">
<span class="order-list__item-title">{{ line_item_group.title }} × {{ line_item_group.quantity }}</span><br/>
{% for discount_key in discount_keys %}
{% assign discount_amount = 0 %}
{% for component in line_item_group.components %}
{% for da in component.discount_allocations %}
{% assign key = da.discount_application.title | append: da.discount_application.type %}
{% if da.discount_application.target_selection != 'all' and key == discount_key %}
{% assign discount_amount = discount_amount | plus: da.amount %}
{% assign discount_title = da.discount_application.title %}
{% endif %}
{% endfor %}
{% endfor %}
<p>
<span class="order-list__item-discount-allocation">
<img src="{{ 'notifications/discounttag.png' | shopify_asset_url }}" width="18" height="18" class="discount-tag-icon" />
<span>
{{ discount_title | upcase }}
(-{{ discount_amount | money }})
</span>
</span>
</p>
{% endfor %}
{% for component in line_item_group.components %}
<table>
<tr class="order-list__item">
<td class="order-list__bundle-item">
<table>
<td class="order-list__image-cell">
{% if component.image %}
<img src="{{ component | img_url: 'compact_cropped' }}" align="left" width="40" height="40" class="order-list__product-image"/>
{% else %}
<div class="order-list__no-image-cell small">
<img src="{{ 'notifications/no-image.png' | shopify_asset_url }}" align="left" width="40" height="40" class="order-list__no-product-image small"/>
</div>
{% endif %}
</td>
<td class="order-list__product-description-cell">
{% if component.product.title %}
{% assign component_title = component.product.title %}
{% else %}
{% assign component_title = component.title %}
{% endif %}
<span class="order-list__item-title">{{ component.quantity }} × {{ component_title }}</span><br>
{% if component.variant.title != 'Default Title'%}
<span class="order-list__item-variant">{{ component.variant.title }}</span>
{% endif %}
</td>
</table>
</td>
</tr>
</table>
{% endfor %}
</td>
<td class="order-list__parent-price-cell">
{% if original_line_price != final_line_price %}
<del class="order-list__item-original-price">{{ original_line_price | money }}</del>
{% endif %}
<p class="order-list__item-price">
{% if final_line_price > 0 %}
{{ final_line_price | money }}
{% else %}
Free
{% endif %}
</p>
</td>
</table>
</td>
</tr>
{% endfor %}
</table>
<table class="row subtotal-lines">
<tr>
<td class="subtotal-spacer"></td>
<td>
<table class="row subtotal-table">
{% assign total_order_discount_amount = 0 %}
{% assign has_shipping_discount = false %}
{% assign epsilon = 0.00001 %}
{% for discount_application in discount_applications %}
{% if discount_application.target_selection == 'all' and discount_application.target_type == 'line_item' %}
{% assign order_discount_count = order_discount_count | plus: 1 %}
{% assign total_order_discount_amount = total_order_discount_amount | plus: discount_application.total_allocated_amount %}
{% endif %}
{% if discount_application.target_type == 'shipping_line' %}
{% assign has_shipping_discount = true %}
{% assign shipping_discount_title = discount_application.title %}
{% if discount_application.total_allocated_amount == 0 %}
{% assign discount_value_price = discount_application.value | times: 100 %}
{% else %}
{% assign discount_value_price = discount_application.total_allocated_amount %}
{% endif %}
{% assign shipping_amount_minus_discount_value_price = shipping_price | minus: discount_value_price %}
{% assign shipping_amount_minus_discount_value_price_abs = shipping_amount_minus_discount_value_price | abs %}
{% assign discount_application_value_type = discount_application.value_type | strip %}
{% if shipping_amount_minus_discount_value_price_abs < epsilon or discount_application_value_type == 'percentage' and discount_application.value == 100 %}
{% assign free_shipping = true %}
{% else %}
{% assign discounted_shipping_price = shipping_amount_minus_discount_value_price %}
{% endif %}
{% endif %}
{% endfor %}
</table>
</td>
</tr>
</table>- 저장을 클릭합니다.
발주 주문 및 중단된 체크아웃 이메일 알림 업데이트
다음 이메일 알림에 대한 맞춤 설정 템플릿을 업데이트하려면 다음 단계를 따르십시오.
- 새 발주 주문
- 중단된 카트
- 발주 주문 인보이스
- POS 고객 이메일
단계:
데스크톱
Shopify 관리자에서 설정 > 알림으로 이동하십시오.
고객 알림 또는 직원/담당자 알림을 클릭하십시오.
업데이트하려는 알림을 클릭하십시오.
코드 편집을 클릭하십시오.
템플릿에서 유지하려는 맞춤 설정을 강조 표시하고 코드를 복사한 다음 텍스트 파일과 같이 안전한 곳에 저장하여 기존 맞춤 설정을 백업하십시오.
subtotal_line_items를 검색하여 템플릿에서 품목 루프를 찾습니다. 다음과 같이 표시됩니다.
{% for line in subtotal_line_items %}- 시작하는
{% for line in subtotal_line_items %}루프 바로 뒤에 다음 코드를 붙여넣으십시오.
{% assign expand_bundles = true %}- 제품 이미지를 렌더링하는 블록을 찾으십시오. 다음과 같이 표시됩니다.
<td class="order-list__image-cell">
{% if line.image %}
<img src="{{ line | img_url: 'compact_cropped' }}" align="left" width="60" height="60" class="order-list__product-image"/>
{% else %}
<div class="order-list__no-image-cell">
<img src="{{ 'notifications/no-image.png' | shopify_asset_url }}" align="left" width="60" height="60" class="order-list__no-product-image"/>
</div>
{% endif %}
</td>order-list__image-cell클래스를{% if expand_bundles and line.bundle_parent? %}if 조건으로 감싸고 대체 클래스를 추가하여 수정하십시오. 이렇게 하면 이미지 템플릿이 변경되어{% assign expand_bundles = true %}변수가 true인 경우 이미지 클래스가order-list__parent-image-cell에서order-list__image-cell로 변경됩니다. 템플릿 코드는 다음과 같이 표시되어야 합니다.
<td
{% if expand_bundles and line.bundle_parent? %}
class="order-list__parent-image-cell"
{% else %}
class="order-list__image-cell"
{% endif %}
>
{% if line.image %}
<img src="{{ line | img_url: 'compact_cropped' }}" align="left" width="60" height="60" class="order-list__product-image"/>
{% else %}
<div class="order-list__no-image-cell">
<img src="{{ 'notifications/no-image.png' | shopify_asset_url }}" align="left" width="60" height="60" class="order-list__no-product-image"/>
</div>
{% endif %}
</td>- 이형 상품 제목을 렌더링하는 코드를 찾으십시오. 다음과 같이 표시됩니다.
{% if line.variant.title != 'Default Title' %}
<span class="order-list__item-variant">{{ line.variant.title }}</span><br/>
{% endif %}- 제품 번들의 이형 상품 제목을 숨기려면
{% if line.variant.title != 'Default Title' %}if 조건에and line.bundle_parent? == false를 추가한 다음 elsif 조건을 추가하십시오. 다음과 같이 표시됩니다.
{% if line.variant.title != 'Default Title' and line.bundle_parent? == false %}
<span class="order-list__item-variant">{{ line.variant.title }}</span><br/>
{% elsif line.variant.title != 'Default Title' and line.bundle_parent? and expand_bundles == false %}
<span class="order-list__item-variant">{{ line.variant.title }}</span><br/>
{% endif %}- 선택 사항: 가격을 렌더링하는 코드를 찾으십시오.
order-list__price-cell클래스가 있어야 합니다. 중단된 카트 이메일 알림에는 없지만 발주 주문 알림 템플릿에는 있습니다. 다음과 같이 표시됩니다.
<td class="order-list__price-cell">- 가격에 대한 if 문과 추가 클래스를 추가하여 기본 번들의 가격을 업데이트하십시오. 다음과 같이 표시됩니다.
<td
{% if expand_bundles and line.bundle_parent? %}
class="order-list__parent-price-cell"
{% else %}
class="order-list__price-cell"
{% endif %}
>{% for group in line.groups %}for 루프에서flat view또는Part of:코드를 검색하십시오. 이전 이메일 템플릿에는 이 코드가 없을 수 있습니다.
{% for group in line.groups %}
<span class="order-list__item-variant">Part of: {{ group.display_title }}</span><br/>
{% endfor %}- 전체
{% for group in line.groups %}루프를 다음 코드로 바꾸십시오.
{% if expand_bundles %}
{% for component in line.bundle_components %}
<table>
<tr class="order-list__item">
<td class="order-list__bundle-item">
<table>
<td class="order-list__image-cell">
{% if component.image %}
<img src="{{ component | img_url: 'compact_cropped' }}" align="left" width="40" height="40" class="order-list__product-image small"/>
{% elsif component.image_url %}
<img src="{{ component.image_url }}" align="left" width="40" height="40" class="order-list__product-image small"/>
{% else %}
<div class="order-list__no-image-cell small">
<img src="{{ 'notifications/no-image.png' | shopify_asset_url }}" align="left" width="40" height="40" class="order-list__no-product-image small"/>
</div>
{% endif %}
</td>
<td class="order-list__product-description-cell">
{% if component.product.title %}
{% assign component_title = component.product.title %}
{% else %}
{% assign component_title = component.title %}
{% endif %}
{% assign component_display = component.quantity %}
<span class="order-list__item-title">{{ component_title }}&nbsp;&times;&nbsp;{{ component_display }}</span><br>
{% if component.variant.title != 'Default Title'%}
<span class="order-list__item-variant">{{ component.variant.title }}</span>
{% endif %}
</td>
</table>
</td>
</tr>
</table>
{% endfor %}
{% else %}
{% for group in line.groups %}
<span class="order-list__item-variant">Part of: {{ group.display_title }}</span><br/>
{% endfor %}
{% endif %}</code></pre></figure><ol start="16">
Click Save.
워크플로를 편집하여 중단된 카트 또는 중단된 체크아웃 이메일 업데이트
중단된 체크아웃 자동화를 설정한 경우 기존 중단된 체크아웃 복구 이메일 템플릿을 편집하여 제품 번들의 그룹 보기를 표시하도록 중단된 체크아웃 이메일을 업데이트할 수 있습니다.
단계:
데스크톱
Shopify 관리자에서 앱 > Messaging(으)로 이동합니다.
자동화를 클릭합니다.
편집하려는 마케팅 플로를 클릭합니다.
편집을 클릭합니다.
자동화 끄기를 클릭합니다.
대화 상자에서 끄기를 클릭합니다.
편집을 클릭합니다.
플로 자동화에서 마케팅 이메일 보내기를 클릭합니다.
이메일 편집을 클릭합니다.
이 이메일을 편집하면 초안으로 되돌아갑니다 대화 상자에서 계속을 클릭합니다.
이메일 템플릿을 다음과 같이 편집합니다.
- 제목 줄에 제목 추가
- 템플릿에 추가 텍스트 또는 섹션 추가
- 선택 사항: 이메일을 검토하려면 테스트 보내기를 클릭하고 이메일을 수신할 이메일 주소를 입력하십시오. 받은 편지함에서 이메일을 열고 검토합니다.
- 활성으로 설정을 클릭합니다.
- 자동화 켜기를 클릭합니다.
모바일
Shopify 앱에서
아이콘을 탭합니다.
앱 섹션에서 Messaging을 탭합니다.
Messaging > 자동화를 탭합니다.
편집할 마케팅 플로우에서
> 끄기를 탭하십시오.
대화 상자에서 끄기를 탭합니다.
마케팅 흐름을 탭합니다.
마케팅 이메일 옆의
> 편집을 탭하십시오.
이 이메일을 편집하면 초안으로 되돌아갑니다 대화 상자에서 계속을 탭합니다.
제목 줄에 제목을 추가한 다음 템플릿에 텍스트 또는 섹션을 추가합니다.
선택 사항: 이메일을 검토하려면 테스트 보내기를 탭하고 이메일을 수신할 이메일 주소를 입력합니다. 받은 편지함에서 이메일을 열어 검토합니다.
활성으로 설정을 탭합니다.
또는
> 자동화 켜기를 탭하십시오.
마케팅 자동화 요약 페이지에서 중단된 카트 또는 중단된 체크아웃 이메일 업데이트
중단된 체크아웃 자동화를 설정한 경우, 중단된 카트 또는 중단된 체크아웃 섹션을 편집하여 제품 번들의 그룹화된 보기를 표시하도록 중단된 체크아웃 이메일을 업데이트할 수 있습니다.
단계:
데스크톱
Shopify 관리자에서 앱 > Messaging(으)로 이동합니다.
자동화를 클릭합니다.
편집하려는 마케팅 플로를 클릭합니다.
활동 이름 섹션에서 편집하려는 템플릿의 썸네일을 클릭합니다.
편집을 클릭합니다.
이 이메일을 편집하면 초안으로 되돌아갑니다 대화 상자에서 계속을 클릭합니다.
템플릿의 중단된 체크아웃 또는 중단된 카트 섹션 옆에 있는 휴지통 아이콘을 클릭합니다.
+ 섹션 추가를 클릭합니다.
중단된 카트 또는 중단된 체크아웃 섹션을 클릭합니다.
선택 사항: 이메일을 검토하려면 테스트 보내기를 탭하고 이메일을 수신할 이메일 주소를 입력합니다. 받은 편지함에서 이메일을 열어 검토합니다.
활성으로 설정을 클릭합니다.
모바일
Shopify 앱에서
아이콘을 탭합니다.
앱 섹션에서 Messaging을 탭합니다.
Messaging > 자동화를 탭합니다.
편집할 마케팅 플로우에서
> 끄기를 탭하십시오.
마케팅 흐름을 탭합니다.
편집하려는 템플릿의 썸네일을 탭합니다.
편집을 탭합니다.
이 이메일을 편집하면 초안으로 되돌아갑니다 대화 상자에서 계속을 탭합니다.
위로 스와이프하여 템플릿을 편집합니다.
중단된 체크아웃 또는 중단된 카트 섹션을 길게 누른 다음 휴지통 아이콘을 탭합니다.
+ 버튼을 탭한 다음 중단된 카트 또는 중단된 체크아웃 섹션을 탭합니다.
선택 사항: 이메일을 검토하려면 테스트 보내기를 탭하고 이메일을 수신할 이메일 주소를 입력합니다. 받은 편지함에서 이메일을 열어 검토합니다.
활성으로 설정을 탭합니다.