메인 콘텐츠로 건너뛰기

개요

OneSignal + Google Sheets 통합은 Google Sheets에서 OneSignal로 사용자 지정 이벤트를 자동으로 동기화할 수 있게 합니다. 이를 통해 스프레드시트에 저장된 사용자 행동 데이터를 기반으로 자동화된 저니와 개인화된 메시징 캠페인을 트리거할 수 있으며, 이벤트 데이터를 공동으로 관리하는 팀에 적합합니다.

요구 사항

Google Sheets

  • 이벤트 데이터가 포함된 시트에 대한 액세스 권한이 있는 Google 계정
  • 이벤트 데이터에 대한 적절한 열 구조가 있는 이벤트 스프레드시트
  • OneSignal이 데이터에 액세스할 수 있는 시트 공유 권한
  • 이벤트 추적 시트의 일관된 데이터 형식

설정

1

이벤트 데이터 시트 준비

이벤트 데이터에 필요한 열로 Google Sheet을 구성합니다:필수 열:
  • event_name 또는 event_type: 이벤트 이름 (String)
  • user_id 또는 email: 사용자 식별자 (String)
  • timestamp 또는 created_at: 이벤트 타임스탬프 (Date/DateTime)
  • properties: JSON 또는 별도 열로 된 이벤트 속성 (선택 사항)
예제 시트 구조:
| event_name | user_id | timestamp           | product_id | amount |
|------------|---------|---------------------|------------|--------|
| purchase   | user123 | 2024-01-15 10:30:00 | prod_abc   | 29.99  |
| signup     | user456 | 2024-01-15 11:45:00 |            |        |
2

시트 권한 구성

OneSignal의 서비스 계정과 Google Sheet을 공유합니다:
  1. Google Sheet을 엽니다
  2. 오른쪽 상단의 공유 버튼을 클릭합니다
  3. OneSignal의 서비스 계정 이메일을 추가합니다 (설정 중 제공됨)
  4. 권한을 뷰어(읽기 전용 액세스)로 설정합니다
  5. 전송을 클릭하여 액세스 권한을 부여합니다
OneSignal은 통합 설정 프로세스 중에 특정 서비스 계정 이메일을 제공합니다.
3

OneSignal에서 통합 추가

OneSignal에서 Data > Integrations으로 이동하여 Add Integration을 클릭합니다.Google Sheets를 선택하고 다음을 제공합니다:
  • Sheet URL: Google Sheet의 전체 URL
  • Sheet Name: 이벤트 데이터가 포함된 특정 탭/시트 이름
  • Header Row: 열 헤더가 포함된 행 번호 (일반적으로 1)
  • Data Range: 이벤트 데이터가 포함된 셀 범위 (예: A2:F1000)
4

열 매핑 구성

Google Sheets 열을 OneSignal 이벤트 필드에 매핑합니다:
  • Event Name Column: 이벤트 이름이 포함된 열을 선택합니다
  • User ID Column: 사용자 식별자가 있는 열을 선택합니다
  • Timestamp Column: 이벤트 타임스탬프가 있는 열을 선택합니다
  • Properties Columns: 이벤트 속성으로 포함할 추가 열을 선택합니다
여러 열을 이벤트 속성으로 매핑할 수 있습니다. OneSignal은 이를 단일 이벤트 페이로드로 결합합니다.
5

동기화 일정 설정

OneSignal이 새 이벤트 데이터를 확인해야 하는 빈도를 구성합니다:
  • Sync Frequency: 15분, 시간별 또는 일별 중에서 선택합니다
  • Incremental Sync: 마지막 업데이트 이후 새 행만 동기화하려면 활성화합니다
  • Timestamp Filter: 특정 시간 범위 내의 이벤트만 동기화합니다
Google Sheets에는 API 속도 제한이 있습니다. 대규모 데이터 세트가 있는 시트의 경우 더 빈번한 동기화가 제한될 수 있습니다.
6

연결 테스트

연결 테스트를 클릭하여 OneSignal이 Google Sheet에 액세스하고 이벤트 데이터를 올바르게 읽을 수 있는지 확인합니다.

이벤트 데이터 매핑

를 OneSignal의 사용자 지정 이벤트 형식에 매핑합니다:
OneSignal 필드설명필수
nameevent_name이벤트 식별자Yes
external_iduser_id사용자 식별자Yes
timestampevent_timestamp이벤트가 발생한 시간No
propertiesevent_dataNo

고급 구성

증분 동기화 설정

새 이벤트만 처리하도록 증분 동기화를 구성합니다:
  1. Timestamp Column: 시트에 일관된 타임스탬프 열이 있는지 확인합니다
  2. Sort Order: 이벤트를 타임스탬프별로 정렬합니다 (최신 항목이 마지막)
  3. Append-Only: 시트 하단에 새 이벤트를 추가합니다
  4. Avoid Edits: 동기화된 후 과거 이벤트 행을 수정하지 마세요

데이터 유효성 검사

Google Sheet에서 데이터 유효성 검사를 구현합니다:
데이터 > 데이터 유효성 검사
- Event Name: 범위 목록 (사전 정의된 이벤트 유형)
- User ID: 형식을 확인하는 사용자 지정 수식
- Timestamp: 날짜/시간 형식 유효성 검사
- Amount: 숫자 속성에 대한 숫자 유효성 검사

공동 작업 워크플로

팀 협업을 위한 모범 사례:
  • Named Ranges: 이벤트 데이터 섹션에 명명된 범위를 사용합니다
  • Protected Ranges: 실수로 변경되지 않도록 헤더 행을 보호합니다
  • Comments: 이벤트 정의를 설명하는 주석을 추가합니다
  • Version History: 변경 사항을 추적하기 위해 Google Sheets의 버전 기록을 사용합니다
  • Access Controls: 데이터 입력 팀 구성원으로 편집 액세스를 제한합니다

성능 최적화

대규모 데이터 세트에 대해 최적화합니다:
  • Sheet Limits: 최상의 성능을 위해 개별 시트를 10,000행 미만으로 유지합니다
  • Multiple Sheets: 다양한 이벤트 유형에 별도의 시트를 사용합니다
  • Data Archival: 매월 별도의 시트에 오래된 데이터를 보관합니다
  • Formulas: 이벤트 데이터 범위에서 복잡한 수식을 최소화합니다
Google Sheets는 총 50,000개 미만의 셀에서 가장 잘 작동합니다. 대용량 이벤트 추적의 경우 대신 데이터베이스 소스를 사용하는 것을 고려하세요.

FAQ

OneSignal은 Google Sheets에서 얼마나 자주 이벤트를 동기화하나요?

OneSignal은 15분마다 동기화할 수 있지만 Google의 API 제한을 준수하기 위해 대부분의 사용 사례에서 시간별 또는 일별 동기화를 권장합니다.

여러 팀 구성원이 동일한 시트에 이벤트를 추가할 수 있나요?

예, Google Sheets는 실시간 협업을 지원합니다. 그러나 팀 구성원이 필요한 데이터 형식과 열 구조를 이해하는지 확인하세요.

누군가 과거 이벤트 데이터를 편집하면 어떻게 되나요?

OneSignal은 타임스탬프와 행 위치를 기반으로 동기화합니다. 과거 데이터를 편집하면 중복 이벤트 또는 데이터 불일치가 발생할 수 있습니다. 추가 전용 워크플로를 권장합니다.