메인 콘텐츠로 건너뛰기
CSV 파일 또는 수동 입력을 통해 OneSignal 대시보드에서 사용자를 일괄 가져오기하거나 업데이트합니다. 일반적인 사용 사례로는 다른 플랫폼에서 사용자 마이그레이션, 사용자 세부 정보 업데이트, 태그세그먼트를 사용한 사용자 구성 등이 있습니다.
REST API를 통해 사용자를 업데이트하거나 생성할 수도 있습니다.

CSV 가져오기

CSV 파일을 사용하여 이메일 주소, 전화번호, 외부 ID, 태그, 언어, 시간대, 국가 등을 가져오거나 업데이트합니다.

CSV 요구사항

.csv 파일이 다음 요구사항을 충족하는지 확인하세요:
  • UTF-8 인코딩 (BOM 제외)
  • 인쇄할 수 없는 문자 없음 (특수 문자 또는 비 ASCII 문자 없음)
  • 깔끔하고 고유한 열 헤더
  • 150MB 미만의 파일 크기 (약 200만 행)
  • 다음 중 하나 이상의 식별자:
    • external_id — 권장. 모든 구독에서 사용자를 식별합니다.
    • email — 새 이메일 구독 생성에 필요합니다. 자세한 내용은 이메일 주소 유효성 검사를 참조하세요.
    • phone_number — 새 SMS 구독 생성에 필요합니다.
    • subscription_id — 백엔드에서 OneSignal 구독 ID를 이미 추적하고 external_id를 설정하려는 경우에만 권장됩니다.
각 유형의 식별자는 행당 하나만 허용됩니다. 동일한 사용자와 여러 이메일 또는 번호를 연결하려면 동일한 external_id를 공유하는 별도의 행을 사용하세요.
  • 사용자를 중복 제거하려면 external_id를 포함하세요. SDK login 메서드에서 사용하는 ID와 일치하는지 확인하세요 — 그렇지 않으면 사용자가 앱을 열 때 재설정됩니다.
  • 구독 상태를 변경하려면 행에 email, phone_number 또는 subscription_id가 포함되어야 합니다. external_id만으로는 충분하지 않습니다.
  • subscription_id는 구독을 연결하거나 병합하지 않습니다. 기존 사용자에게 새 이메일 또는 전화번호를 추가하려면 external_id를 사용하세요.

사용 가능한 CSV 열

external_id
고유한 영숫자 값
자세한 내용은 외부 ID를 참조하세요.
email
유효한 이메일 주소
이메일 구독을 생성합니다. 이미 존재하는 경우 중복 제거됩니다.
phone_number
유효한 전화번호
+15555551234와 같은 E.164 형식을 사용합니다. SMS 구독을 생성합니다.
subscription_id
OneSignal에서 할당한 UUID v4
백엔드에서 이미 OneSignal 구독 ID를 추적하는 경우에만 권장됩니다.
subscribed
`yes`, `no`
구독 상태를 설정합니다. 행에 email, phone_number 또는 subscription_id가 필요합니다 — external_id만으로는 사용할 수 없습니다.
suppressed
`true`, `false`
false는 차단 목록에서 이메일을 제거합니다.
timezone_id
IANA TZ 형식의 시간대
IANA TZ를 참조하세요.
country
2자 ISO 3166-2 코드
ISO 3166-2를 참조하세요.
language
2자 ISO 639-1 코드
ISO 639-1을 참조하세요.
data tags
영숫자 값
최대 1,000개의 태그. 열 헤더를 키로 사용합니다. 태그를 참조하세요.

태그 한도 및 제한

태그 요금제 한도는 앱이 아닌 사용자별로 적용됩니다. 예를 들어, 요금제에서 사용자당 태그 20개가 허용되고 사용자가 이미 19개를 가지고 있다면, 앱 자체에 무제한 태그 키를 가질 수 있더라도 1개만 더 추가할 수 있습니다.
  • 일괄 태그 업데이트 워크플로를 사용하여 사용자를 내보내고, 원하지 않는 태그 값을 지우고, 삭제 옵션을 활성화하여 다시 가져옵니다.
  • 태그 키에 공백을 사용하지 마세요 — 대신 밑줄을 사용하세요.
예약 및 제한된 태그 키 다음 태그 키는 예약되어 있으므로 사용하지 않아야 합니다:
  • “user”
  • “subscription”
  • “message”
  • “template”
  • “app”
  • “org”
  • “custom_data”
  • “dynamic_content”
이 중 하나를 태그 키로 실수로 설정한 경우 사용자 업데이트 API를 통해 제거하세요. 태그 덮어쓰기 및 삭제 CSV 가져오기 중:
  • CSV에 포함된 태그는 제공된 값으로 덮어씁니다.
  • CSV에 포함되지 않은 태그는 사용자 레코드에서 변경되지 않습니다.
가져오기 후에도 태그가 남아 있으면 다음을 확인하세요:
  • 헤더 열에 태그 키가 포함되어 있는지.
  • 행에 값이 없는지.
  • 검토 화면에서 “빈 값이 있는 태그 삭제” 옵션을 선택했는지.
다른 소스에서 추가되는 태그 삭제된 태그가 가져오기 후 다시 나타나면 연동이 자동으로 다시 쓰고 있을 수 있습니다. 일반적인 소스는 다음과 같습니다:
  • Segment
  • HubSpot
  • Journeys
  • SDK 태깅 방법
  • 맞춤 API 또는 ETL 파이프라인
연동 매핑 및 이벤트 트리거를 검토하여 CSV 변경 사항을 덮어쓰지 않는지 확인하세요.

단일 열에서 태그 가져오기

각 태그 키에 대해 별도의 열 헤더를 사용하는 대신 단일 tags 헤더를 설정할 수 있으며, 각 사용자 행에는 따옴표 안에 모든 키-값 쌍의 JSON 맵이 포함됩니다. 이는 이전에 태그가 포함된 CSV를 내보내고 다시 포맷하지 않고 다시 가져오려는 경우 특히 유용합니다. 예제 헤더:
external_id,email,tags
예제 행: 태그는 따옴표로 묶인 JSON 객체로 포맷되어야 합니다.
userA,example@email.com,"{""level"":""30"",""Color"":""teal""}"
가져오면 OneSignal은 각 키-값 쌍을 구독 레코드의 고유한 태그로 자동 변환합니다. 예시: 태그 일괄 삭제 태그를 일괄 삭제하려면 현재 데이터를 내보내고, 태그 값을 비워두고, 삭제 옵션을 활성화하여 CSV를 다시 가져옵니다.
1

데이터 내보내기

  • OneSignal 대시보드에서 Audience > Subscriptions으로 이동합니다. External ID, Subscription ID, Tags 열만 활성화합니다(선택적으로 Email 또는 Phone Number도 가능).
  • Export를 클릭하여 CSV를 내보냅니다.
내보내기를 위한 표시 가능한 열 선택
2

삭제할 태그 값 지우기

내보낸 CSV를 텍스트 편집기에서 열고 삭제할 각 태그의 값을 빈 문자열로 설정합니다.예를 들어, 편집 전 태그 값이 있는 행:
편집 전 행
userA,example@email.com,"{""level"":""30"",""color"":""teal""}"
태그 값을 지운 후 동일한 행:
태그 값 지운 후 행
userA,example@email.com,"{""level"":"""",""color"":""""}"
이렇게 하면 사용자에서 태그 levelcolor가 삭제됩니다.
3

삭제 옵션을 사용하여 CSV 다시 가져오기

  • 편집된 CSV를 가져옵니다.
  • 검토 화면에서 빈 값의 태그 삭제에 대해 를 선택합니다. OneSignal이 가져오기 중에 빈 값의 태그를 삭제합니다.
빈 값의 태그 삭제 옵션이 있는 검토 화면
특정 태그만 삭제하려면 해당 태그의 값을 지우고 나머지는 변경하지 않습니다. 삭제 옵션이 활성화된 경우에는 빈 값만 삭제됩니다.
도움이 필요하십니까?

이메일 주소 유효성 검사

이메일 주소 유효성 검사는 이메일이 수신자에게 도달하기 전에 이메일 주소의 일반적인 문제를 감지합니다. 반송률을 높이거나 발신자 평판을 손상시킬 수 있는 오타, 잘못된 도메인, 역할 기반 주소 및 일회용 이메일 서비스를 표시합니다.

이메일 주소 유효성 검사

CSV 가져오기 중 및 일괄적으로 이메일 주소를 검증하여 반송을 줄이고 발신자 평판을 보호하세요.

가져오기 전에 AI를 사용하여 CSV 확인

CSV 형식에 오류나 질문이 있는 경우 AI 도구(Claude, ChatGPT 등)에 CSV 문제를 설명하여 다시 가져오기 전에 파일을 자동으로 정리하거나 재구성할 수 있습니다.
수천 개의 레코드를 가져오기 전에 항상 작은 샘플(5-10행)로 테스트하세요.
원하지 않는 태그를 삭제하기 위한 AI 프롬프트 예제
이 CSV에서 "user_name"을 제외한 모든 태그를 제거하고 싶습니다.

다음을 수행해 주세요:
1. "user_name" 태그 열만 유지하세요.
2. 다른 모든 태그 열을 제거하세요.
3. 이 문서의 OneSignal 가져오기 요구 사항과 일치하도록 CSV를 형식화하세요:
   https://documentation.onesignal.com/docs/en/import

제 CSV입니다:
[CSV 붙여넣기]

가져오기 단계

오디언스 > 가져오기로 이동하고 CSV 가져오기 도구 시작을 클릭합니다.
1

CSV 업로드

준비된 CSV 파일을 선택합니다.
OneSignal 대시보드의 CSV 파일 업로드 화면
2

필드 매핑

OneSignal은 CSV 헤더를 알려진 속성에 자동으로 매핑합니다. 확인하기 전에 매핑을 검토하세요 — external_id, email, phone_number, 및/또는 subscription_id를 태그가 아닌 식별자로 사용하세요.
기존 사용자에게 새 이메일 또는 전화번호를 추가하려면 external_id반드시 사용해야 합니다. subscription_id를 사용하지 마세요 — 구독을 연결하거나 병합하지 않습니다.
OneSignal 속성에 매핑된 열 헤더를 보여주는 필드 매핑 화면
OneSignal이 형식 문제를 감지하면 CSV를 수정하고 다시 업로드하거나(권장) 영향을 받는 열을 선택 해제하여 건너뜁니다.
3

검토 및 확인

검토 화면에서 다음을 수행할 수 있습니다:
  • 세그먼트 자동 생성 — 가져온 각 사용자에게 태그를 추가하고 일치하는 세그먼트를 생성합니다. 플랜 제한에 주의하세요.
  • 빈 값의 태그 삭제 — CSV에서 값이 비어 있는 태그를 삭제합니다. 원하지 않는 태그를 정리하고 플랜 제한 내에서 유지하는 데 유용합니다.
  • 이메일 주소 유효성 검사 구성이메일 주소 유효성 검사 설정을 구성하여 반송을 줄이고 발신자 평판을 보호하세요.
예를 들어, 다음 CSV를 사용한 경우:
external_id,tag1,tag2
UserA,,"tag2value"
UserB,"tag1value",
“빈 값의 태그 삭제” 옵션을 활성화하면 UserA에서 tag1이, UserB에서 tag2가 삭제됩니다.
세그먼트 생성 및 빈 태그 값 삭제 옵션을 보여주는 검토 화면
확인 및 가져오기를 클릭합니다. 상태 화면에 진행 상황이 표시됩니다.
가져오기가 시작되었습니다. 완료되면 contact@onesignal.com으로부터 확인 이메일을 받게 됩니다.

이메일 확인

가져오기가 완료되면 contact@onesignal.com으로부터 확인 이메일을 받게 됩니다. 단일 사용자가 여러 구독(예: 이메일 + 푸시)을 가질 수 있으므로 구독 수가 행 수보다 많을 수 있습니다. 추가된 구독 레코드 — 새로 생성된 이메일 또는 SMS 구독. 0은 고유한 email 또는 phone_number 식별자가 없었음을 의미합니다. 수정된 구독 레코드 — 데이터가 변경된 구독(태그, 속성 등). 예: 10개의 외부 ID 각각이 20개의 구독과 연결된 경우 = 200개의 레코드 수정. 건너뛴 구독 업데이트 — 명시된 이유로 건너뛴 구독. 이유가 “앱의 태그 제한 초과”인 경우 태그를 제거하고 다시 가져오거나 플랜을 업그레이드하세요. 가져오지 않음 — 업데이트되거나 가져오지 않은 행. 일반적인 원인: external_id가 기존 구독과 일치하지 않거나 email/phone_number가 이미 존재하며 설정할 새 데이터가 없는 경우. 생성된 새 세그먼트 — 해당 옵션을 선택한 경우의 세그먼트 이름.
추가, 수정, 건너뜀, 가져오지 않음 구독 수를 보여주는 이메일 확인
위의 예에서:
  • 앱에 존재하지 않는 고유한 이메일 주소 또는 전화번호에서 100개의 구독이 생성되었습니다.
  • 37,814개의 구독이 업데이트되었습니다(사용자 수가 아님 — 각 사용자는 여러 구독을 가질 수 있습니다).
  • 621,852개 행이 가져오지 않았습니다. 외부 ID가 기존 사용자와 일치하지 않거나 이메일/전화번호가 이미 존재하며 새 데이터가 없었기 때문입니다.
세그먼트구독된 구독만 계산합니다. 구독 취소된 구독은 가져오기로 업데이트되지만 세그먼트 수에는 반영되지 않습니다. 세그멘테이션 개선이 진행 중입니다.

수동 입력

OneSignal 대시보드를 통해 오디언스 > 사용자 > 사용자 업데이트/가져오기 > 수동으로 사용자 추가로 이동하여 사용자의 이메일 및 전화번호 구독을 수동으로 추가할 수 있습니다.
새 사용자 화면에서 원하는 데이터를 포함하고 사용자 생성을 선택합니다.

자주 묻는 질문

CSV 가져오기는 얼마나 걸립니까?

소요 시간은 파일 크기에 따라 다릅니다. 대부분의 가져오기는 몇 분 내에 완료됩니다. 가져오기가 완료되면 contact@onesignal.com에서 이메일을 받습니다 — 해당 주소를 연락처에 추가하여 이메일을 확실히 받을 수 있도록 하세요.

CSV 가져오기를 취소할 수 있습니까?

아니요. CSV 가져오기에는 내장된 실행 취소 기능이 없습니다. 변경 사항을 되돌려야 하는 경우 올바른 값으로 새 CSV를 준비하여 다시 가져오세요. 태그 삭제의 경우 태그 일괄 삭제 워크플로우를 사용하세요.

세그먼트 수가 CSV의 행 수와 일치하지 않는 이유는 무엇입니까?

세그먼트구독된 구독의 수만 계산합니다. 구독 취소된 구독은 가져오기로 업데이트되지만 세그먼트 수에는 반영되지 않습니다.

일부 행에서 가져오기가 “가져오지 않음”으로 표시되는 이유는 무엇입니까?

external_id가 앱의 기존 구독과 일치하지 않거나, email 또는 phone_number가 이미 존재하고 설정할 새 데이터가 없을 때 행이 건너뜁니다. 각 상태에 대한 자세한 내용은 이메일 확인 섹션을 확인하세요.

삭제된 태그가 계속 돌아오는 이유는 무엇입니까?

가져오기 후 통합 또는 SDK 호출이 태그를 다시 추가하고 있을 수 있습니다. 일반적인 소스로는 Segment, HubSpot, Journeys, SDK 태깅 메서드, 사용자 지정 API가 있습니다. 통합 매핑과 이벤트 트리거를 검토하세요.