WooCommerce 스토어에 있어 고객 관리는 운영의 핵심입니다. 하지만 주문량이 증가함에 따라, “완료됨”, “처리 중”, “환불됨”과 같은 특정 상태의 주문을 효율적으로 필터링하고, 해당 고객 정보를 추출하여 대량으로 관리하거나 마케팅에 활용하는 것이 사업주들이 직면하는 흔한 과제가 되었습니다. 수동으로 작업하는 것은 효율성이 낮을 뿐만 아니라 오류가 발생하기도 쉽습니다. 이 글에서는 주문 상태에 따라 WooCommerce 고객 목록을 대량으로 관리하고 내보내는 몇 가지 실용적인 방법을 자세히 소개합니다. 백엔드 작업부터 코드 확장에 이르기까지, 고객 관계 관리의 효율성을 높이는 데 도움이 될 것입니다.
왜 고객을 주문 상태에 따라 관리해야 할까요?
주문 상태에 따라 고객을 필터링하고 관리하는 것은 단순한 데이터 내보내기 그 이상입니다. 이는 고객 관리의 세밀화와 마케팅 전략의 효과성과 직접적으로 관련이 있습니다. 각기 다른 주문 상태에 있는 고객 그룹은 서로 다른 특성과 요구사항을 가지고 있습니다.
예를 들어, “완료된” 주문을 한 고객은 이미 제품을 구매한 고객이므로 관련 제품이나 업그레이드 서비스에 더 관심이 있을 가능성이 높아, 교차 판매나 제품 리뷰 작성을 요청하는 것이 적합합니다. 반면에 “환불된” 또는 “취소된” 주문을 한 고객은 제품, 가격, 서비스에 문제가 있을 수 있음을 시사하므로 이러한 고객 정보를 분석하면 매장 운영을 최적화하고 향후 고객 불만을 줄이는 데 도움이 됩니다. “처리 중”인 주문에 대해서는 고객에게 적시에 연락하여 쇼핑 경험을 향상시킬 수 있습니다.
추천 읽기 워드프레스에서 WooCommerce를 사용하여 강력한 온라인 상점을 구축하는 방법。
이러한 특정 상태에 있는 고객 목록을 일괄으로 내보내면, 이를 이메일 마케팅 시스템(예: Mailchimp)에 쉽게 가져와 정확한 재마케팅 활동, 고객 만족도 조사, 또는 개인화된 프로모션을 진행할 수 있습니다. 이를 통해 고객의 평생 가치(Lifetime Value)를 크게 향상시킬 수 있습니다.
WooCommerce의 백엔드 내장 기능을 사용하여 데이터를 내보냅니다.
WooCommerce 백엔드에는 기본적인 주문 내보내기 기능이 제공됩니다. 비록 “고객 목록”을 직접 내보낼 수는 없지만, 주문 데이터를 내보내는 방법을 통해 간접적으로 고객 정보를 얻을 수 있습니다.
먼저, WordPress 관리자 페이지에 로그인한 다음, 다음 경로로 이동하세요: WooCommerce > 订单주문 목록 페이지의 상단에서 필터를 사용하여 특정 주문 상태를 검색할 수 있습니다. “필터링” 버튼을 클릭한 다음, 드롭다운 메뉴에서 원하는 상태(예: “완료됨”)를 선택한 후 다시 “필터링” 버튼을 클릭하세요.
주문을 필터링한 후에는 목록에 있는 고객 정보를 직접 복사할 수 있지만, 대량의 데이터에는 이 방법이 적합하지 않습니다. 더 효과적인 방법은 “내보내기” 기능을 사용하는 것입니다. 주문 목록 페이지에서 “내보내기” 버튼을 찾아 클릭하세요. 시스템을 통해 모든 주문을 내보내거나, 현재 필터링된 주문만 내보낼 수 있습니다. “현재 목록의 주문”을 선택하면 특정 상태의 주문만 내보내집니다.
내보낸 파일은 일반적으로 CSV 형식이며, 각 주문의 상세 정보(주문 번호, 고객 이름, 청구 이메일 주소, 주소 등)가 포함되어 있습니다. 이 파일을 Excel이나 Google Sheets에서 열어 불필요한 주문 정보 열을 삭제하고 고객 이름, 이메일 주소와 같은 필수 정보만 남겨두면 고객 목록을 얻을 수 있습니다.
추천 읽기 WooCommerce 완전 가이드: 제로에서 시작하여 강력한 WordPress 전자상거래 웹사이트 구축하기。
이 방법의 장점은 추가적인 플러그인을 설치할 필요가 없으며, 완전히 무료라는 점입니다. 단점은 절차가 다소 복잡하고 데이터를 수동으로 정리해야 하며, 매우 맞춤화된 형태로 필드를 내보낼 수 없다는 점입니다.
전문 플러그인을 사용하여 고급 수준의 내보내기 및 관리 기능을 구현합니다.
정기적으로 작업을 반복해야 하거나, 필드의 커스터마이징 요구가 높으며, 주문 목록이 아닌 고객 목록을 직접 원하는 사용자에게는 전문 플러그인을 사용하는 것이 최선의 선택입니다. 시중에는 “Customer/Order/Coupon Export for WooCommerce”, “WP All Export”, “Export WooCommerce Customers”와 같은 우수한 플러그인들이 많이 있습니다.
한 인기 있는 내보내기 플러그인을 예로 들어보겠습니다. 이 플러그인을 설치하고 활성화하면, 일반적으로 다음과 같은 기능들을 사용할 수 있습니다: WooCommerce > 导出 해당 설정은 관련 문서에서 찾을 수 있습니다. 이 플러그인들은 매우 강력한 필터링 기능을 제공합니다.
필터 설정에서는 “주문 상태”에 따라 검색을 직접 수행할 수 있습니다. 플러그인에는 보통 여러 상태를 한 번에 선택할 수 있는 체크박스가 제공되며, 예를 들어 “completed”(완료됨)와 “processing”(처리 중)와 같은 상태들을 선택할 수 있습니다.
다음은 중요한 단계입니다: 내보내기 유형을 선택하세요. 순수한 고객 목록을 얻기 위해서는 “주문”이 아닌 “고객”을 내보내기 유형으로 선택해야 합니다. 이렇게 하면 한 고객이 동일한 상태의 주문을 여러 개 가지고 있더라도 최종 내보내기 파일에서 자동으로 중복이 제거되어, 각 고객이 단 한 번만 표시되므로 이메일 목록으로 사용하기에 매우 적합합니다.
그런 다음, 내보내고자 하는 필드를 세밀하게 선택할 수 있습니다. 예를 들어, 고객 ID, 이름, 이메일 주소, 가입 날짜, 주문 총수, 소비 금액 등입니다. 일부 고급 플러그인의 경우에는 “선택한 주문 상태에서 소비 기록이 있는 고객”만 내보내도록 설정할 수도 있습니다. 설정이 완료되면 CSV 파일을 바로 다운로드하거나, 파일을 이메일이나 클라우드 저장소로 자동으로 전송하도록 예약 작업을 설정할 수 있습니다.
추천 읽기 원스톱 가이드: 제로에서 시작하여 자신만의 WooCommerce 독립 웹사이트를 구축하는 방법。
플러그인 솔루션은 시간과 노력을 절약해주며 기능이 매우 강력하여 전문적인 고객 관리를 위한 추천 방법입니다.
커스텀 코드와 WP CLI를 사용하여 대량으로 처리하는 방법입니다.
개발자나 자체 시스템에 기능을 통합해야 하는 경우, 사용자 정의 코드를 작성하거나 WP CLI(WP Command Line Interface) 명령을 사용하면 최대한의 유연성과 자동화 기능을 활용할 수 있습니다.
WordPress를 통해 할 수 있습니다. WP_Query 또는 WooCommerce의 wc_get_orders 특정 상태의 주문을 프로그래밍으로 가져오기 위한 함수입니다. 다음은 모든 “완료됨” 상태의 주문을 가져와 고객 이메일 주소를 추출하는 데 사용되는 예제 코드片段입니다:
$args = array(
'status' => 'completed',
'limit' => -1, // 获取所有订单
);
$orders = wc_get_orders($args);
$customer_emails = array();
foreach ($orders as $order) {
$customer_email = $order->get_billing_email();
if (!in_array($customer_email, $customer_emails)) {
$customer_emails[] = $customer_email;
}
}
// 此时 $customer_emails 数组包含了所有不重复的客户邮箱
// 你可以将其写入CSV文件或进行其他处理 보다 복잡한 일괄 작업의 경우, 예를 들어 특정 주문 상태에 해당하는 모든 고객을 특정 사용자 그룹(유저 롤)에 추가하거나 사용자 정의 이메일을 보내는 작업을 수행할 수 있습니다. 이를 위해 사용자 정의 WP CLI(WordPress Command Line Interface) 명령어를 만들 수 있습니다. 이를 통해 서버의 명령줄을 통해 이러한 작업들을 실행할 수 있으며, Cron Job과 결합하여 완전한 자동화도 가능합니다.
먼저, 사용자 정의 플러그인이나 테마 내에서 해당 기능을 구현해야 합니다. functions.php 파일에 WP CLI 명령을 등록하세요. 해당 명령의 콜백 함수 내에서 위에서 설명한 논리와 유사한 코드를 작성하여 고객 목록을 가져오고 관리 작업(예: 사용자 메타데이터 업데이트, 외부 API 호출 등)을 수행하시기 바랍니다.
이 방법은 기술적으로 요구 사항이 높지만, 완전히 제어가 가능하며 기존의 워크플로우와 원활하게 통합될 수 있습니다. 대량의 데이터를 처리할 때도 성능이 더 우수합니다.
요약
WooCommerce 고객 목록을 주문 상태별로 일괄 관리하고 내보내는 것은 데이터 기반의 운영을 위한 기본적인 기술입니다. 대부분의 사업주에게는 백엔드의 기본 기능을 사용하여 필터링하고 내보내는 것만으로도 가끔씩 필요한 작업을 빠르게 처리할 수 있습니다. 하지만 작업 빈도가 증가하거나 맞춤화된 기능이 필요해지면, 전문적인 내보내기 플러그인을 도입하는 것이 효율성과 사용자 경험을 크게 향상시킬 수 있습니다. 개발자나 대규모 웹사이트의 경우에는 사용자 정의 코드를 작성하거나 WP CLI(WooCommerce Command Line Interface)를 활용하는 것이 보다 깊은 통합과 자동화를 실현하는 최선의 방법입니다. 어떤 방법을 선택할지는 여러분의 구체적인 요구사항, 기술적 역량, 예산에 따라 달라집니다. 어쨌든 이러한 기술을 숙달하면 고객 관리와 마케팅 활동을 더욱 정확하고 효과적으로 수행할 수 있을 것입니다.
자주 묻는 질문
내보낸 고객 목록에 중복된 이메일 주소가 포함되어 있으면 어떻게 해야 하나요?
중복된 이메일이 발생하는 이유는 대개 고객이 동일한 상태의 주문을 여러 개 가지고 있기 때문입니다. 주문을 내보낸 후에 수동으로 정리하는 방법을 사용하는 경우에는 Excel에서 “중복 항목 삭제” 기능을 사용해야 합니다. 전문적인 내보내기 플러그인을 사용하는 경우에는 내보내기 설정에서 “주문” 타입이 아닌 “고객” 타입을 선택하고, “유일한 고객만 내보내기”와 같은 중복 제거 옵션을 활성화해야 합니다.
플러그인은 고객 유형을 내보낼 때 일반적으로 사용자 ID나 이메일을 기반으로 자동으로 중복을 제거합니다.
특정 시간대에 특정 주문 상태에 있는 고객들만 내보낼 수 있을까요?
물론입니다. 플러그인이나 사용자 정의 코드를 사용하여 시간 필터 조건을 쉽게 추가할 수 있습니다. 플러그인 설정에서 “주문 날짜” 또는 “생성 날짜” 필터를 찾아 시작 및 종료 날짜를 설정하십시오. 사용자 정의 코드에서는 질의 매개변수 배열에를 추가해야 합니다. ‘date_created’ => ‘2026-03-01…2026-03-31’ 이러한 매개변수를 사용하여 날짜 범위를 조회할 수 있습니다.
주문 상태와 날짜 범위를 고려하면, 특정 기간 동안 특정 유형의 거래를 완료한 모든 고객을 정확하게 추출할 수 있습니다.
내보낸 고객 목록을 이메일 마케팅 플랫폼에 자동으로 동기화하는 방법은 무엇인가요?
자동 동기화를 구현하는 데에는 두 가지 주요 방법이 있습니다. 첫 번째 방법은 Zapier, Integromat 또는 네이티브 API와 같이 직접 통합을 지원하는 WooCommerce 내보내기 플러그인을 사용하는 것입니다. 이 플러그인을 설정하면 데이터를 내보낼 때 Mailchimp, ActiveCampaign 등의 플랫폼으로 자동으로 전송됩니다. 두 번째 방법은 사용자 정의 코드를 사용하는 것으로, 고객 목록 배열을 얻은 후 이메일 마케팅 플랫폼이 제공하는 API를 호출하여 고객 정보를 개별적으로 또는 일괄적으로 지정된 이메일 목록에 추가하는 것입니다.
우선, 사용 중인 내보내기 플러그인이 이러한 확장 기능을 지원하는지 확인해 보시기를 추천합니다.
코드를 사용하여 대량의 데이터를 내보낼 때, 메모리 부족을 방지하기 위해 어떻게 해야 할까요?
그냥 사용하시면 됩니다. wc_get_orders 그리고 설정을 완료하세요. ‘limit’ => -1 데이터 양이 매우 많을 때 모든 주문을 가져오려고 하면 PHP의 메모리 제한을 초과할 수 있습니다. 해결 방법은 페이지 나누기 쿼리를 사용하는 것입니다. 이 방법을 활용하면 데이터를 여러 페이지로 나누어 점차적으로 가져올 수 있으므로 메모리 사용량을 줄일 수 있습니다. ‘paginate’ => true 먼저 매개변수를 설정한 다음, 반복문을 사용하여 데이터를 페이지 단위로 나누어 배치 처리합니다.
더 효율적인 방법은 WP CLI(WP Command Line Interface) 명령을 사용하는 것입니다. WP CLI는 명령줄 환경에서 실행되므로 일반적으로 더 높은 메모리 제한을 가지고 있으며, 프론트엔드 웹 요청에 영향을 주지 않고 장시간 동안 실행될 수 있습니다. 코드에서는 반복문 내에서 사용되지 않는 변수들을 즉시 해제하는 것을 꼭 확인해야 합니다. unset()또한 메모리 사용량을 줄이는 데에도 도움이 됩니다.
다음 단계는 무엇인가요?
확장된 독서 및 실무 지식
다음은 이 도움말의 주제와 관련이 있으며 더 깊이 있게 읽기에 적합합니다. 현재 문제와 가장 가까운 문서부터 시작하여 점차 주변 주제로 확장하는 것이 우선순위를 정하는 것이 좋습니다.