러더스택 - 단일 대상(클라우드 모드)

문서

러더스택은 기업이 고객 데이터를 수집, 연동, 다양한 목적지로 라우팅할 수 있도록 지원하는오픈소스 고객 데이터 플랫폼(CDP)입니다. 고객 데이터 파이프라인을 관리할 수 있는 중앙 집중식 플랫폼을 제공하여 웹사이트, 모바일 앱, 서버, 클라우드 서비스 등 다양한 소스에서 데이터를 쉽게 수집할 수 있도록 지원합니다.

Singular는 iOS 및 Android 모바일 활동에 대한 Singular 서버 간(S2S) REST API를 통해 러더스택으로부터 이벤트 데이터를 수신할 수 있습니다. 이를 "클라우드 모드" 대상이라고 합니다. 아래 지침은 Rudderstack에서 Singular 대상을 추가하는 방법을 설명합니다.

대상 가이드 엔지니어링 팀
전제 조건 이 문서에서는 앱에이미 Rudderstack iOS 또는 Android SDK가 연동되어있다고 가정합니다.

이 연동을 사용하려면 Rudderstack의 모바일 SDK를 사용 중이어야 합니다. 이 연동은 비모바일 이벤트 데이터와 호환되지 않습니다. 서버 또는 웹 이벤트는 지원되지 않습니다.

러더스택은 "클라우드 모드"를 통해 싱귤러로 보낼 수 있는 두 가지 유형의 트랙 이벤트를 지원합니다:

  • 세션 이벤트
  • 사용자 지정 이벤트
지원되는 이벤트
  1. 기본 인스톨 어트리뷰션
  2. 구글 인스톨 리퍼러 어트리뷰션
  3. SkAdNetwork 버전 3 지원 (수동 모드)
  4. 애플 검색 광고 어트리뷰션
  5. 맞춤형 인앱 이벤트 추적
  6. 구매 추적
  7. 맞춤 사용자 ID
  8. 추적 제거
지원되지 않는 항목
  1. SkAdNetwork 버전 4 지원
  2. 전환 모델용 SkAdNetwork 관리 모드
  3. 메타 인스톨 리퍼러 어트리뷰션
  4. 딥링킹
  5. 제한된 데이터 공유 지원

싱귤러가 제공하는 '전체 기능'에 대한 S2S 지원이 필요한 경우, 러더스택과 별도로 싱귤러 S2S REST API를 구현해야 합니다. 서버 간(S2S) 연동 가이드는 여기를 참조하세요.

시작하기

  1. RudderStack 대시보드에서 소스를 추가합니다. 그런 다음 대상 목록에서 Singular를 선택합니다.
  2. 대상에 이름을 지정하고 계속을 클릭합니다.

연결 설정

Singular를 대상으로 성공적으로 구성하려면 다음 설정을 구성해야 합니다:



  • API 키: 여기에 Singular "SDK 키"를 입력합니다. 이 필드는 필수 입력 항목입니다.

    Singular 대시보드의 "개발자 도구 > SDK 연동 > SDK 키" 아래에서 Singular "SDK 키"를 받습니다.


    참고: "클라우드 모드" 연동의 경우, API 키(SDK 키) 값만 입력합니다.
    "비밀"은 비워둡니다.

  • 세션 이벤트 이름: 세션 이벤트로 사용할 이벤트 이름을 입력합니다. 이 설정은 클라우드 모드를 통해 이벤트를 전송하는 경우에만 적용됩니다.

    러더스택은 싱귤러 런치 API를 통해 세션 이벤트를 싱귤러로 전송합니다.

    이벤트가 대시보드 설정에 지정되어 있거나 다음 세 가지 수명 주기 이벤트 중 하나에 해당하는 경우에만 이벤트를 세션 이벤트로 간주합니다:

    • 애플리케이션 설치됨
    • 애플리케이션이 열림
    • 애플리케이션 업데이트됨

    라이프사이클 이벤트 추적이 활성화된 경우 RudderStack은 위의 세 가지 라이프사이클 이벤트를 자동으로 추적합니다.

  • 이벤트를 전송하려면 기기 모드를 사용합니다: '클라우드 모드'를 사용할 때는 이 토글을 비활성화해야 합니다. Android 또는 iOS 플랫폼을 사용하는 경우 이 설정을 활성화하여 디바이스 모드를 통해 이벤트를 전송할 수 있습니다. 그런 다음 Singular 디바이스 모드 가이드에서 프로젝트에 Singular를 추가하는 단계를 따르세요.

세션 이벤트 요구 사항

지원되는 세션 이벤트 매핑

러더스택 모바일 SDK에서 자동으로 캡처되는 속성

이 섹션에서는 RudderStack 이벤트 속성의 관련 Singular 필드에 대한 매핑을 나열합니다.

다음 표에는 모바일 플랫폼(AndroidiOS) 에 대해 RudderStack이 자동으로 캡처하는 속성의 매핑이 나열되어 있습니다:

러더스택 속성 Singular 속성 존재 여부 설명
context.os.name
p
필수 소스 플랫폼(Android 또는 iOS)입니다.
context.app.namespace
i
필수 앱의 패키지 이름(Android) 또는 번들 ID(iOS)입니다.
context.app.version
app_v
필수 앱 버전입니다.
context.ip / request_ip 
(순서대로)
ip
필수 사용자의 IP 주소. IP 익명화에 대한 자세한 내용은 아래 참고 사항을 참조하세요.
context.os.version
ve
필수 세션 시점의 디바이스 OS 버전입니다.
context.device.model
mo
필수 디바이스 모델입니다. 이 매개변수는 ma 매개변수와 함께 사용해야 합니다.
context.device.manufacturer
ma
필수 장치 하드웨어의 제조업체입니다. 이 파라미터는 mo 파라미터와 함께 사용해야 합니다.
context.locale
lc
필수 밑줄로 구분된 두 글자로 된 언어와 국가 코드를 사용하는 장치의 IETF 로컬 태그입니다.
context.device.id
idfv
필수 대시를 포함한 대문자로 된 원시 IdentifierForVendor입니다. iOS 앱에만 적용됩니다.
context.device.id
andi
필수 소문자로 된 원시 Android ID입니다. Android 앱에만 적용되며 기기에서 Android 광고 ID를 사용할 수 없는 경우에만 필요합니다.
context.app.build
bd
필수 디바이스 빌드(URL 인코딩)입니다.
context.device.adTrackingEnabled
dnt
필수 do not track(dnt)가 비활성화(dnt=0)된 경우 참을 전달하고, 그렇지 않으면 거짓(dnt=1)을 전달합니다. 광고 ID를 SDK에 전달하면 자동으로 캡처됩니다.
context.app.name
n
선택 사항 UI에 표시되는 사람이 읽을 수 있는 앱 이름입니다.
utime
선택 사항 세션 시간(UNIX 시간 기준)입니다.
context.network.wifi
c
선택 사항 연결 유형(WiFi 또는 통신사)입니다.
context.network.carrier
cn
선택 사항 인터넷 제공업체의 통신사 이름입니다.

IP를 익명화하려면 context.ip 필드에 자리 표시자 IP를 보낼 수 있습니다. 러더스택은 백엔드에서 자동으로 캡처하는 대신 이를 IP 주소로 사용합니다. 모바일 SDK의 경우 클라우드 모드를 통해 이벤트를 전송할 때 변환 기능을 활용하여 이 작업을 수행할 수 있습니다.

이벤트 속성을 통해 전달해야 하는 속성

다음 표에는 이벤트 속성을 통해 전달해야 하는 속성의 매핑이 나와 있습니다 :

이러한 속성은 SDK에서 유지되지 않으며 모든 이벤트와 함께 전달되어야 합니다.

러더스택 속성 Singular 속성 존재 여부 설명
properties.install_ref
install_ref
필수 Google 설치 리퍼러 정보입니다.
properties.referring_application
install_source
필수 Android의 설치 소스 패키지 이름입니다. 이 정보를 검색하려면 getInitiatingPackageName()을 사용합니다.
properties.install_receipt
install_receipt
필수 설치에서 받은 영수증입니다. 이를 검색하려면 iOS 설치 영수증 가이드를 따르세요.
properties.asid
asid
필수 Android v12 이상 기기의 앱 세트 ID입니다.
properties.url
openui
필수 앱이 딥링크/유니버설 링크를 통해 열린 경우 인코딩된 딥링크 URL의 값입니다.
context.device.attTrackingStatus
att_authorization_status
필수 앱 추적 투명성 인증 상태.
userId
custom_user_id
선택 사항 식별 호출을 통해 전달된 사용자 ID.
properties.attribution_token
attribution_token
선택 사항 iOS 14.3 이상용 Apple 검색 광고 어트리뷰션에 사용됩니다. 자세한 내용은 여기를 참조하세요.
properties.skan_conversion_value
skan_conversion_value
선택 사항 세션 알림 시점의 최신 SkAdNetwork 값입니다.
properties.skan_first_call_timestamp
skan_first_call_timestamp
선택 사항 SkAdNetwork API를 처음 호출한 UNIX 타임스탬프입니다.
properties.skan_last_call_timestamp
skan_last_call_timestamp
선택 사항 세션 알림 시점에 SkAdNetwork API에 마지막으로 호출한 UNIX 타임스탬프입니다.
properties.install
install
선택 사항 설치 플래그. 앱 설치 후 첫 번째 세션에서는 참으로 설정하고, 그렇지 않으면 거짓으로 설정합니다. 재설치 추적 기능에 필요합니다.
이벤트 속성을 통해 한 번만 전달해야 하는 속성입니다:

다음 표에는 이벤트 속성을 통해 한 번만 전달해야 하는 속성의 매핑이 나열되어 있습니다 :

이러한 속성은 SDK에서 유지되며 한 번만 전달해야 합니다.

러더스택 속성 Singular 속성 존재 여부 설명
context.device.token
fcm
선택 사항 파이어베이스 클라우드 메시징 디바이스 토큰입니다. Android에서 제거 추적에 필요합니다.
context.device.token
apns_token
선택 사항 Apple 푸시 알림 서비스 디바이스 토큰. iOS에서 제거 추적을 위해 필요합니다.
context.device.advertisingId
idfa
필수 대시가 포함된 대문자로 된 원시 광고 ID. iOS 앱에만 적용됩니다.
context.device.advertisingId
aifa
필수 대시가 포함된 소문자 원시 광고 ID입니다. 이는 안드로이드 앱에만 적용됩니다.

디바이스 토큰 설정에 대한 자세한 내용은 관련 SDK 설명서를 참조하세요:

러더스택은 디바이스 토큰 매핑을 위해 fcm만 지원합니다.

사용자 지정 이벤트 요구 사항

러더스택은 세션 이벤트를 제외한 모든 이벤트를 Singular의 evt 엔드포인트를 통해 커스텀 이벤트로 전송합니다.

지원되는 이벤트 매핑

러더스택 모바일 SDK가 자동으로 캡처하는 속성

이 섹션에는 RudderStack 이벤트 속성과 관련 Singular 필드에 대한 매핑이 나열되어 있습니다.

다음 표에는 모바일 플랫폼(AndroidiOS) 에 대해 RudderStack이 자동으로 캡처하는 속성의 매핑이 나열되어 있습니다:

러더스택 속성 Singular 속성 존재 여부 설명
context.os.name
p
필수 소스 플랫폼(Android 또는 iOS)입니다.
context.app.namespace
i
필수 앱의 패키지 이름(Android) 또는 번들 ID(iOS)입니다.
context.ip / request_ip 
(동일한 순서)
ip
필수 사용자의 IP 주소.
context.device.advertisingId
idfa
필수 대시를 포함한 대문자로 된 원시 IdentifierForVendor입니다. iOS 앱에만 적용됩니다.
context.device.advertisingId
aifa
필수 대시가 포함된 소문자 원시 광고 ID입니다. Android 앱에만 적용됩니다.
context.device.id
idfv
필수 대시를 포함한 대문자로 된 원시 IdentifierForVendor입니다. iOS 앱에만 적용됩니다.
context.device.id
andi
필수 소문자로 된 원시 Android ID입니다. Android 앱에만 적용되며 기기에서 Android 광고 ID를 사용할 수 없는 경우에만 필요합니다.
context.os.version
ve
필수 세션 시점의 디바이스 OS 버전입니다.
utime
선택 사항 세션 시간(UNIX 시간 기준)입니다.

Singular는 asid보다 aifa, andi보다 asid (Android의 경우), idfv보다 idfa (iOS의 경우)를 선호합니다.

이벤트 속성을 통해 전달해야 하는 속성

다음 표에는 이벤트 속성을 통해 전달해야 하는 속성의 매핑이 나와 있습니다 :

이러한 속성은 SDK에서 유지되지 않으며 모든 이벤트와 함께 전달되어야 합니다.

러더스택 속성 Singular 속성 존재 여부 설명
event
n
필수 이벤트의 이름입니다. 사용자가 정의합니다.
context.device.attTrackingStatus
att_authorization_status
필수 앱 추적 투명성 권한 부여 상태입니다.
userId
custom_user_id
선택 사항 식별 호출을 통해 전달된 사용자 ID입니다.
properties.skan_conversion_value
skan_conversion_value
선택 사항 세션 알림 시점의 최신 SkAdNetwork 값입니다.
properties.skan_first_call_timestamp
skan_first_call_timestamp
선택 사항 SkAdNetwork API를 처음 호출한 UNIX 타임스탬프입니다.
properties.skan_last_call_timestamp
skan_last_call_timestamp
선택 사항 세션 알림 시점에 SkAdNetwork API에 마지막으로 호출한 UNIX 타임스탬프입니다.
properties.eventAttributes
e
선택 사항 JSON 형식의 사용자 지정 이벤트 속성. SDK에서 유지되지 않으므로 모든 이벤트와 함께 전달해야 합니다.
properties.is_revenue_event
is_revenue_event
선택 사항 이벤트가 구매 이벤트인지 여부를 결정합니다. 이 속성은 SDK에 유지되지 않으므로 모든 이벤트와 함께 전달해야 합니다.
구매 이벤트와 관련된 사용자 정의 속성

다음 표에는 구매 이벤트와 관련된 사용자 정의 속성의 매핑이 나와 있습니다 :

러더스택 속성 Singular 속성 존재 여부 설명
properties.total/ properties.value / properties.revenue
amt
선택 사항 통화 금액입니다.
properties.currency
cur
선택 사항 ISO 4217 세 글자로 구성된 통화 코드입니다. 이 코드는 amt 매개변수와 함께 사용해야 합니다.
properties.purchase_receipt
purchase_receipt
선택 사항 구매 시 받은 영수증입니다.
properties.product_id/properties.sku
purchase_product_id
선택 사항 제품 SKU 식별자입니다.
properties.orderId / properties.purchase_transaction_id
(순서대로)
purchase_transaction_id
선택 사항 거래 식별자입니다.

value, revenue 또는 total 속성 중 하나를 설정하면 is_revenue_event 속성에서 명시적으로 언급하지 않는 한 RudderStack은 해당 이벤트를 자동으로 구매 이벤트로 간주합니다.

사용자 지정 이벤트의 경우 몇 가지 중요한 고려 사항이 아래에 나열되어 있습니다:

  • RudderStack은 Android의 경우 context.userAgent에서, iOS의 경우 이벤트 속성에서 사용자 에이전트를 가져옵니다.
  • 러더스택은 사용자 지정 이벤트에서 전달된 추가 속성을 Singular의 e 필드에 저장합니다.

테스트

이벤트가 Singular에 성공적으로 전달되었는지 확인하려면 어떻게 해야 하나요?

이벤트가 Singular에 성공적으로 전달되었는지 확인하려면 RudderStack의 대상 라이브 이벤트 기능을 사용할 수 있습니다.

또한 Singular 대시보드로 이동하여 다음 단계를 따라 이벤트 전송을 확인할 수도 있습니다:

테스트 콘솔 사용 방법에 대한 자세한 가이드는 여기를 참조하세요.

  1. "개발자 도구 > 테스트 콘솔"로 이동합니다.

  2. 디바이스 추가를 클릭하고 관련 디바이스 식별자를 입력합니다:

  3. Singular로 전송된 모든 이벤트의 실시간 로그를 볼 수 있을 것입니다: