콘텐츠로 건너뛰기

WooCommerce 연동

Pushwoosh for WooCommerce 플러그인은 WordPress 스토어를 Pushwoosh에 연결합니다. 고객은 이메일 및 SMS 연락처가 되고, 주문과 버려진 장바구니는 Customer Journey를 시작할 수 있는 이벤트가 되며, 스토어프런트에는 구독 벨이 포함된 웹 푸시가 추가됩니다.

연동 개요

Anchor link to

WooCommerce는 WordPress용 오픈 소스 전자상거래 플러그인입니다. Pushwoosh for WooCommerce 플러그인은 Pushwoosh API를 통해 스토어 데이터를 Pushwoosh로 직접 전송합니다. 플러그인은 백그라운드에서 데이터를 전송하므로 결제 속도가 느려지지 않습니다.

연동 유형

Anchor link to

대상: 이 연동은 WooCommerce 스토어의 데이터를 Pushwoosh로 푸시합니다.

사전 요구 사항

Anchor link to
  • WordPress 6.4 이상, WooCommerce 8.2 이상, PHP 8.1 이상
  • WordPress 사이트에 대한 관리자 접근 권한
  • 스토어용 애플리케이션이 있는 Pushwoosh 계정
  • 웹 푸시를 사용하려는 경우 HTTPS 사이트 주소. 브라우저는 HTTPS 사이트에서만 웹 푸시를 등록합니다.

이 플러그인은 High-Performance Order Storage(HPOS)와 함께 작동하며, 클래식 및 블록 기반 Cart 및 Checkout 페이지 모두를 지원합니다.

플러그인이 동기화하는 항목

Anchor link to

다음 표는 각 WooCommerce 엔티티가 Pushwoosh에서 무엇이 되는지 보여줍니다:

WooCommercePushwoosh
고객 또는 게스트 구매자이메일 연락처가 있는 사용자. 전화번호가 유효한 휴대폰 번호인 경우 SMS 연락처도 추가
고객 이름, 동의 여부, 매핑된 필드태그
주문 생성, 업데이트 또는 취소PW_OrderCreated, PW_OrderUpdated, PW_OrderCanceled 이벤트
버려진 장바구니장바구니를 복원하는 링크가 포함된 PW_AbandonedCart 및 PW_AbandonedCartUpdate 이벤트
알림을 허용한 스토어프런트 방문자고객의 이메일에 연결된 웹 푸시 구독자

Pushwoosh의 User ID는 소문자로 된 고객의 이메일 주소입니다. 등록된 고객은 계정 이메일, 게스트는 청구 이메일이 사용됩니다. 한 고객의 연락처, 이벤트, 웹 푸시 구독자는 모두 같은 사용자에게 연결됩니다.

사용 사례

Anchor link to
  • 쇼핑객이 장바구니에 상품을 남겨 두면 해당 장바구니를 복원하는 버튼이 포함된 이메일이나 푸시를 보냅니다.
  • 주문 후 구매자에게 감사 인사를 전하고, 주문이 배송되면 후속 메시지를 보내거나, 취소 후 고객을 다시 확보합니다.
  • 도시, 국가 또는 태그에 매핑한 모든 고객 필드를 기준으로 고객을 세분화합니다.
  • 벨을 통해 구독한 스토어프런트 방문자에게 웹 푸시 프로모션을 보냅니다.

Pushwoosh 애플리케이션 준비

Anchor link to

플러그인을 켜기 전에 다음 단계를 수행하세요. 플러그인이 아직 존재하지 않는 이벤트를 보내면 Pushwoosh는 해당 이벤트를 자동으로 생성하고 처음 수신한 값으로 속성 유형을 추정합니다. 추정된 유형이 틀릴 수 있으며(예: 가격이 integer로 저장됨), 유형을 수정하기 전에 전송된 데이터는 손실됩니다.

API 토큰 생성

Anchor link to

플러그인은 두 개의 Device API 토큰을 사용합니다. 두 토큰 모두 설정 → API 액세스에서 생성하고 애플리케이션에 대한 접근 권한을 부여하세요:

  1. 서버용 Device API 토큰을 생성합니다. 플러그인은 이 토큰으로 연락처를 등록하고 이벤트를 보냅니다. 이 토큰은 서버 밖으로 나가지 않습니다.
  2. 스토어프런트용 두 번째 Device API 토큰을 생성합니다. 플러그인은 웹 푸시를 시작하기 위해 이 토큰을 모든 스토어프런트 페이지에 출력하므로 공개 토큰입니다. 별도의 토큰을 사용하면 서버 토큰을 건드리지 않고 교체할 수 있습니다.

Server API 토큰은 선택 사항입니다. 이 토큰이 있으면 플러그인 설정에 애플리케이션의 태그 목록이 표시되어 고객 필드를 태그에 매핑할 때 도움이 됩니다.

이벤트 생성

Anchor link to

Audience → Events → Create Event → Custom Event에서 다섯 개의 사용자 정의 이벤트를 생성합니다: PW_OrderCreated, PW_OrderUpdated, PW_OrderCanceled, PW_AbandonedCart, PW_AbandonedCartUpdate. 사용자 정의 이벤트 생성 방법 알아보기.

각 이벤트에 해당 이벤트가 수신하는 속성을 다음 유형으로 추가합니다:

속성유형이벤트
orderIdstring전체
sourceinteger전체
orderNumber, status, wcStatusstring주문 이벤트
email, customerId, shippingMethod, currencystring전체
orderUrlstring장바구니 이벤트
totalPrice, shippingAmount, discountAmountdecimal (price)전체
taxAmountdecimal (price)주문 이벤트
createdDatedate전체
updatedDatedate주문 이벤트
abandonedDatedate장바구니 이벤트
itemslist전체
historicalboolean주문 이벤트

주문 이벤트에서 orderId가 이미 integer로 설정되어 있다면 string으로 변경하세요. integer인 경우 Pushwoosh는 이메일 제품 블록의 베스트셀러 추천을 위한 판매량에 해당 주문의 상품을 포함하지 않습니다.

태그 생성

Anchor link to

태그 페이지에서 다음 태그를 생성합니다:

태그유형
firstNamestring
lastNamestring
acceptsMarketinginteger

또한 고객 필드를 태그에 매핑에 설명된 대로 매핑하려는 모든 고객 필드에 대한 태그도 생성하세요. 기본 매핑은 City 및 Country 태그를 사용합니다.

웹 푸시 구성

Anchor link to

웹 푸시를 사용하려면 애플리케이션에 Web 플랫폼을 설정하세요. 웹 푸시 구성을 참조하세요.

플러그인 설치

Anchor link to
  1. WordPress 관리자 패널에서 Plugins → Add New Plugin으로 이동합니다.
  2. Pushwoosh for WooCommerce를 검색합니다.
  3. Install Now를 클릭합니다.
  4. Activate를 클릭합니다. WooCommerce가 이미 활성화되어 있어야 합니다.

wordpress.org에서 플러그인 zip 파일을 다운로드하여 Plugins → Add New Plugin → Upload Plugin에서 업로드할 수도 있습니다.

플러그인을 Pushwoosh에 연결

Anchor link to

WooCommerce → Settings → Pushwoosh로 이동하여 Connection 섹션을 채웁니다:

  1. Pushwoosh 지원팀에서 다른 주소를 안내하지 않았다면 API URL은 https://api.pushwoosh.com으로 둡니다.
  2. Application code에 애플리케이션 코드를 입력합니다.
  3. Device API token에 생성한 서버 토큰을 붙여넣습니다.
  4. Web SDK token에 스토어프런트 토큰을 붙여넣습니다.
  5. 선택적으로 **Server API token (optional)**에 Server API 토큰을 붙여넣습니다.
  6. Save changes를 클릭합니다.
  7. Check connection을 클릭합니다.

Check connection 결과가 표시된 WooCommerce의 Pushwoosh 설정 Connection 섹션

Check connection은 다음을 확인합니다.

  • API URL
  • 애플리케이션 코드와 토큰
  • 전송 대기열
  • 웹 푸시 서비스 워커(웹 푸시가 켜져 있는 경우)

테스트 이벤트는 속성이 비어 있는 이벤트를 생성하게 되므로 테스트 이벤트는 보내지 않습니다. 확인 결과 토큰을 검증할 수 없다고 표시되면 애플리케이션이 모든 Device API 토큰을 허용하는 상태입니다. Pushwoosh 지원팀에 해당 애플리케이션의 Device API 토큰 검사를 켜 달라고 요청하세요.

저장된 토큰은 마스킹되어 표시됩니다. 저장된 토큰을 유지하려면 설정을 저장할 때 해당 필드를 비워 두세요.

모듈 켜기

Anchor link to

Modules 섹션에서 보낼 데이터를 켠 다음 Save changes를 클릭합니다:

  • Sync customers: 고객이 가입할 때와 프로필이 저장될 때마다 Pushwoosh에 고객을 연락처로 등록합니다.
  • Send order events: 주문 이벤트를 보냅니다. 이 옵션을 켠 후 생성된 주문만 PW_OrderCreated를 받습니다. 과거 주문을 보내려면 기존 고객 및 주문 가져오기를 참조하세요.
  • Send abandoned cart events: 장바구니 이벤트를 보냅니다. Cart is abandoned after, minutes를 PW_AbandonedCart가 전송되기 전까지 장바구니가 변경되지 않은 상태로 유지되어야 하는 시간으로 설정합니다. 기본값은 60, 최솟값은 15입니다.
  • Enable web push on the storefront: 모든 스토어프런트 페이지에서 웹 푸시를 로드합니다. 웹 푸시 설정을 참조하세요.
  • Require marketing consent: 마케팅에 동의하지 않은 고객에 대해서는 아무것도 보내지 않습니다. 마케팅 동의 수집을 참조하세요.
  • Delete all data when the plugin is deleted: 플러그인을 삭제할 때 플러그인 설정, 사용자 및 주문 레코드에 저장된 플러그인 데이터, 대기 중인 작업도 함께 제거합니다. 추적된 장바구니 테이블은 이 옵션의 켜짐 여부와 관계없이 제거됩니다. 이미 Pushwoosh에 있는 데이터는 그대로 유지됩니다.

모듈 체크박스, 장바구니 이탈 시간(분), 웹 푸시 옵션이 있는 WooCommerce의 Pushwoosh 설정 Modules 섹션

고객 필드를 태그에 매핑

Anchor link to

Customer tags 섹션에서 Field → tag mapping을 사용하여 더 많은 고객 데이터를 태그로 보냅니다. 한 줄에 하나의 source = Tag 쌍을 작성합니다:

billing_city = City
billing_country = Country
shipping_postcode = Postcode
meta:loyalty_level = Loyalty level
  • Source는 billing_city 또는 shipping_postcode와 같은 고객 필드이거나, meta: 뒤에 사용자 또는 주문 메타 키를 붙인 값입니다.
  • Tag는 Pushwoosh 애플리케이션에 이미 존재하는 태그의 이름입니다.

firstName, lastName, acceptsMarketing은 항상 전송되므로 매핑할 필요가 없습니다. Server API 토큰이 저장되어 있으면 이 섹션에 애플리케이션에 존재하는 태그 목록과 무시된 매핑 줄이 표시됩니다.

마케팅 동의 수집

Anchor link to

플러그인은 가입 양식과 클래식 및 블록 기반 결제 페이지 모두에 I agree to receive news and offers by email and SMS 체크박스를 추가합니다. 응답은 고객과 주문에 저장되고 acceptsMarketing 태그(1 또는 0)로 전송됩니다. 이미 동의한 고객에게는 체크박스가 다시 표시되지 않으며, 이후 주문에서 체크박스를 선택하지 않아도 이전 동의가 철회되지 않습니다.

Place Order 버튼 위에 이메일 및 SMS 마케팅 동의 체크박스가 선택 해제된 상태로 있는 WooCommerce 결제 페이지

Require marketing consent에 따라 달라지는 사항:

  • Off(기본값): 모든 고객이 연락처로 등록되며, acceptsMarketing으로 동의한 고객을 확인할 수 있습니다. 이를 사용하여 세그먼트에서 오디언스를 필터링하세요.
  • On: 동의하지 않은 고객은 이메일이나 SMS 연락처를 받지 않으며, 해당 고객의 주문은 이벤트를 보내지 않고, 장바구니도 장바구니 이벤트를 보내지 않습니다.

이 옵션을 켜도 기존 연락처가 즉시 제거되지는 않습니다. 이전에 동의 없이 동기화된 등록 고객은 다음에 프로필이 저장될 때 또는 고객 가져오기를 다시 실행할 때 Pushwoosh에서 삭제됩니다. 게스트 연락처는 삭제되지 않습니다.

블록 기반 결제 페이지는 WooCommerce 8.9 이상에서 체크박스를 표시합니다. 이전 버전에서 Require marketing consent가 켜져 있으면 해당 결제 페이지의 장바구니는 이벤트를 보내지 않습니다.

플러그인이 보내는 이벤트와 태그

Anchor link to

이 섹션에는 플러그인이 보내는 모든 이벤트와 태그가 나열되어 있으므로, 이를 기반으로 세그먼트와 Journey를 구축할 수 있습니다.

연락처와 태그

Anchor link to

플러그인은 각 고객을 이메일 연락처로 등록하고, 청구 전화번호가 유효한 휴대폰 번호인 경우 SMS 연락처로도 등록합니다. 연락처의 언어는 고객이 가입하거나 결제할 때 사용한 스토어 언어입니다. 각 연락처에는 다음 태그가 설정됩니다:

태그값
firstName청구 이름. 청구 정보가 비어 있으면 계정 이름
lastName청구 성. 청구 정보가 비어 있으면 계정 성
acceptsMarketing고객이 마케팅에 동의한 경우 1, 그렇지 않으면 0
매핑된 태그필드 매핑에 지정한 필드의 값

플러그인은 다음 시점에 고객을 동기화합니다.

  • 등록된 고객: 가입할 때와 프로필이 저장될 때마다.
  • 게스트 구매자: Sync customers가 켜져 있으면 주문에서.
  • 장바구니를 버린 게스트: 장바구니 이벤트 직전에. 따라서 이벤트가 연결될 사용자가 존재합니다.
  • 계정 이메일을 변경한 고객: 플러그인은 Pushwoosh에서 이전 사용자를 삭제하고 새 사용자를 등록합니다.

Pushwoosh는 일부 연락처를 거부하며 플러그인은 이를 재시도하지 않습니다: 유효하지 않거나 일회용 도메인의 이메일, 휴대폰 번호가 아닌 전화번호. 이러한 항목은 연동이 작동하는지 확인에 설명된 대로 로그에 기록됩니다.

주문 이벤트

Anchor link to

플러그인은 주문 상태가 변경될 때마다 이벤트를 하나씩 보냅니다:

이벤트전송 시점
PW_OrderCreatedSend order events를 켠 후 생성된 주문이 처음 동기화될 때, 그 시점의 상태와 관계없이
PW_OrderUpdated취소를 제외한 이후의 모든 상태 변경. Send order events를 켜기 전에 생성된 주문의 첫 번째 이벤트이기도 합니다.
PW_OrderCanceled주문이 Cancelled로 변경될 때

초안 및 실패한 주문은 이벤트를 보내지 않습니다.

Pushwoosh는 PW_OrderCreated 및 PW_OrderUpdated의 상품도 이메일 제품 블록의 베스트셀러 추천을 위한 판매량으로 집계합니다.

status 속성은 Magento 연동과 동일한 값을 사용하므로 Magento용으로 구축한 Journey를 변경 없이 사용할 수 있습니다. 원래 WooCommerce 상태는 wcStatus에 있습니다:

WooCommerce 상태status
Pending payment, On holdpending
Processingprocessing
Completedcomplete
Refundedclosed
Cancelledcanceled
사용자 정의 상태상태 슬러그 그대로

모든 주문 이벤트에는 다음 속성이 포함됩니다:

속성값
orderId주문 ID
orderNumber고객에게 표시되는 주문 번호
source항상 1
email청구 이메일
customerIdUser ID: 계정 이메일, 게스트의 경우 청구 이메일
items주문한 제품, 아래 참조
createdDate, updatedDate주문이 생성된 날짜와 마지막으로 변경된 날짜, 스토어 시간대 기준
shippingMethod첫 번째 배송 방법의 이름
totalPrice주문 총액
shippingAmount, taxAmount, discountAmount배송비, 세금, 할인 총액
currency주문 통화 코드
status, wcStatus주문 상태, 위 표 참조
historical가져오기로 전송된 과거 주문은 true, 그 외에는 false

items의 각 항목에는 productId, sku, name, description(간단한 설명), price(세금 제외 단가), quantity, imageUrl, productUrl, category(쉼표로 구분된 카테고리 이름)가 있습니다.

PW_OrderCreated 속성 예시:

{
"orderId": "1042",
"orderNumber": "1042",
"source": 1,
"email": "jane@example.com",
"customerId": "jane@example.com",
"items": [
{
"productId": "17",
"sku": "TSHIRT-M",
"name": "T-shirt",
"description": "Cotton T-shirt",
"price": 20.0,
"quantity": 2,
"imageUrl": "https://shop.example.com/wp-content/uploads/tshirt.jpg",
"productUrl": "https://shop.example.com/product/t-shirt/",
"category": "Clothing, T-shirts"
}
],
"createdDate": "2026-09-30T12:00:00+02:00",
"updatedDate": "2026-09-30T12:00:00+02:00",
"shippingMethod": "Flat rate",
"totalPrice": 47.6,
"shippingAmount": 5.0,
"taxAmount": 7.6,
"discountAmount": 5.0,
"currency": "EUR",
"status": "pending",
"wcStatus": "on-hold",
"historical": false
}

버려진 장바구니 이벤트

Anchor link to

장바구니에 이메일이 있고, Cart is abandoned after, minutes보다 오래 변경되지 않았으며, 해당 장바구니에서 주문이 이루어지지 않으면 버려진 장바구니로 간주됩니다:

이벤트전송 시점
PW_AbandonedCart장바구니가 처음 버려졌을 때
PW_AbandonedCartUpdate같은 장바구니가 PW_AbandonedCart 이후 변경되어 다시 버려졌을 때

플러그인은 15분마다 장바구니를 확인하므로 이벤트는 보통 임계값 이후 15분 이내에 도착합니다.

그 전에 쇼핑객이 같은 세션에서 또는 같은 청구 이메일로 주문하면 장바구니가 종료되고 이벤트는 전송되지 않습니다. 종료된 장바구니를 쇼핑객이 다시 채우면 PW_AbandonedCart부터 다시 시작됩니다.

플러그인이 장바구니 이벤트를 보내려면 쇼핑객의 이메일이 필요합니다:

  • 로그인한 쇼핑객: 계정 이메일.
  • 게스트: 결제 시 청구 이메일 필드에 입력한 이메일. 주문이 완료되지 않은 경우에도 해당됩니다.

장바구니 이벤트 속성은 orderId(장바구니 ID), source, email, customerId, items, createdDate, abandonedDate(장바구니가 마지막으로 변경된 시점), shippingMethod, totalPrice, shippingAmount, discountAmount, currency, orderUrl입니다. 장바구니 이벤트에서 상품 가격에는 세금이 포함됩니다.

장바구니 복구 링크

Anchor link to

orderUrl은 쇼핑객의 장바구니를 복원하는 링크입니다. 리마인더의 버튼 링크로 사용하세요:

  • 링크를 열면 저장된 상품이 장바구니에 담기고 쇼핑객이 결제 페이지로 이동합니다. 쇼핑객이 스토어를 한 번도 방문한 적 없는 브라우저를 포함해 모든 브라우저에서 작동합니다.
  • 링크는 누구도 로그인시키지 않습니다.
  • 링크는 14일 동안 유효합니다. 장바구니에서 주문이 이루어지거나 장바구니가 삭제된 후에는 링크가 대신 방문자의 일반 장바구니 페이지를 엽니다.

플러그인을 삭제하면 다시 설치하더라도 복구 링크가 작동하지 않습니다. 링크에 서명하는 키가 플러그인과 함께 삭제되기 때문입니다.

버려진 장바구니 Journey 구축

Anchor link to

이 예시는 장바구니 상품과 장바구니를 복원하는 버튼이 포함된 이메일을 보냅니다. Journey가 쇼핑객의 구매 시점을 알 수 있도록 Send abandoned cart events와 Send order events가 모두 켜져 있어야 합니다.

이메일 생성

Anchor link to

이메일 콘텐츠 편집기에서 이메일을 생성한 다음, 두 가지 방법 중 하나로 장바구니 상품을 표시합니다:

  • 제품 블록: 전송 시점에 Pushwoosh에 저장된 장바구니를 표시합니다. 쇼핑객이 PW_AbandonedCart 이후 장바구니를 변경했다면 이메일에 최신 상품이 표시됩니다.
  • Liquid: Journey를 시작한 PW_AbandonedCart 이벤트의 상품을 직접 작성한 레이아웃으로 표시합니다.

제품 블록으로 상품 표시

Anchor link to
  1. 이메일에 Products 블록을 추가합니다.
  2. Source를 Cart로 설정합니다.
  3. Max products shown을 설정합니다.

Cart 소스를 사용하려면 플랜에 Content Templates가 있고 설정 → API 액세스에 API 액세스 토큰이 있어야 합니다. 토큰이 없으면 이메일을 저장할 수 없습니다.

Liquid로 상품 표시

Anchor link to

Liquid를 사용하여 이메일 본문에 장바구니 내용을 추가합니다. 플레이스홀더는 Journey를 시작하는 PW_AbandonedCart 이벤트에서 값을 가져옵니다:

<p>Your cart total is {{ totalPrice }} {{ currency }}.</p>
<table>
{% for item in items %}
<tr>
<td><img src="{{ item.imageUrl }}" width="64" alt=""></td>
<td><a href="{{ item.productUrl }}">{{ item.name }}</a></td>
<td>× {{ item.quantity }}</td>
<td>{{ item.price }} {{ currency }}</td>
</tr>
{% endfor %}
</table>

복구 버튼 추가

Anchor link to

제품 블록은 장바구니를 복원하는 링크를 추가하지 않으므로, 어떤 방법으로 상품을 표시하든 다음 버튼을 추가하세요:

  1. 이메일에 버튼을 추가합니다.
  2. 버튼 링크를 {{ orderUrl }}로 설정합니다.
  3. 이메일을 저장합니다.

Journey 구축

Anchor link to
  1. PW_AbandonedCart 이벤트로 Trigger-based Entry를 추가합니다.
  2. Wait for Trigger 단계를 추가합니다.
  3. 대기 기간을 설정합니다(예: 1시간).
  4. Wait for Trigger에서 브랜치 이름을 Order placed로 지정합니다.
  5. Order placed 브랜치에 PW_OrderCreated 이벤트를 추가합니다.
  6. Order placed 브랜치를 Exit 요소로 끝내거나 나가는 연결 없이 그대로 둡니다. 쇼핑객이 이미 구매했기 때문입니다.
  7. Not triggered 브랜치를 Email 단계로 연결합니다.
  8. Email 단계에서 생성한 이메일을 선택합니다.
  9. Email 단계에서 Overwrite Liquid placeholders를 켜고 PW_AbandonedCart 이벤트를 선택합니다.
  10. Email 단계 이후의 브랜치를 Exit 요소로 끝내거나 나가는 연결 없이 그대로 둡니다.
  11. Journey를 시작합니다.

플러그인은 PW_AbandonedCart를 보내기 전에 이미 Cart is abandoned after, minutes 동안 기다립니다. Wait for Trigger의 대기 기간은 이 시간에 더해지므로 짧게 유지하세요.

대기 기간은 앞에 별도의 Time Delay 단계를 두지 말고 Wait for Trigger 자체에 설정하세요.

Wait for Trigger는 쇼핑객이 해당 단계에 도달한 후 전송된 PW_OrderCreated만 감지합니다. Time Delay 중에 주문한 쇼핑객도 리마인더를 받게 되며, 그 안의 제품 블록에는 상품이 표시되지 않습니다. 주문이 블록이 장바구니를 읽는 데 사용하는 PW_AbandonedCartID 태그를 지우기 때문입니다.

대신 푸시로 쇼핑객에게 알리려면 Push 단계를 사용하고 Personalize message with event attributes를 켜서 orderUrl 또는 totalPrice를 삽입하세요. Journey의 Dynamic Content 및 Liquid Templates를 참조하세요.

웹 푸시 설정

Anchor link to

웹 푸시를 켜면 모든 스토어프런트 페이지가 Pushwoosh Web SDK를 로드하고, 방문자가 스토어의 알림을 구독할 수 있습니다.

방문자에게 구독을 요청하는 방식을 선택합니다.

  • Subscribe bell on the page (works in every browser): 페이지 모서리에 벨을 표시합니다. 방문자가 벨을 클릭하면 브라우저가 권한을 요청합니다. 이것이 기본값입니다.
  • Ask on page load (Chrome and Edge only): 페이지가 열리자마자 브라우저가 권한을 요청합니다. Safari와 대부분의 경우 Firefox는 클릭 후에만 권한 요청을 표시하므로, 해당 브라우저의 방문자에게는 요청이 표시되지 않습니다.

웹 푸시를 켜려면:

  1. 웹 푸시 구성에 설명된 대로 애플리케이션에 Web 플랫폼이 구성되어 있는지 확인합니다.
  2. WooCommerce → Settings → Pushwoosh에서 Web SDK token을 채웁니다.
  3. Enable web push on the storefront를 켭니다.
  4. Web push subscription에서 방문자에게 구독을 요청하는 방식을 선택합니다.
  5. Save changes를 클릭합니다.
  6. Check connection을 클릭하여 서비스 워커가 로드되는지 확인합니다.

왼쪽 아래 모서리에 녹색 Pushwoosh 구독 벨과 그 옆에 안내 문구가 표시된 스토어프런트 페이지

벨 텍스트, 구독 프롬프트, 기본 알림 제목과 이미지, Safari 설정은 애플리케이션의 웹 푸시 구성에서 변경할 수 있습니다. 이 설정은 플러그인의 기본값보다 우선합니다.

구독자가 고객과 연결되는 방식

Anchor link to

새 구독자는 처음에는 익명입니다. 플러그인은 다음 시점에 구독자를 Pushwoosh의 고객 사용자와 연결합니다:

  • 고객이 로그인한 후.
  • 주문 확인 페이지에서, 게스트를 포함한 모든 구매자에 대해.

고객이 로그아웃하거나 동의를 철회하면 로그인 시 만들어진 연결이 제거됩니다. Require marketing consent가 켜져 있으면 고객이나 주문에 동의가 있는 경우에만 구독자가 연결됩니다.

서비스 워커

Anchor link to

플러그인은 사이트의 /pushwoosh-sw/에서 웹 푸시 서비스 워커를 제공하며, WP Rocket, LiteSpeed Cache, W3 Total Cache의 페이지 캐싱에서 제외합니다. Check connection이 서비스 워커에 대해 잘못된 상태를 보고하면, 해당 URL이 서버에서 차단되거나 캐시되지 않았는지 확인하도록 개발자에게 요청하세요.

서비스 워커는 사이트 전체를 범위로 하므로, PWA 플러그인이나 다른 푸시 제공업체의 서비스 워커처럼 사이트 루트에 등록된 다른 서비스 워커를 대체합니다. 개발자는 pushwoosh_wc_service_worker_imports 필터로 해당 서비스 워커의 스크립트를 추가할 수 있습니다.

기존 고객 및 주문 가져오기

Anchor link to

플러그인을 설치하기 전에 존재하던 고객과 주문은 WooCommerce → Settings → Pushwoosh의 Historical sync 섹션에서 보냅니다:

  • Sync existing customers: Customer 역할을 가진 모든 고객을 등록한 다음, 과거 주문의 게스트 구매자를 등록합니다.
  • Send past orders: PW_OrderCreated를 받은 적이 없는 각 과거 주문에 대해 historical이 true로 설정된 PW_OrderCreated 이벤트를 하나씩 보냅니다. 취소된 주문은 건너뜁니다.

이 섹션에는 각 실행의 진행 상황이 표시됩니다. 두 실행 모두 호출을 대기열에 추가할 뿐이며, Action Scheduler가 백그라운드에서 전송합니다.

대규모 스토어에서는 WP-CLI로 가져오기를 실행하도록 개발자에게 요청하세요. 해당 날짜 이후의 레코드만 가져오려면 --since=YYYY-MM-DD를 추가합니다:

Terminal window
wp pushwoosh sync customers --since=2025-01-01
wp pushwoosh sync orders --historical --since=2026-01-01

개인 데이터 내보내기 및 삭제

Anchor link to

플러그인은 Tools → Export Personal Data 및 Tools → Erase Personal Data의 WordPress 개인 데이터 도구와 함께 작동합니다:

  • Export에는 플러그인이 고객에 대해 보관하는 데이터가 포함됩니다: 동기화된 이메일, 동의 응답, 언어, 추적된 고객의 장바구니.
  • Erase는 해당 데이터와 추적된 고객의 장바구니를 삭제하고, 해당 이메일에 대한 대기 중인 Pushwoosh 호출을 취소하며, Pushwoosh에서 사용자와 해당 연락처를 삭제합니다. 고객이 이후 결제 시 동의 체크박스를 선택하지 않는 한 다시 동기화되지 않습니다.

삭제해도 주문은 제거되지 않습니다. WooCommerce가 보관하는 주문은 상태가 변경되면 여전히 청구 이메일로 주문 이벤트를 보냅니다. 주문 익명화 여부는 WooCommerce 자체 개인정보 설정에서 지정합니다.

Pushwoosh로 보내는 데이터를 스토어의 개인정보 처리방침에 추가하세요.

연동이 작동하는지 확인

Anchor link to
  1. 찾을 수 있는 이메일로 테스트 주문을 하고 동의 체크박스를 선택합니다.
  2. User Explorer를 열고 해당 이메일을 검색합니다.
  3. 사용자에게 firstName, lastName, acceptsMarketing 태그가 있는 이메일 연락처가 있는지 확인합니다.
  4. 사용자의 이벤트에 PW_OrderCreated가 포함되어 있는지 확인합니다.

데이터가 도착하지 않으면 WooCommerce → Status → Logs를 열고 pushwoosh 소스를 선택합니다. 로그에는 실패한 각 호출과 그 이유가 표시됩니다. 토큰은 절대 로그에 기록되지 않으며, 이메일은 마스킹됩니다.

플러그인의 오류 처리 방식:

  • 네트워크 오류 및 일시적인 서버 오류: 1, 5, 15, 60, 240분 후에 호출을 재시도한 다음 오류로 기록합니다.
  • 거부된 데이터(예: 일회용 이메일 도메인의 연락처): 오류로 기록되며 재시도하지 않습니다.
  • 거부된 토큰: 전송이 일시 중지되고 WordPress 관리자 화면에 Resume sending 버튼이 있는 알림이 표시됩니다. 대기 중인 호출은 유지됩니다. 설정에서 토큰을 수정한 다음 Resume sending을 클릭하세요.