메인 콘텐츠로 건너뛰기

OneSignal + Amplitude 통합 개요

OneSignal을 Amplitude와 통합하여 상세한 메시지 이벤트, 사용자 지정 이벤트를 전송하고 행동 기반 사용자 코호트를 가져옵니다. 이를 통해 온보딩, 재참여 및 전환을 개선하기 위한 사용자 행동 기반 실시간 타겟팅이 가능합니다.

주요 이점

  • Amplitude로 메시지 이벤트 전송: 푸시, 인앱, 이메일 및 SMS에서 전달, 클릭, 실패 등을 추적합니다.
  • OneSignal로 사용자 지정 이벤트 전송: Amplitude에서 OneSignal로 사용자 지정 이벤트를 전송합니다.
  • Amplitude에서 코호트 가져오기: 행동 기반 코호트를 타겟팅을 위한 필터로 OneSignal에 자동으로 동기화합니다.
이것은 앱 수준 통합으로, 연결되는 앱 및 이벤트에 대한 세밀한 제어를 제공합니다.

요구 사항

이 통합은 사용자를 생성하지 않습니다. Amplitude의 사용자를 OneSignal의 사용자에 매핑합니다.

설정

OneSignal에 Amplitude 추가

OneSignal에서 데이터 > 통합 > Amplitude로 이동하여 활성화를 클릭합니다.

OneSignal의 Amplitude 통합 카드

Amplitude에서:
  1. 프로젝트 API 키를 찾아 OneSignal에 복사하여 붙여넣습니다.
  2. Amplitude의 EU 서버를 사용하는 경우 Amplitude의 EU Residency 엔드포인트로만 이벤트 전송을 선택합니다. Amplitude URL로 확인할 수 있습니다. eu.amplitude.com이 표시되면 Amplitude의 EU 서버를 사용하고 있는 것입니다.

메시지 이벤트 선택

Amplitude로 전송할 OneSignal 메시지 이벤트를 선택합니다. 완료되면 활성화를 클릭합니다.

OneSignal의 Amplitude 설정

Amplitude에 OneSignal 추가

Amplitude 대상에서 OneSignal을 검색합니다.

Amplitude에서 OneSignal 대상 추가

옵션:
  • Cohorts: Amplitude에서 OneSignal로 코호트를 동기화합니다.
  • Events User Properties: Amplitude에서 OneSignal로 사용자 지정 이벤트를 전송합니다.
옵션 중 하나 또는 둘 다를 선택하면 다음 정보를 입력하라는 메시지가 표시됩니다:
  • Name: Amplitude에서 대상을 식별하는 방법입니다. OneSignal - APP_NAME과 같이 식별 가능한 이름으로 설정하세요. 여기서 APP_NAME은 OneSignal의 앱 이름입니다.
  • App ID: OneSignal 앱 ID입니다. OneSignal **설정 > 키 및 ID**에서 사용 가능합니다.
  • API Key: OneSignal API 키입니다. OneSignal **설정 > 키 및 ID**에서 사용 가능합니다.

이벤트 전송

베타 기능입니다. OneSignal로 사용자 지정 이벤트를 전송하려면 OneSignal에서 사용자 지정 이벤트 기능이 활성화되어 있어야 합니다.
Amplitude에서 OneSignal로 사용자 지정 이벤트를 전송하려면 이 옵션을 활성화합니다. OneSignal로 전송할 Amplitude 이벤트를 선택합니다.

OneSignal로 전송할 Amplitude 이벤트

USER ID 매핑

이 단계는 코호트 동기화 및 이벤트 추적이 제대로 작동하는 데 필수적입니다.
두 시스템에서 사용자를 매칭하려면:
  • 공유 식별자 사용: OneSignal의 **External ID**는 선택한 Amplitude User ID 속성(예: user_id)과 일치해야 합니다.
  • 선택한 사용자 속성이 Amplitude 및 OneSignal 사용자 프로필 전체에 존재하는지 확인합니다.

추가 속성

사용자 지정 이벤트에 포함될 추가 속성을 OneSignal로 전송할 수 있습니다. 이는 특정 속성이 포함된 경우에_만_ OneSignal에서 이벤트를 처리하는 데 유용합니다.
완료되면 저장을 클릭합니다.이제 Amplitude에서 OneSignal로 코호트 및 사용자 지정 이벤트를 내보내고 OneSignal에서 Amplitude로 메시지 이벤트를 수집할 수 있습니다.

사용자 지정 이벤트 테스트

  1. Amplitude > OneSignal Events Destination에서 Test Connection 버튼을 클릭합니다.

Amplitude > OneSignal Events Destination

  1. 페이로드의 "user_id"가 OneSignal 앱의 기존 사용자의 External ID로 설정되어 있는지 확인합니다.
  2. Send Test Event 버튼을 클릭합니다
  3. Response 상자는 비어 있어야 하며 "OneSignal has successfully received test event."라는 메시지가 표시되어야 합니다.

응답 예제

오류가 발생하면 OneSignal 앱 ID 및 REST API 키가 Amplitude에 올바르게 추가되었는지, 앱이 사용자 지정 이벤트에 대해 구성되었는지 확인하세요.
  1. OneSignal에서 데이터 > 사용자 지정 이벤트로 이동하면 목록에 테스트 이벤트가 표시됩니다.

OneSignal의 사용자 지정 이벤트

이벤트가 표시되지 않으면 "user_id"가 OneSignal 앱의 기존 사용자의 External ID로 설정되어 있는지 확인하세요.

Amplitude 코호트를 OneSignal로 내보내기

이전 단계에서 설명한 것처럼 일치하는 User ID/External ID 속성이 있는 한 Amplitude 코호트 내의 사용자를 OneSignal 내의 사용자와 동기화할 수 있습니다. Amplitude에서 사용자 데이터를 내보내는 것은 OneSignal에서 사용자를 생성하지 않습니다. 사용자는 이미 존재해야 하며 일치하는 External ID가 있어야 합니다. Amplitude에서 OneSignal로 사용자를 내보내려면:
  1. Amplitude에서 코호트를 생성합니다. Amplitude의 코호트 문서를 참조하세요.
  2. 동기화를 클릭하고 OneSignal을 대상으로 선택합니다.
  3. 동기화 빈도를 선택합니다.

OneSignal과 코호트에 대한 동기화를 설정하는 방법을 보여주는 이미지

OneSignal 세그먼트 생성

  • 동기화된 코호트는 OneSignal에서 Amplitude 세그먼트 필터로 나타납니다.
  • 다음 조건이 충족되면 코호트에 대한 세그먼트가 자동으로 생성됩니다:
    • Amplitude 코호트의 사용자가 일치하는 External ID로 OneSignal에도 존재합니다.
    • OneSignal의 세그먼트 제한을 초과하지 않아야 합니다.
두 조건이 모두 충족되면 OneSignal은 Amplitude 코호트 필터 및 코호트 이름을 사용하여 세그먼트를 자동으로 생성합니다.

Amplitude 코호트에서 세그먼트를 생성하는 방법


Amplitude에서 메시지 이벤트 추적

연결되면 OneSignal은 실시간으로 Amplitude에 메시지 이벤트를 전송합니다.

메시지 이벤트

OneSignal이 Amplitude로 전송하는 메시지 이벤트 종류입니다. OneSignal 통합 설정 내에서 Amplitude 프로젝트로 전송할 이벤트를 선택할 수 있습니다.
Message Event Kind (OneSignal)Message Event Name (Amplitude)Event Description
Push Sent[OneSignal] Push SentPush notification successfully sent.
Push Received[OneSignal] Push Confirmed deliveryPush notification successfully received
Push Clicked[OneSignal] Push ClickedPush notification touched on device
Push Failed[OneSignal] Push FailedPush failed to be sent. Check the failed message report in OneSignal.
Push Unsubscribed[OneSignal] Push UnsubscribedThe Subscription unsubscribed from push.
In-App Impression[OneSignal] IAM DisplayedIn-App Message successfully displayed on device
In-App Clicked[OneSignal] IAM ClickedIn-App Message clicked on device
In-App Page Displayed[OneSignal] IAM Page DisplayedIn-App Message page is displayed
Email Sent[OneSignal] Email SentEmail successfully sent
Email Received[OneSignal] Email Confirmed deliveryEmail received by recipient
Email Opened[OneSignal] Email OpenedEmail opened by recipient
Email Link Clicked[OneSignal] Email ClickedEmail link clicked on
Email Unsubscribed[OneSignal] Email UnsubscribedEmail unsubscribed by recipient
Email Reported As Spam[OneSignal] Email Reported As SPAMEmail reported as spam by recipient
Email Bounced[OneSignal] Email Hard BouncedEmail returned to sender due to permanent error
Email Failed[OneSignal] Email Failed deliveryCould not deliver the email to the recipient’s inbox
Email Suppressed[OneSignal] Email Not delivering to suppressed email addressEmail not delivered as the recipient had suppressed the email address it was sent from
SMS Sent[OneSignal] SMS SentSMS sent to recipient
SMS Failed[OneSignal] SMS Failed deliverySMS failed to send
SMS Delivered[OneSignal] SMS Confirmed deliveerySMS successfully delivered
SMS Undelivered[OneSignal] SMS UndeliveredThe SMS could not be sent.

이벤트 속성

OneSignal에서 Amplitude로 전송된 모든 이벤트에 있는 속성입니다
속성 이름설명
Distinct ID메시지와 연결된 external_id
Message ID개별 메시지의 식별자
Message Name메시지 이름
Message Title메시지 제목
Message Contents메시지 내용
message_type전송된 메시지 유형: push, in-app, email, SMS
template_id사용된 메시지 템플릿(API 및 Journey 메시지)
subscription_idOneSignal이 설정한 기기/이메일/SMS 식별자
device_type메시지를 받은 기기 유형
language기기의 두 문자 언어 코드
sourceonesignal(모든 이벤트의 소스로 표시됨)

FAQ

코호트 및 세그먼트 수가 일치하지 않는 이유는 무엇인가요?

  1. 누락되거나 일치하지 않는 External ID 일치하는 OneSignal External ID 및 Amplitude User ID가 있는 사용자만 포함됩니다. 이 통합은 사용자 또는 구독을 생성하지 않습니다.
  2. 구독 취소한 사용자 OneSignal 세그먼트는 구독된 구독에 대한 수만 표시합니다. 구독 취소된 구독은 Journeys 또는 인앱 메시지에 사용할 수 있습니다.
예를 들어 Amplitude 코호트에 10명의 사용자가 있지만 OneSignal 세그먼트에 8개의 구독이 표시되는 경우 누락된 2명의 사용자는 다음과 같을 수 있습니다:
  • OneSignal에 존재하지 않거나 잘못된 External ID를 가지고 있습니다.
  • 구독 취소된 구독을 가지고 있습니다.
확인하려면 OneSignal의 대상 > 사용자 탭을 확인하여 사용자가 존재하는지, 활성 구독이 있는지 확인하세요.

구독 취소한 사용자가 Amplitude에서 동기화되나요?

예, 하지만 현재 OneSignal 세그먼트 수에서는 제외됩니다. 다른 구독이 있거나 구독 유형이 지원하는 경우 Journeys 또는 인앱 메시지를 통해 여전히 메시지를 보낼 수 있습니다.

전달 데이터가 일치하지 않는 이유는 무엇인가요?

한 사용자는 여러 구독(푸시 기기, 이메일 주소, 전화번호)을 가질 수 있습니다. 각 구독은 자체 전달 이벤트를 생성합니다. 예를 들어:
  • 사용자 1명 = Android 2개 + iOS 1개 + Web 2개 = 푸시 구독 5개
  • 푸시 메시지 1개 = 최대 5개의 전송/수신/클릭 이벤트
정확한 소스를 추적하려면 이벤트 속성의 subscription_id를 사용하세요. 누락된 이벤트 문제를 해결하려면:
  • External ID를 설정하기 위해 사용자가 식별될 때마다 OneSignal.login이 호출되는지 확인하세요.
  • OneSignal.logout가 External ID를 제거하지 않는지 확인하세요.
  • External ID를 변경할 수 있는 API 요청 또는 CSV 업로드를 확인하세요.

사용자/구독 이벤트를 어떻게 전송할 수 있나요?

사용자 및 구독 수준 이벤트(예: 권한 부여됨, 사용자 로그인/로그아웃)는 자동으로 전송되지 않습니다. OneSignal SDK에는 Amplitude로 전송할 이러한 이벤트를 추적하는 데 사용할 수 있는 이벤트 리스너가 있습니다:

OneSignal 구독 ID가 device_id로 Amplitude에 추가되는 이유는 무엇인가요?

Amplitude는 중복 제거를 위해 device_id를 기대합니다. OneSignal은 이를 위해 subscription_id를 사용하며, 이는 자동으로 device_id에 매핑됩니다. 자세한 내용은 Amplitude 문서를 참조하세요.