메인 콘텐츠로 건너뛰기
세그먼트는 활동, 국가, 태그, 메시지 활동 등과 같은 필터를 기반으로 구독 또는 사용자를 그룹화하는 동적 대상입니다. 세그먼트를 사용하면 개인화되고 시기적절하며 관련성 높은 메시지를 보낼 수 있습니다. 세그먼트는 생성되면 사용자가 앱 또는 사이트와 상호 작용할 때 자동으로 업데이트됩니다. 추가 추적이 필요하지 않습니다.
세그먼트 수는 옵트인한 Push, SMS 및 Email 구독만 반영합니다.Journey 또는 In-App Message에서 사용할 때 세그먼트에는 사용자와 옵트아웃한 구독이 포함됩니다.구독 취소한 구독을 분석하려면 Export CSV of Players API를 사용하세요.

세그먼트 유형

OneSignal 플랫폼은 두 가지 주요 세그먼트 카테고리를 지원합니다:

구독 기반 세그먼트

구독 기반 세그먼트는 장치 유형, 언어 또는 앱 버전 등과 같은 구독 속성에 대한 필터를 사용하여 빌드됩니다. 과거에는 OneSignal 플랫폼에서 생성된 모든 세그먼트가 구독 기반이었습니다.

사용자 기반 세그먼트

사용자 기반 세그먼트는 개별 구독이 아닌 사용자 수준 속성에 대한 필터를 사용하여 빌드됩니다. 현재 이러한 세그먼트는 메시지 이벤트 및 사용자 지정 이벤트에 대한 필터를 지원합니다. 예시:
  • 사용자가 OneSignal을 통해 전송된 Email, SMS 또는 푸시 알림을 마지막으로 연 시간
  • 앱 또는 웹사이트에서 추적되는 특정 사용자 지정 이벤트
사용자 기반 세그먼트에는 기준을 충족하는 모든 사용자가 포함되며 모든 구독을 자동으로 타겟팅 대상으로 만들어 사용자의 모든 장치에 도달할 수 있는 더 풍부한 대상 정의를 가능하게 합니다.

세그먼트 생성

세 가지 방법으로 세그먼트를 생성할 수 있습니다:
  • 대시보드에서
  • Create Segment API를 통해
  • CSV를 업로드하여. 자세한 내용은 Import 가이드를 참조하세요.

대시보드에서 세그먼트 생성

  1. Audience > Segments로 이동
  2. New Segment 클릭
  3. 필터를 추가하고 세그먼트 이름을 지정한 다음 Create Segment 클릭

새 세그먼트 생성 인터페이스

세그먼트 제외

세그먼트를 제외하여 해당 구성원이 메시지를 수신하거나 Journey에 진입하지 못하도록 방지합니다. 일반적인 사용 사례:
  • 중복되거나 충돌하는 메시지 전송 방지
  • 사용자 메시징 기본 설정 존중 (예: “프로모션 옵트아웃”)
  • 캠페인보다 트랜잭션 메시지 우선순위 지정
다음과 같은 경우 세그먼트를 제외할 수 있습니다:
  • 메시지를 보낼 때
  • Journey를 빌드할 때
  • 세그먼트 설정에서 Exclude Segment 옵션을 사용할 때

필터

필터는 세그먼트에 속하는 구독을 정의합니다. AND 또는 OR 로직을 사용하여 여러 필터를 결합할 수 있습니다.
필터설명
First session사용자 생성 날짜/시간.
Last session구독이 앱 또는 사이트를 마지막으로 연 시간.
Session count구독이 앱을 열거나 사이트를 방문한 횟수.
Usage duration구독이 앱/사이트를 연 총 시간(초).
Language사용자의 선호 언어(장치/브라우저 기반). 다국어 지원을 참조하세요.
App versionAndroid versionCode 또는 iOS CFBundleShortVersionString에서 가져옵니다.
- Device type과 결합하여 각 플랫폼의 서로 다른 앱 버전으로 필터링합니다.
- 자세한 내용은 오래된 앱 버전 타겟팅 튜토리얼을 참조하세요.
Device typeiOS, Android, Web Push(브라우저), Email 등.
User tagSDK 또는 API를 통해 설정한 사용자 지정 태그. Add User Tags를 참조하세요.
Location좌표(위도/경도)에서 반경으로 필터링합니다. 최소 1미터, 최대 소수점 이하 2자리까지 정밀도가 필요합니다. 위치 권한을 참조하세요.
Country마지막 IP 지리적 위치 기반(ISO 3166-2 코드).
Test usersTest Users로 표시된 사용자.
RootedAndroid 전용 — 장치가 루팅되었는지 여부.
Message Event메시지 이벤트로 필터링(예: “clicked”, “delivered”, “failed”). 메시지 이벤트 필터를 참조하세요.
Custom Event사용자 지정 이벤트로 필터링(예: “purchase”, “user login”). 사용자 지정 이벤트 필터를 참조하세요.

세그먼트 필터 구성 화면

메시지 이벤트 필터

메시지 이벤트 필터를 사용하면 특정 기간 내에 메시징 채널 중 하나와의 상호 작용을 기반으로 사용자를 필터링할 수 있습니다.

메시지 이벤트 필터

먼저 필터링할 메시징 채널을 선택한 다음 해당 채널에 대해 추적할 작업과 사용자가 해당 작업을 수행했는지 여부를 지정합니다. 사용자가 자격을 얻기 위해 작업을 수행해야 하는 최소, 최대 또는 정확한 횟수를 지정할 수 있으며, 지난 24시간에서 지난 90일까지 작업을 수행하거나 수행하지 않아야 하는 시간 창도 지정할 수 있습니다. 각 채널에 대해 사용 가능한 추적 가능한 상호 작용 목록은 아래를 참조하세요:
채널추적 가능한 상호 작용
PushSent, Received, Clicked, Failed
SMSSent, Delivered, Failed
EmailSent, Delivered, Opened, Clicked, Bounced, Failed, Suppressed, Reported as spam
In-AppReceived, Clicked
메시지 이벤트 필터로 생성된 세그먼트는 사용자 기반입니다. 이로 인해 Journey 외부에서 메시지를 보낼 때 포함 또는 제외를 위해 구독 기반 세그먼트(메시지 이벤트 필터를 사용하지 않는 세그먼트)와 결합할 수 없습니다.그러나 사용자 기반인 Journey 내에서는 이벤트 기반 세그먼트를 구독 기반 세그먼트와 결합할 수 있습니다. 이를 통해 자동화된 메시징 플로우에서 보다 유연한 타겟팅이 가능합니다.

사용자 지정 이벤트 필터

사용자 지정 이벤트 필터를 사용하면 앱, 웹사이트 또는 외부 시스템에서 수행한 의미 있는 작업을 기반으로 사용자를 타겟팅할 수 있습니다.
사용자 지정 이벤트 필터는 현재 Early Access 단계입니다.액세스를 요청하려면 다음 정보와 함께 support@onesignal.com에 문의하세요:
  • 회사 이름
  • OneSignal Organization ID
  • 이 기능을 사용하려는 OneSignal App ID

사용자 지정 이벤트 필터

작동 방식

필터링할 이벤트 유형을 선택하여 시작합니다. 그런 다음 다음을 지정합니다:
  • 추적할 작업
  • 사용자가 해당 작업을 수행했는지(has) 또는 수행하지 않았는지(has not)
다음과 같은 조건을 설정할 수도 있습니다:
  • 작업을 수행해야 하는 최소, 최대 또는 정확한 횟수
  • 작업을 수행해야 하거나 수행하지 않아야 하는 시간 창

이벤트 속성

이벤트 유형을 선택한 후 선택적으로 이벤트 속성을 필터링할 수 있습니다. 여러 사용자 지정 이벤트 속성에 대한 필터를 포함할 수 있습니다.
  • all을 선택하면 속성 전체에 AND 조건이 적용됩니다.
  • at least one을 선택하면 OR 조건이 적용됩니다.
사용자 지정 이벤트는 JSON Objects로 표현됩니다. 전체 구조는 여기에서 확인하세요. 중첩된 이벤트 속성은 dot notation을 사용하여 참조할 수 있습니다. 예시 다음 사용자 지정 이벤트 구조가 주어진 경우:
{
  "signup": {
    "method": "google",
    "experiment_group": "control_group",
    "referral_code": "SAVE15",
    "location": {
      "timezone": "Europe/Paris",
      "country": "CA"
    },
    metadata: {
      "labels": ["red", "green", "blue"]
    }
  },
  "user_id": "user_804f7e88"
}
다음과 같이 필터링할 수 있습니다:
  • signup.referral_code → 추천 코드 SAVE15가 있는 사용자를 타겟팅합니다.
  • signup.location.countryCanada에 있는 사용자를 타겟팅합니다.
  • metadata.labels.0 → 레이블 red가 있는 사용자를 타겟팅합니다.
사용자 지정 이벤트 필터로 생성된 세그먼트는 Early Access 단계입니다. 이로 인해:
  • 사용자 지정 이벤트 세그먼트에는 하나의 사용자 지정 이벤트 필터만 포함할 수 있습니다.
  • 사용자 지정 이벤트 세그먼트는 사용자 지정 이벤트 필터만 포함할 수 있으며 메시지를 보낼 때 포함 또는 제외를 위해 다른 세그먼트와 결합할 수 없습니다.
사용자 지정 이벤트 필터로 생성된 세그먼트는 사용자 기반입니다.

세그먼트 로직: AND vs OR

AND를 사용하여 모두 일치해야 하는 필터를 결합합니다. OR을 사용하여 여러 조건 중 하나와 일치시킵니다.

AND 필터 예시

다음과 같은 사용자의 세그먼트를 생성합니다:
  • 7일 이상 돌아오지 않은 사용자
  • 11일 후에 제거될 사용자

비활성 세그먼트 필터 설정

OR 필터 예시

다음과 같은 사용자의 세그먼트를 생성합니다:
  • 7일 이상 돌아오지 않은 사용자
  • 지난 3일 동안 생성된 새 구독이 있는 사용자

OR 절 세그먼트 구성


세그먼트 관리

사용자 보기

Options > View Users를 클릭하여 세그먼트에 있는 구독을 확인합니다.

편집

세그먼트 이름 또는 Options > Edit를 클릭하여 필터를 변경합니다.

일시 중지 / 재개

세그먼트 제한(요금제 기반)에 가까우면 세그먼트를 일시 중지할 수 있습니다. 일시 중지된 세그먼트를 타겟팅하면 실패합니다.

기본값으로 설정

새 메시지를 보낼 때 자동으로 선택되도록 기본 세그먼트를 설정합니다. 이를 통해 타겟팅 실수를 줄이고 시간을 절약할 수 있습니다.

복제

세그먼트의 필터를 복사하여 새 세그먼트를 생성합니다.

세그먼트 삭제

세그먼트를 삭제하면 실행 취소할 수 없으며 세그먼트 내부의 사용자는 삭제되지 않습니다.

대시보드에서

  1. Audience > Segments로 이동
  2. 세그먼트 옆의 점 3개 메뉴 클릭
  3. Delete 선택

세그먼트 옵션 메뉴


API 사용

Delete Segment API를 사용합니다. 세그먼트 정의만 제거합니다. 세그먼트의 사용자를 삭제하려면 Delete Users API를 사용합니다.
{
  "name": "Segment 2",
  "filters": [
    { "field": "session_count", "relation": ">", "value": "1" },
    { "operator": "AND" },
    { "field": "tag", "relation": "!=", "key": "tag_key", "value": "1" },
    { "operator": "OR" },
    { "field": "last_session", "relation": "<", "hours_ago": "30" }
  ]
}

자주 묻는 질문

세그먼트에 내 자신을 추가하려면 어떻게 해야 하나요?

  1. External ID를 사용하여 내 구독을 찾습니다.
  2. 다음 중 하나를 수행합니다:
  1. Test Users 필터 또는 태그를 사용하여 세그먼트를 생성합니다.

세그먼트 수에 옵트아웃한 사용자가 포함되나요?

  • 표시되는 수에는 옵트인한 구독만 포함됩니다.
  • Journey 및 In-App Message에 사용되는 세그먼트에는 구독한 구독과 구독 취소한 구독이 모두 포함됩니다.
  • 구독 취소한 구독을 보려면 Export CSV of Players API를 사용하세요.

세그먼트 수는 항상 정확한가요?

총 사용자 수가 80,000명을 초과하는 세그먼트는 빠르게 계산하기 위해 정확한 수가 아닌 추정 크기를 가질 수 있습니다. 가장 정확한 숫자를 얻으려면 메시지를 보낸 후 메시지 보고서 통계를 확인하세요.

어떤 유형의 인앱 구매가 추적되나요?

  • 추적됨: OneSignal SDK가 활성화된 상태에서 이루어진 소비재 구매.
  • 추적 안 됨: 구독 구매.
  • 과거 구매 데이터를 가져오려면 purchases 매개변수와 함께 Update User API를 사용하세요.