Klaviyo 고객 허브를 헤드리스 Shopify 스토어프런트에 연결하세요. 로그인을 활성화하고, 위젯(즐겨찾기, FAQ)을 노출하며, 활성/최근 본 상품 경험을 강화해 참여 유도와 전환을 높이세요.

학습 내용

Klaviyo 고객 허브를 헤드리스 Shopify 스토어프런트에 연결하고, 로그인 방법을 선택한 다음, 쇼핑객이 사이트 전체에서 액세스할 수 있도록 허브를 게시할 거예요.

Shopify용 Klaviyo 고객 허브는 현재 표준 스토어프런트와 Shopify Headless를 지원해요. WooCommerce의 경우 https://help.klaviyo.com/hc/en-us/articles/47792369863451 로 이동해 주세요.

Klaviyo 고객 허브 기능에 대한 피드백은 customerhub@klaviyo.com으로 이메일을 보내 주세요.

시작하기 전에 알아야 할 것

필수 항목

  1. Storefront API에 액세스할 수 있는 헤드리스 Shopify 스토어프론트(Shopify 헤드리스 관리자에서 공개 액세스 토큰/Storefront API 공개 키).
  2. 온사이트 JavaScript 로더에서 사용하는 Klaviyo 회사 ID 입니다.
  3. 쇼퍼 로그인 결정: Shopify Customer Account API 또는 Klaviyo 일회용 비밀번호(OTP).
    1. 기존 계정을 사용하는 경우 스토어프런트의 로그인, 로그아웃, (선택 사항) 계정 관리 및 주소 관리 경로를 준비해 주세요.
  4. 스토어프런트 코드를 편집하고 변경 사항을 배포할 수 있어요.
  5. 설정할 수 있는 사람: Klaviyo 고객 허브 설정을 편집하고 위젯을 게시할 수 있는 계정 역할이 필요해요(소유자, 관리자 또는 콘텐츠 및 API 키에 대한 쓰기 권한이 있는 사용자 지정 역할).

개요

Klaviyo 고객 허브는 사이트 전체에 표시되는 오버레이로, 쇼핑객이 계정 작업과 유용한 쇼핑 도구에 더 빠르게 액세스할 수 있도록 해줘요. 헤드리스 Shopify의 경우, Klaviyo의 온사이트 스크립트를 연결하고 로그인 방법(고객 계정 API 또는 Klaviyo OTP)을 선택한 다음, 선택적으로 다음을 추가할 수 있어요:

  1. 활성 제품: Hub에서 쇼핑객이 보고 있는 제품을 표시해요.
  2. 최근 본 항목: Klaviyo의 트래킹을 사용해 최근에 본 제품 목록을 표시해요.
  3. 즐겨찾기FAQ 위젯: PDP와 허브 내에서 렌더링돼요. 

페이지 내 지원 레이어로 상품 탐색을 유도하고 더 빠른 결제를 지원해 전환과 생애 가치를 개선하고 싶을 때 Klaviyo 고객 허브를 사용하세요.

설치

1 - Klaviyo 고객 허브 설정 구성

먼저 Klaviyo 고객 허브 시작하기 를 따라 다른 설정과 마찬가지로 온보딩 마법사를 완료하세요. 완료되면 Klaviyo 고객 허브 > 설정으로 이동하세요. 헤드리스 Shopify 구성 섹션이 표시됩니다.

Headless Shopify 구성을 켠 다음, Shopify Headless 관리자(공개 액세스 토큰)에서 Storefront API 공개 키를 붙여넣으세요.

Shopper login에서 Shopify Customer Account API(권장, 모든 스토어프론트 앱이 Shopify의 로그인을 공유할 수 있음) 또는 Klaviyo 일회용 비밀번호(OTP, Klaviyo에서만 작동하며 쇼퍼가 다른 앱에는 로그인되지 않음)를 선택해 주세요.

Shopify Customer Account API를 선택하는 경우 스토어프론트의 로그인, 로그아웃, 그리고 선택 사항인 계정 관리/주소 관리 경로(허브와 사이트 간 리디렉션에 사용됨)도 입력하세요.

게시 공개 범위: Klaviyo 고객 허브라이브로 설정하세요.

2 - Klaviyo 고객 허브 JavaScript 로드(개발자 안내)

팁: 이미 Klaviyo 온사이트 기능을 실행 중이라면 로더가 이미 설정되어 있을 수 있어요. 두 번째 스크립트를 추가하기 전에 확인하세요.

다음 로더가 포함된 /public/customerHub.js(또는 이에 상응하는 파일)를 생성하세요(COMPANY_ID를 Klaviyo 공개 API 키(Company ID라고도 함)로 바꾸세요):

auto
// customerHub.js
// TODO: Configuration
const COMPANY_ID = '';
const script = document.createElement('script');
script.src = `https://static.klaviyo.com/onsite/js/${COMPANY_ID}/klaviyo.js`;
script.async = true;
script.onload = () => { console.log('Klaviyo JS script loaded successfully'); };
script.onerror = () => { console.error('Failed to load Klaviyo JS script'); };
document.body.appendChild(script);

온사이트 스크립트는 모든 페이지에서 로드돼요. 콘솔 메시지를 확인하세요: “Klaviyo JS script loaded successfully.”  루트 레이아웃(예: root.tsx)에서 로더를 포함하세요:

auto
// root.tsx
return (
  <html>
    <body>
      <script src="/customerHub.js" defer></script>
    </body>
  </html>
)

이 단계 후 window.customerHubApi 는 Hub가 실행되는 페이지에서 사용할 수 있습니다.

3 - Klaviyo 고객 허브에서 활성 제품 표시

현재 제품이 Hub에 표시되도록 제품 상세 페이지(PDP)에 hydrate 호출을 추가하세요:

auto
<!-- products.tsx -->
<script type="text/javascript">
  (function() {
    function waitForCustomerHubApi() {
      return new Promise((resolve) => {
        const check = () => {
          if (window.customerHubApi && window.customerHubApi.hydrateProduct) {
            resolve();
          } else {
            requestAnimationFrame(check);
          }
        };
        check();
      });
    }
    waitForCustomerHubApi().then(() => {
      window.customerHubApi.hydrateProduct("your-product-handle");
    });
  })();
</script>

활성화한 경우, 이제 Hub의 "채팅" 탭에서 쇼핑객이 보고 있는 PDP에 대한 추가 제품 카드가 표시됩니다.

4 - Klaviyo 고객 허브에서 최근 본 제품 활성화하기

Hub에서 최근 본 항목을 채울 수 있고 Klaviyo의 다른 곳에서 이 지표를 사용할 수 있도록 Viewed Product 트래킹을 구현하세요. 다음 트래킹 스니펫은 스토어프런트에 직접 추가할 수도 있으며, 지침은 Klaviyo 개발자 문서에서 확인할 수 있어요: 사전 구축된 Klaviyo 연동 없이 전자상거래 플랫폼 연동하기.

5 - 계정 링크 탈취 활성화

스토어프런트 헤더의 계정 아이콘을 클릭해 Klaviyo 고객 허브가 열리게 하려면, /account가 포함된 링크를 참조하는 기존 a 태그가 이미 있어야 해요(이 경우 자동으로 대체해 드려요). 또는 아이콘 링크가 #k-hub를 가리키도록 수동으로 정의하여 서랍을 열 수도 있어요.

6 - 고객 계정 API 인증으로 Klaviyo 고객 허브 설정(권장)

기존 스토어프론트의 고객 계정 및 인증 설정을 사용하려면, Klaviyo 고객 허브에서 로그인한 쇼퍼의 액세스 토큰을 서비스로 안전하게 전달하는 처리를 담당할 새 API 경로를 스토어프론트에 추가해야 해요. 중요한 점은 새 API 경로에 이름이 지정되어 있고 ‘/api/authenticateCustomerHub’로 접근할 수 있어야 한다는 거예요.

참고: 다음 코드 조각 예시는 Shopify의 Hydrogen 프레임워크용이에요. 더 맞춤화된 스토어프론트는 추가적인 해결 방법이 필요할 수 있지만, 일반적인 접근 방식은 여기에서 설명할게요.

text
// ./app/routes/api.authenticateCustomerHub.js
// TODO: Configuration
const COMPANY_ID = '';
export async function action({context}) {
  // Pull the Customer Account API Client from your storefront's context
  const {customerAccount} = context;
  try {
    // Get the access token for the current customer
    const accessToken = await customerAccount.getAccessToken();
    if (!accessToken) {
      return new Response(JSON.stringify({message: 'User not logged in'}), {
        status: 200,
      });
    }
    // Send the access token to the Customer Hub API
    const response = await fetch(
      'https://atlas-app.services.klaviyo.com/api/onsite/headless-shopify-login',
      {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
        },
        body: JSON.stringify({
          access_token: accessToken,
          company_id: COMPANY_ID,
        }),
      },
    );
    const responseData = await response.text();
    // Return the actual response from Customer Hub with the same status code
    return new Response(responseData, {
      status: response.status,
      headers: {
        'Content-Type':
          response.headers.get('content-type') || 'application/json',
      },
    });
  } catch (error) {
    return new Response(null, {status: 500});
  }
}

이 구성이 완료되고 Klaviyo 설정에서 스토어프론트 라우트도 정의되면, Klaviyo 고객 허브는 기존 인증 설정에 연결하고 기존 고객 계정으로 원활하게 진입할 수 있는 시작점을 제공할 수 있어요.

7 - 즐겨찾기 위젯 추가(권장)

즐겨찾기와 FAQ는 모두 Klaviyo 고객 허브 서랍 내에서 작동합니다. 하지만 추가 참여 유도를 위해 PDP에도 이러한 위젯을 추가할 수 있어요.

PDP 및 Hub 내에 즐겨찾기 진입점을 추가하려면:

auto
// products.tsx
// Example identifiers:
//   id: gid://shopify/Product/12345
//   data-product-id: 12345
const gid = "gid://shopify/Product/12345";
const productId = gid.split('/').pop();

return (
  <div
    className="kl-hub-favorites-slot"
    data-product-id={productId}
  />
)

쇼핑객은 이제 PDP에서 즐겨찾기에 추가를 클릭할 수 있으며, 해당 항목은 Hub의 즐겨찾는 항목에 표시돼요.

8 - FAQ 블록 추가(권장)

즐겨찾기를 추가하는 것과 마찬가지로, FAQ 블록을 추가하는 것은 제품 페이지에 제품 ID를 전달하는 div를 추가하기만 하면 간단히 완료돼요. 그러면 Klaviyo에서 편집하고 디자인할 수 있는 FAQ가 렌더링돼요.

Klaviyo에서 디자인한 제품별 FAQ 블록을 추가하세요:

auto
// products.tsx
// Example:
const gid = "gid://shopify/Product/12345";
const productId = gid.split('/').pop();

return (
  <div className="klaviyo-faqs-slot" data-product-id={productId} />
)

FAQ 칩/버튼은 설정되어 있는 경우 이제 PDP에서 렌더링되어야 하며, Klaviyo에서 편집할 수 있어요.

모범 사례

  1. 검증 후에만 프로덕션에 게시 — QA가 완료될 때까지 스테이징을 숨겨 두고, 완료되면 라이브를 설정해 Hub를 노출하세요. 영향: 지원 문제 감소, 가치 실현까지의 시간 단축.
  2. PDP에서는 항상 활성 제품을 하이드레이션하세요 ― Hub에서 제품 컨텍스트가 보이도록 유지하고 장바구니 추가를 유도해요. 영향: 전환율, 재구매율.
  3. Viewed Product 트래킹을 일찍 구현하세요 ― Recently viewed에 데이터를 채우고, 탐색 기반 플로우를 사용할 수 있어요. 영향: 탐색 복구에서 참여 유도와 매출이 증가해요.
  4. 즐겨찾기 추가 ― 마찰이 적은 저장 동작과 지속적인 후보 목록을 만들어요. 영향: 재방문, 장바구니 추가.
  5. FAQ로 반대 의견에 대응하기 — 배송, 소재 또는 반품 관련 질문에 인라인으로 답변해 이탈을 줄이세요. 영향: 전환율.
  6. 가능한 경우 Customer Accounts API를 사용하는 서버 측 인증을 선호 하세요. 로그인한 쇼퍼의 연속성이 개선됩니다. 영향: 경험 품질, 지원 문의 감소. 

성공 측정

결과 확인 위치: 분석 > 지표에서 Viewed Product 활동과 이후의 플로우/캠페인 성과를 모니터링하세요. Klaviyo 고객 허브를 활성화한 후 전환과 평균 주문 금액 변화를 추적하려면 전자상거래 수익 대시보드를 사용하세요. 확인해야 할 주요 지표: PDP의 전환율, 장바구니 추가율, 허브 열기 세션(계측된 경우), 수신자당 수익(RPR), Viewed Product 이벤트에 연결된 탐색 기반 수익을 확인하세요. 빠른 수정 체크리스트: 최근 본 항목 활동이 낮나요? Viewed Product 트래킹 스니펫이 정상적으로 실행되고 이벤트가 프로필에 귀속되는지 확인하세요. 허브에서 장바구니 추가가 낮나요? 모든 PDP에서 활성 제품 하이드레이션이 실행되고, 같은 이메일의 다른 버전/가격이 정확한지 확인하세요. 즐겨찾기 추가가 적나요? 즐겨찾기 슬롯을 핵심 PDP CTA 근처로 옮기고 data-product-id가 제품과 일치하는지 확인하세요. 

문제 해결

증상: Klaviyo 고객 허브가 사이트에 표시되지 않습니다.

가능성이 높은 원인: 스크립트가 로드되지 않거나 Hub가 숨김 상태예요.

수정: customerHub.js가 로드되는지(콘솔 확인) 확인하고, 회사 ID가 설정되어 있으며, Klaviyo 고객 허브 표시 상태가 Live 인지 Klaviyo 고객 허브 > Settings에서 확인하세요.

증상: 콘솔에 “Klaviyo JS 스크립트를 로드하지 못했습니다.”라고 표시돼요.

가능성이 높은 원인: 스크립트 URL이 올바르지 않거나 회사 ID가 누락되었어요.

해결 방법: https://static.klaviyo.com/onsite/js/<COMPANY_ID>/klaviyo.js를 확인하고, COMPANY_ID가 채워져 있는지 확인해 주세요.

증상: PDP의 Hub에 활성 Product 카드가 표시되지 않아요.

가능한 원인: hydrateProduct가 호출되지 않았거나 제품 핸들이 잘못되었습니다.

수정: 대기 루프가 실행되도록 하고 window.customerHubApi.hydrateProduct("<handle>")를 호출하세요. 올바른 제품 핸들과 함께요.

증상: 최근 조회한 섹션이 비어 있어요.

가능한 원인: Viewed Product 트래킹이 구현되지 않았습니다.

해결: 개발자 가이드의 Viewed Product 트래킹 스니펫을 추가하고 Klaviyo에서 이벤트를 확인하세요.

증상: 즐겨찾기 또는 FAQ 위젯이 PDP에 렌더링되지 않아요.

가능성이 높은 원인: 컨테이너가 누락되었거나 속성이 잘못되었어요.

해결 방법: 올바른 제품 ID와 함께 <div class="kl-hub-favorites-slot" data-product-id="..."> 및/또는 <div class="klaviyo-faqs-slot" data-product-id="...">를 추가하세요.

증상: 계정 아이콘을 클릭해도 허브가 열리지 않아요.

가능성이 높은 원인: 헤더 링크가 /계정 또는 #k-hub를 가리키지 않아요.

수정: 계정 앵커가 /account(자동 인수)를 사용하도록 하거나 href="#k-hub"로 설정하세요.

증상: 허브 내에서 쇼핑객이 로그인한 상태로 인식되지 않아요.

가능성이 높은 원인: /api/authenticateCustomerHub 경로가 누락되었거나 API 요청이 실패했어요.

수정: Hydrogen 예시(또는 사용 중인 프레임워크의 동등한 방식)를 구현하고, access_token과 company_id를 Klaviyo의 로그인 엔드포인트로 전송한 다음, 응답을 반환하세요.

자주 묻는 질문

Q: 로그인에 Shopify Customer Accounts API를 꼭 사용해야 하나요?

A: 아니요. 대신 Klaviyo 일회용 비밀번호(OTP)를 사용할 수 있어요. 이미 Shopify 계정을 사용 중이라면 Customer Accounts API를 통해 연결하여 원활한 경험을 제공하세요.

Q: 제공해야 하는 스토어프론트 라우트는 무엇인가요?

A: 기존 계정을 사용하는 경우 로그인로그아웃 라우트를 제공하세요. 계정 관리주소 관리는 더 심층적인 링크를 위해 선택 사항이에요.

Q: Storefront API 공개 키는 어디에서 찾을 수 있나요?

A: Shopify의 Headless 관리자에서 Storefront API > Public access token (Storefront API public key라고도 함) 아래에 있어요.

Q: Klaviyo 고객 허브가 제 계정 아이콘을 대신할 수 있나요?

A: 네. 헤더의 계정 링크가 /account를 사용하면 Klaviyo 고객 허브가 자동으로 열릴 수 있으며, #k-hub로 연결되도록 지정할 수도 있어요.

Q: Shopify Hydrogen이 필수인가요?

A: 아니요. 인증 예시는 Hydrogen을 사용하지만, 어떤 프레임워크든 /api/authenticateCustomerHub에서 액세스 토큰과 company_id를 Klaviyo로 POST하는 서버 경로를 구현할 수 있어요.

Q: 즐겨찾기와 FAQ를 PDP와 Hub 내부에 둘 수 있나요?

A: 네. PDP에 해당 컨테이너 div를 추가하면 Hub 서랍에도 표시돼요.

이 도움말 문서가 유용했나요?
이 형식은 도움말 문서 피드백 용도로만 사용하세요. 지원 팀에 문의하는 방법.

Klaviyo에서 자세히 살펴보기

커뮤니티
동료, 파트너, Klaviyo 전문가와 연결되어 영감을 받고 인사이트를 공유하며, 모든 궁금한 사항에 대해 답을 얻으세요.
파트너
특정 작업을 도와주거나 지속적인 마케팅 관리를 위해 Klaviyo 인증 전문가를 고용하세요.
지원

계정을 통해 지원에 액세스하세요.

이메일 지원 (무료 체험 및 유료 계정) 연중무휴 24시간 사용 가능

채팅/가상 비서
사용 가능 여부는 위치 및 요금제 유형에 따라 다름