ConverlayConverlay

사용자 식별

converlay.identify()를 사용하여 현재 방문자를 고객 데이터와 연결합니다. 이를 통해 Meta CAPI, TikTok Events API 같은 광고 플랫폼에서의 매칭률이 향상됩니다.

API

identify()
converlay.identify({
  customerId: 'cust_12345',
  email: 'jane@example.com',
  phone: '+15551234567',
  firstName: 'Jane',
  lastName: 'Doe',
})

IdentifyData 필드

필드타입설명
customerIdstring내부 고객 ID
emailstring고객 이메일 주소
phonestring전화번호(E.164 형식 권장)
firstNamestring고객의 이름
lastNamestring고객의 성

PII 해시 처리

모든 개인 식별 정보(이메일, 전화번호, 이름)는 평문으로 Converlay 수집 엔드포인트에 전송된 후, 광고 플랫폼으로 전달되기 전에 서버에서 SHA-256으로 해시 처리됩니다. 해시 처리 전에 국가별 정규화(소문자 변환, 공백 제거, 전화번호 형식화)가 적용됩니다.

identify를 호출할 시점

  • 로그인 후 — 고객이 인증되는 즉시
  • 결제 시 — 배송/청구 정보를 확인할 수 있을 때
  • 계정 페이지에서 — 고객이 프로필을 조회하거나 업데이트할 때

식별 데이터는 현재 세션 동안 유지됩니다. 이후의 track() 호출에는 식별된 사용자의 데이터가 자동으로 포함됩니다.

예시

로그인 후

typescript
async function handleLogin(email, password) {
  const user = await api.login(email, password)

  // Identify after login
  converlay.identify({
    customerId: user.id,
    email: user.email,
    firstName: user.firstName,
    lastName: user.lastName,
  })
}

결제 완료 시

typescript
function onCheckoutComplete(order) {
  // Identify + track purchase
  converlay.identify({
    customerId: order.customerId,
    email: order.email,
    phone: order.phone,
    firstName: order.shippingAddress.firstName,
    lastName: order.shippingAddress.lastName,
  })

  converlay.track('purchase', {
    ecommerce: {
      transaction_id: order.id,
      value: order.total,
      currency: order.currency,
      items: order.lineItems.map(item => ({
        item_id: item.variantId,
        item_name: item.title,
        price: item.price,
        quantity: item.quantity,
      })),
    },
  })
}