브라우저 SDK (sdk-web)
브라우저에서 회원가입·리드·커스텀 전환 이벤트를 전송하는 @edgelink/sdk-web 사용법
브라우저 SDK (@edgelink/sdk-web)
@edgelink/sdk-web은 고객 사이트의 브라우저에서 회원가입·리드·커스텀 이벤트를 Edgelink로 전송하는 5KB(gzip) 미만의 경량 SDK입니다.
설치
CDN 스크립트 태그가 표준 설치 방식입니다. 별도 npm 설치는 필요하지 않습니다.
<script
async
src="https://cdn.edgelink.me/sdk/v1/edgelink.iife.js"
data-publishable-key="pk_live_xxxxxxxxxxxx"
></script>
data-publishable-key 속성에 발급받은 publishable 키(pk_live_* 또는 pk_test_*)를 넣습니다. live와 test를 분리해 발급받아 스테이징·프로덕션에서 각각 사용하세요.
주요 동작
스크립트가 로드되면 SDK는 자동으로 다음 작업을 수행합니다:
- URL의
?el_cid=파라미터를 감지하여_el_cid쿠키에 저장 (90일,SameSite=Lax) - GPC/DNT 신호 감지 — 신호가 있으면 모든 이벤트를 no-op 처리
window.edgelink함수 노출 — 스니펫보다 먼저 호출된 큐(stub)는 자동 drain
이벤트 전송
회원가입 추적
<script>
edgelink('track', 'signup', {
externalUserId: 'user-1234',
customerEmailHash: 'hashed-email-or-null',
})
</script>
| 필드 | 타입 | 설명 |
|---|---|---|
| 이벤트명 | string | 자유 식별자. 예: signup, subscribe |
externalUserId | string? | 고객사 측 user ID — 후속 이벤트와 동일 사용자 매칭에 사용 |
customerEmailHash | string? | 이메일 SHA-256 해시(lowercase) — 평문 금지 |
externalEventId | string? | 멱등키 — 동일 키 재전송 시 중복 저장 안 됨 |
커스텀 이벤트
<script>
edgelink('track', 'video-completed', { videoId: 'intro-2026' })
</script>
metadata는 자동 분리되어 저장됩니다. 8KB를 초과하면 거부됩니다.
사용자 식별 (identify)
회원가입 직후 클릭과 사용자를 묶어 두면, 사용자가 다른 기기로 로그인해도 매칭이 유지됩니다(후속 spec).
<script>
edgelink('identify', 'user-1234', { plan: 'pro' })
</script>
에러 처리
SDK는 4xx 응답을 즉시 폐기하고 console에 경고만 표시합니다. 5xx·network 에러는 localStorage 큐로 백오프 재시도합니다(최대 24시간).
| 응답 | 동작 |
|---|---|
| 200 | 정상 처리 |
| 400 INVALID_PAYLOAD | 즉시 폐기 + console.warn |
| 401 INVALID_KEY | 즉시 폐기 + console.error |
| 401 ORIGIN_NOT_ALLOWED | 즉시 폐기 + console.error (allowedOrigins 점검 필요) |
| 403 CONVERSION_TRACKING_NOT_ENABLED | 즉시 폐기 + console.error (Pro 플랜 활성 필요) |
| 410 CLICK_EXPIRED | 즉시 폐기 |
| 429 RATE_LIMITED | Retry-After 헤더 존중하여 재큐잉 |
| 5xx | 지수 백오프 재시도 |
허용 Origin 설정
publishable 키 발급 시 허용 Origin 목록을 설정합니다. Origin 헤더가 일치하지 않으면 ORIGIN_NOT_ALLOWED 에러로 거부됩니다.
https://myshop.com
https://*.myshop.com (단일 서브도메인)
localhost / 127.0.0.1 / *.local은 test 모드 키에서 자동 허용됩니다.
다음 단계
- Node SDK 가이드 — 매출 이벤트는 서버에서
- API 레퍼런스 — 직접 HTTP 호출이 필요할 때