배송 관련 정보도 미국 온라인 쇼핑과 한국 온라인 쇼핑간 특징이 극명하게 들어나는 요인중의 하나입니니다.
미국은 배송 지역이 넓기 때문에 상대적으로 다양한 배송 옵션을 제공합니다.
- 비용이 달라지는 배송 기간/배송 방법,
- 상품을 받는 위치를 집이 아닌 특정 유통 매장으로 설정 등 등
이처럼 다양한 방법을 제공하기 때문에 결제화면에 다양한 배송 방법을 제공하고 소비자가 선택하도록 하고 있습니다.
이러한 연유로 우커머스에서는 우리나라에서 흔히 제공하는 무료 배송 옵션과 배송비 추가 옵션이 같이 나타나 불필요한 오해와 실수가 발생할 수 있죠.
여기에서는 무료 배송의 경우 무료만 표시되고 나머지는 표시되지 않도록하는 방법에 대해서 살펴봅니다.
쇼핑몰 구축기를 연재하는 이유
최근 지인이 워드프레스를 이용해 쇼핑몰 구축을 시도하면서 배웠던 배웠던 다양한 경험들을 해당 쇼핑몰 블로그에 연재해 왔는데요.
쇼핑몰이 상품만 파는 것이 아니라 쇼핑몰을 방문하는 고객들에게 열가지 유용한 정보를 제공하는 블로그의 효용성이 높다는 점을 십분 활용하고, 처음 시작하는 쇼핑몰의 신뢰성을 주기 위해 비록 삽질이지만 삽질기를 낱낱히 공개하기로 했다고 하네요.
그 쇼핑몰의 주소는 https://puripia.com로 아직도 공사중이기는 합니다.)
쇼핑몰 구축 시 도와주었던 인연으로 그 쇼핑몰을 알리고 쇼핑몰 구축 경험담을 보다 널리 알리기 위해서 여기 happist.com에도 같이 공유합니다. 조금 사심이 있기는 합니다.
우커머스 배송비 표시 – 무료時 기본 배송비 숨기기
[결제 단계 최적화] 우커머스 배송비 표시 – 무료 배송 時 기본 배송비 숨기기
이번에는 배송비와 관련해 사용 경험을 최적화하기 위해 무료 배송비인 경우에는 기본 배송비를 표시하지 않는 방법에 대해서 알아봅니다.
이 글은 이전에 설명했던 “우커머스 배송 지역 및 배송비 설정 방법“과 함께 읽어보면 좋을 듯 합니다.
우커머스는 아무래도 미국 등 서구 지역 중심으로 발전한 프로그램이므로 미국적 쇼핑몰의 특성을 많이 반영하고 있습니다.
미국에서는 배송 기간, 배송 방법 그리고 배송 비용에 따라 다양한 옵션을 제공하고 있습니다.
예를들어 노트북을 구매한다고 할 시 이 노트북을 집으로 지접 배달받을 수도 있고, 아니면 가까운 베스트바이 매장에서 찾아갈 수도 있죠. 그리고 집으로 배송하는 경우도 당일 배송이냐 2일내 배송니냐 5일 내 배송 등 다양한 옵션이 존재합니다.
그렇기대문에 결제화면에서도 이러한 옵션을 소비자가 선택할 수 있도록 옵션을제공합니다.
다양한 배송비 표시 시 문제
우니나라도 최근 이렇게 다양한 옵션을 제공하는 방향으로 점점 변하고 있기는 합니다. 그렇지만아직도 여러 조건들은 매우 단순합니다. 그렇기에 굳이 결제화면에서 배송에 대한 복잡한 옵션을제공할 필요가 낮습니다.
특히나 배송비를 구매 금액과 쿠폰등으로 무료 옵션을 제공하는 경우 옵션을 모두 보여주는 것은 잘못하면 문제의 소지조차 있기도 합니다. 그래서 단순하게 최종 확정된 옵션만 보여주기를 선호합니다.
아래처럼 배송비에 무료와 기본이 모두 표현되고 있다면, 비록 체크 표시로 구분된다고는 하지만 혼란의 여지가 있기도하고, 고객이 실수로 다른 곳을 체크해 배송비 부여가 잘못 될 수 있습니다.
고객이 버튼을 옮겼다고 하드라도 말썽의 소지가 다분하므로 차라리 확정된 하나만 나타나도록 하는 것이 필요하죠.
무료일 때 배송비 표시 시 기본 배송료 숨기기
이렇게 두가지가 모두 보이는 경우는 구매액이나 쿠폰으로 인해 무료 배송 조건이 되었을 때입니다.
따라서 무료 배송으로 전환되었을 시 고정 배송비 또는 기본 배송비는 보이지 않도록 만드는 것이 좋습니다.
이를 해결해주는 코드입니다. 이 코드를 차일드 테마 function.php에 추가합니다.
add_filter( 'woocommerce_package_rates', 'hide_fixed_shipping_cost_when_free_is_available', 100 );
function hide_fixed_shipping_cost_when_free_is_available( $rates ) {
$free = array();
foreach ( $rates as $rate_id => $rate ) {
if ( 'free_shipping' === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
}
return ! empty( $free ) ? $free : $rates;
}
Code language: PHP (php)
또는 아래와 같은 코드를 적용합니다. 이 코드는 무료 배송의 경우 모든 지역에서 모든 배송 방법을 표현하지 않는다고 합니다.
Snippet #2: Unset ALL rates in ALL zones when ANY Free Shipping rate is available
add_filter( 'woocommerce_package_rates', 'puripia_unset_shipping_when_free_is_available_all_zones', 10, 2 );
function puripia_unset_shipping_when_free_is_available_all_zones( $rates, $package ) {
$all_free_rates = array();
foreach ( $rates as $rate_id => $rate ) {
if ( 'free_shipping' === $rate->method_id ) {
$all_free_rates[ $rate_id ] = $rate;
break;
}
}
if ( empty( $all_free_rates )) {
return $rates;
} else {
return $all_free_rates;
}
}
Code language: PHP (php)
위 코드를 적용하면 위와 같은 조건에서 무료 하나만 보입니다. 아래 이미지를 참조하시죠.
새롭게 뉴스레터를 시작했습니다.
1️⃣ 주식 등 투자 정보 : 기업 분석, IB 투자의견 등 투자 관련 내용
..... 테슬라 실적 및 IB들의의 테슬라 투자의견
2️⃣ 사례 및 트렌드 : 사례연구와 트렌드 관련 괜찮은 내용
.....유튜브와 경쟁대신 구독 전환한 비디오 플래폼 비메오 사례