단일 웹사이트 SDK는 기업용 기능입니다. 이 기능을 사용하는 데 관심이 있는 경우 고객 성공 관리자에게 문의하세요.
Singular 웹사이트 SDK를 사용하면 웹사이트 활동을 마케팅 터치포인트에 어트리뷰션하고 웹사이트 내에서 사용자 이벤트를 추적할 수 있습니다. 또한 싱귤러의 크로스 디바이스 어트리뷰션 솔루션의 핵심 구성 요소로, 사용자 여정을 분석하고 크로스 플랫폼 LTV 및 ROAS를 계산할 수있게 해줍니다.
자세한 내용은 크로스 디바이스 어트리뷰션 FAQ와 웹 어트리뷰션 FAQ를 참조하세요.
여기에 설명된 네이티브 자바스크립트 버전 외에도, 싱글 웹사이트 SDK는 구글 태그 관리자 템플릿으로도 사용할 수 있습니다.
브라우저 호환성:
Chrome: 15+ | Edge: 15+ | 인터넷 익스플로러 10+ |
Safari: 5.1+ | Firefox: 6+ | Opera: 15+ |
사이트에 SDK 스크립트 추가하기
다음 방법 중 하나를 사용하여 웹사이트 또는 웹 앱에서 SDK를 설정하세요.
Singular의 CDN에서 스크립트에 연결하기
이 방법에서는 싱귤러가 싱귤러의 CDN에서 SDK 자바스크립트 코드를 호스팅합니다.
추적하려는 각 페이지의 <head> 태그 안에 다음 코드를 추가합니다:
<head>
<!-- 최신 SDK 버전 사용 -->
<script src="https://web-sdk-cdn.singular.net/singular-sdk/latest/singular-sdk.js">
</script>
</head>
참고: 위의 코드는 최신 버전의 SDK로 연결됩니다. 특정 버전의 SDK를 사용하려면 다음 코드를 대신 사용하세요:
<head>
<!-- 고정 SDK 버전 사용 -->
<script src="https://web-sdk-cdn.singular.net/singular-sdk/1.4.2/singular-sdk.js">
</script>
</head>
NPM을 사용하여 설정
- 프로젝트의 루트 디렉터리에서 npm i singular-sdk를 실행하거나 "singular-sdk "를 추가합니다: "^1.4.1 "를 package.json 파일의 의존성 섹션에 추가한 다음 npm 설치를 실행합니다.
- SDK를 사용하려는 스크립트에 다음 코드를 추가합니다.
import {singularSdk, SingularConfig} from "singular-sdk";
SDK 초기화
SDK 초기화 코드는 페이지가 로드될 때마다 호출되어야 합니다. 이는 모든 싱글 어트리뷰션 기능의 전제 조건이며, 또한다음과 같은 기능을 수행합니다:
- 사용자가 새 광고 데이터를 가지고 사이트에 들어올 때 또는 세션 시간 제한이 지났을 때 새 사용자 세션을 생성합니다.
- 새로운 '페이지 방문' 이벤트를 싱귤러로 전송합니다.
페이지 방문 이벤트와 사용자 세션은 사용자 리텐션을 계산하고 리인게이지먼트 어트리뷰션을 활성화하는 데 사용됩니다.
1. 싱귤러 컨피그 객체 생성
SDK를 초기화하기 전에 SingularConfig 객체를 생성해야 합니다. 이 객체에는 다음이 포함됩니다:
- SDK 키 및 SDK 시크릿: 이를 찾으려면 Singular 계정에 로그인하여 "개발자 도구 > SDK 통합 > SDK 키"로 이동하세요.
- 제품 ID: 웹사이트의 이름입니다. 기본 웹 도메인의 역방향 DNS 표기법(예: "com.example")을 사용하는 것이 좋습니다. 이는 싱귤러 플랫폼 전체에서 귀하의 웹사이트를 식별하는 데 사용됩니다. 이 값은 싱귤러 플랫폼의 앱 페이지에 있는 앱 번들ID와도 일치해야 합니다.
- 선택 사항으로 SDK 환경설정을 설정할 수 있습니다(자세한 내용은 계속 읽기).
기본 SingularConfig 객체를 만들려면 이 코드를 사용합니다:
const config = new SingularConfig(sdkKey, sdkSecret, productId);
그러나 Singular에서 제공하는 다양한 기능을 활성화하기 위해 설정을 추가하고 싶을 수도 있습니다.
설정을 추가하려면 SingularConfig 객체의 '.with' 메서드를 사용합니다. 예를 들면 다음과 같습니다:
// 사용자 ID를 Singular에 전달하도록 SDK를 구성합니다.
const config = new SingularConfig(sdkKey, sdkSecret, productId)
.withCustomUserId(userId);
SingularConfig 메서드 참조
다음은 사용 가능한 모든 '.with' 메서드입니다.
메서드 | 설명 | 자세히보기 |
.withCustomUserId(customId) | 사용자 ID를 단수로 보내기 | 사용자 ID 설정 |
.withProductName(productName) | 제품의 선택적 표시 이름 | |
.withLogLevel(logLevel) | 로깅 수준 구성: 0 - 없음(기본값), 1 - 경고, 2 - 정보, 3 - 디버그. | |
.withSessionTimeoutInMinutes(timeout) | 세션 타임아웃을 분 단위로 설정합니다(기본값: 30분). |
|
.withAutoPersistentSingularDeviceId (domain) | 자동 교차 하위 도메인 추적 사용 | 쿠키를 사용한 자동지속 |
.withPersistentSingularDeviceId (singularDeviceId) |
수동 교차 하위 도메인 추적 사용 | 단일 디바이스 ID 수동 설정 |
.withInitFinishedCallback(callback) | SDK 초기화가 완료되면 콜백을 호출합니다. | 초기화가 완료되면 콜백 함수 호출하기 |
2. Singular 초기화하기
SingularConfig 객체를 생성한 후, 구성 객체를 전달하여 init 메서드를 사용하여 Singular를 초기화합니다.
init 메서드는 코드의 어느 지점에서나 호출할 수 있지만 이벤트가 보고되기 전에 호출되어야 합니다. 추적하려는 각 페이지가 로드되는 동안 init을 호출하는 것이 좋습니다.
init 메서드 | |
---|---|
설명 | SingularConfig 객체에 설정된 구성 옵션으로 SDK를 초기화합니다. |
시그니처 | init(config) |
사용 예시 |
|
중요: 단일 페이지 애플리케이션(SPA)의 경우, 다른 페이지로 라우팅할 때마다 singularSdk.pageVisit()을 호출하세요. singularSdk.init이 이미 페이지 방문을 보고하므로 로드되는 첫 번째 페이지에서는 singularSdk. pageVisit( )을 호출하지 마세요.
초기화가 완료되면 콜백 함수 호출하기
초기화가 완료되면 콜백 함수가 호출되도록 설정하려면 SingularConfig 객체에서 . withInitFinishedCallback(callback) 을 사용하면 됩니다.
withInitFinishedCallback 메서드 | |
---|---|
설명 | 초기화 프로세스가 완료되면 호출될 콜백을 설정합니다. |
시그니처 | withInitFinishedCallback(callback) |
사용 예시 |
|
싱귤러에 사용자 ID 보내기(선택 사항)
싱귤러 SDK 방법을 사용하여 내부 사용자 ID를 싱귤러에 전송할 수 있습니다.
참고: 싱귤러의 크로스 디바이스 솔루션을 사용하는 경우, 모든 플랫폼에서 사용자 ID를 수집해야 합니다.
- 사용자 ID는 모든 식별자가 될 수 있으며 PII(개인 식별 정보)를 노출해서는 안 됩니다. 예를 들어 사용자의 이메일 주소, 사용자 이름 또는 전화번호를 사용해서는 안 됩니다. 싱귤러는 퍼스트 파티 데이터에만 고유한 해시값을 사용할 것을 권장합니다.
- 또한 Singular에 전달되는 사용자 ID 값은 모든 플랫폼(웹/모바일/PC/콘솔/오프라인)에서 캡처한 내부 사용자 ID와 동일해야 합니다.
- Singular는 사용자 수준 내보내기, ETL 및 내부 BI 포스트백(구성된 경우)에 사용자 ID를 포함합니다. 사용자 ID는 퍼스트 파티 데이터이며, Singular는 이를 다른 당사자와 공유하지 않습니다.
- 싱귤러 SDK 메서드로 설정한 사용자 ID 값은 logout() 메서드를 사용하여 설정 해제하거나 브라우저 로컬 저장소가 삭제될 때까지 유지됩니다. 웹사이트를 닫거나 새로고침해도 사용자 ID는 설정이 해제되지 않습니다.
- 비공개/시크릿 모드에서는 브라우저를 닫으면 로컬 저장소가 자동으로 삭제되므로 SDK가 사용자 ID를 유지할 수 없습니다.
사용자 ID를 설정하려면 login() 방법을 사용합니다. 설정을 해제하려면(예: 사용자가 계정에서 '로그아웃'하는 경우) logout() 메서드를 호출하세요.
참고: 여러 사용자가 하나의 디바이스를 사용하는 경우 로그인 및 로그아웃할 때마다 사용자 ID를 설정하고 설정 해제하는 로그아웃 플로우를 구현하는 것이 좋습니다.
웹사이트에서 Singular SDK를 초기화할 때 사용자 ID를 이미 알고 있는 경우 구성 개체에서 사용자 ID를 설정하세요. 이렇게 하면 Singular가 첫 번째 세션의 사용자 ID를 가질 수 있습니다. 그러나 일반적으로 사용자가 등록하거나 로그인을 수행할 때까지 사용자 ID를 사용할 수 없습니다. 이 경우 등록 흐름이 완료된 후 login() 을 호출하세요.
SingularSDK login() 메서드 | |
---|---|
설명 | 싱귤러에 사용자 ID를 전송합니다. |
서명 | login(customUserId) |
사용 예시 |
|
SingularSDK 로그아웃() 메서드 | |
설명 | 싱귤러로 전송된 사용자 ID를 설정 해제합니다. |
서명 | 로그아웃() |
사용 예시 |
|
중요: 이 고급 엔터프라이즈 기능은 예외적인 경우에만 사용할 수 있습니다.이 기능을 구현하기 전에 싱귤러의 솔루션 엔지니어와 상담하세요.
싱귤러는 서버 간 연동을 통해 추가 모바일 이벤트 추적 데이터를 수신할 수 있습니다. 이 기능을 활용하려면 사용자 ID를 Singular의 모바일 디바이스 추적 식별자에 매핑해야 합니다.
참고: 이 메서드는 싱귤러 SDK를 초기화한 후 또는 사용자 ID를 확보한 후 가능한 한 빨리 호출하세요.
싱귤러 SDK 설정 디바이스 커스텀 유저 아이디 메서드 | |
---|---|
설명 | 사용자 지정 사용자 ID를 로그인과 동일하게 설정하고 이를 싱귤러의 추적 식별자에 매핑합니다. |
서명 | singularSdk.setDeviceCustomUserId(userId) |
사용 예시 |
|
선택 사항입니다: 이벤트 및 수익 추적
이벤트 추적(비수익)
싱귤러는 사이트 내 사용자 이벤트에 대한 데이터를 수집하여 캠페인의 성과를 분석하고 KPI를 측정할 수 있습니다. 예를 들어, 조직에서 사용자 로그인, 등록 또는 튜토리얼 완료에 대한 데이터를 수집하고자 할 수 있습니다.
이벤트 메서드를 사용하여 싱귤러에 이벤트를 보낼 수 있습니다.
참고:
- 타사 파트너 및 분석 솔루션을 사용하려는 경우 타사 파트너 및 분석 솔루션과의 호환성을 보장하기 위해 이벤트 이름과 속성을 영어로 전달할 것을 적극 권장합니다.
- 이벤트 이름은 32자로 제한됩니다. ASCII가 아닌 문자로 된 문자열은 UTF-8로 변환한 후 32바이트 미만이어야 합니다.
- 속성 및 값은 500 ASCII 문자로 제한됩니다.
이벤트 메서드 | |
---|---|
설명 | 추가 정보를 포함하거나 포함하지 않고 사용자 이벤트를 Singular에 보고합니다. |
시그니처 |
singularSdk.event(eventName, args) 참고: 'args'는 키-값 쌍을 가진 자바스크립트 객체입니다. 추가 인수를 전달하지 않으려면 이벤트 이름만 사용하여 이벤트 메서드를 호출하세요. |
사용 예시 |
|
수익 추적
싱귤러는 웹사이트를 통해 얻은 수익에 대한 데이터를 수집하여 캠페인의 성과와 ROI를 분석하는 데 도움을 줄 수 있습니다. 싱귤러는 보고서, 로그 내보내기 및 포스트백에서 데이터를 사용할 수 있도록 합니다.
수익 방식을 사용하여 이벤트를 보고합니다. 수익 방식을 사용하면 사용자 지정 이벤트 이름을 전달할 수 있으므로 Singular 보고서에서 다양한 유형의 수익 이벤트에 따라 분류된 수익을 볼 수 있습니다.
참고: 다른 통화로 보고된 모든 수익은 단수 계정에 설정된 대로 조직의 기본 통화로 자동 변환됩니다.
수익 방법 | |
---|---|
설명 | 선택적 추가 정보와 함께 수익 이벤트를 Singular로 전송합니다. |
서명 |
singularSdk.revenue(eventName, 통화, 금액, args) 참고:
|
사용 예 |
|
선택 사항입니다: 교차 하위 도메인 추적
기본적으로 싱글 웹사이트 SDK는 싱글 디바이스 ID를 생성하고 브라우저 저장소를 사용하여 이를 유지합니다. 이 저장소는 하위 도메인 간에 공유할 수 없으므로 SDK는 각 하위 도메인에 대해 새 ID를 생성하게 됩니다.
하위 도메인에서 단일 장치 ID를 유지하려는 경우 다음 옵션 중 하나를 사용할 수 있습니다:
방법 A: 쿠키를 사용하여 자동 지속
사용자 지정 퍼스트 파티 쿠키를 사용하여 싱귤러 SDK가 싱귤러 디바이스 ID를 유지하도록 할 수 있습니다. 다음 방법을 사용하여 추적하려는 기본 도메인을 설정합니다.
withAutoPersistent싱귤러디바이스아이디 방법 | |
---|---|
설명 | 단일 디바이스 ID 자동 지속을 위한 기본 도메인을 포함한 구성 옵션으로 SDK를 초기화합니다. |
서명 | withAutoPersistentSingularDeviceId(도메인) |
사용 예시 |
|
방법 B(고급): 단일 장치 ID 수동으로 설정
싱귤러 SDK가 자동으로 디바이스 ID를 유지하지 않도록 하려면 최상위 도메인 쿠키 또는 서버 측 쿠키를 사용하는 등 여러 도메인에서 ID를 수동으로 유지할 수 있습니다. 이 값은 이전에 Singular에서 생성한 유효한 uuid4 형식의 ID여야 합니다.
참고: init 메서드를 호출한 후 singularSdk.getSingularDeviceId()를 사용하여 Singular 디바이스 ID를 읽거나 InitFinishedCallback을 사용할 수 있습니다.
withPersistentSingularDeviceId 메서드 | |
---|---|
설명 |
지속하려는 단일 디바이스 ID를 포함한 구성 옵션으로 SDK를 초기화합니다. |
시그니처 | withPersistentSingularDeviceId(singularDeviceId) |
사용 예시 |
|
선택 사항입니다: 매치 ID 가져오기
중요: 이 기능은 고급 기능입니다. 구현하기 전에 싱귤러의 솔루션 엔지니어와 상담하세요.
싱귤러는 사용자별 결정론적 고유 매치 ID를 기반으로 PC 및 콘솔 플랫폼에서 서버 간 설치를 어트리뷰션할 수 있습니다. 이 기능을 활용하려면 초기화 후 싱귤러의 웹 SDK에서 매치 ID를 검색하세요.
getMatchID 메서드 | |
---|---|
설명 | 이 웹 세션의 고유한 매치 ID를 가져옵니다. |
시그니처 | singularSdk.getMatchID() |
사용 예시 |
|