Skip to main content

개요

OneSignal + BigQuery 통합은 두 가지 강력한 데이터 파이프라인을 지원합니다:
  • 내보내기: OneSignal의 메시징 이벤트 데이터(푸시, 이메일, SMS, 인앱)를 BigQuery로 자동으로 전송하여 분석 및 보고합니다.
  • 가져오기: BigQuery 데이터 세트의 사용자 지정 사용자 이벤트를 OneSignal로 동기화하여 자동화된 Journeys 및 개인화된 메시징을 트리거합니다.
함께 사용하면 이러한 통합을 통해 사용자 참여 데이터를 완전히 제어하여 고급 분석 및 실시간 행동 기반 메시징을 지원합니다.

OneSignal 이벤트를 BigQuery로 내보내기

메시징 성능 및 참여 이벤트(예: 전송, 열기, 클릭)를 BigQuery로 전송하여:
  • 사용자 지정 대시보드 및 보고서 구축
  • 채널 전반에 걸친 전달 및 참여 추세 추적
  • 분석을 위해 OneSignal 데이터를 다른 비즈니스 데이터와 결합
요구 사항
  • 청구가 활성화된 Google Cloud Platform 프로젝트
  • GCP 프로젝트에서 활성화된 BigQuery
  • BigQuery 쓰기 권한이 있는 서비스 계정
설정 단계

1. 서비스 계정 만들기

1

Google Cloud Platform 계정에 로그인

로그인한 후 적절한 프로젝트가 선택되었는지 확인합니다.
2

서비스 계정 만들기

서비스 계정 만들기 페이지를 방문하고 서비스 계정 만들기를 클릭합니다.
3

필드 작성

원하는 이름과 서비스 계정 ID를 지정합니다.
4

'BigQuery User' 역할 할당

서비스 계정에 “BigQuery User” 역할을 부여합니다.
5

이 계정에 대한 JSON 키 만들기

새 서비스 계정 > > 키 추가 > 새 키 만들기로 이동하여 JSON을 선택합니다. 파일을 저장합니다.
이 JSON 키 파일의 전체 내용을 OneSignal에 붙여넣어 통합을 활성화합니다.

2. OneSignal에서 통합 활성화

1

OneSignal > 데이터 > 통합 > BigQuery로 이동

2

서비스 계정 JSON 키 붙여넣기

3

설정 구성

  • 동기화 빈도: 15분마다 동기화 가능
  • 데이터 세트/테이블 이름: 소문자, 숫자 및 밑줄만 포함해야 하며 숫자로 시작할 수 없습니다.
  • 이벤트 유형: 특정 메시지 이벤트 선택(예: 전송됨, 열림, 클릭됨)
    • 참고: 여러 이벤트 유형을 선택하거나 나중에 선택한 이벤트를 업데이트할 수 있습니다.
4

저장을 클릭하고 확인 대기

초기 데이터 동기화는 BigQuery에 나타나는 데 15-30분이 걸릴 수 있습니다.대기하는 동안 푸시, 이메일, 인앱 또는 SMS를 통해 메시지를 보내 선택한 이벤트를 트리거하세요.

3. BigQuery에서 데이터 보기

BigQuery 콘솔을 열고 데이터 세트(예: onesignal_events_<app-id>)를 찾아 동기화된 메시지 이벤트를 탐색합니다.

BigQuery dataset containing exported message events

메시지 이벤트 및 속성

메시지 이벤트 종류

속성: event_kind 유형: String 메시지 및 이벤트의 종류(예: message.push.received, message.push.sent).

이벤트 데이터 스키마

사용자가 생성한 각 메시지 이벤트에 대해 다음 메타데이터가 레코드에 첨부됩니다.

참고 사항

  • 저장/활성화 후 동기화는 완료하는 데 추가로 15-30분이 소요될 수 있습니다.
  • 비활성화하면 비활성화 후 최종 동기화가 한 번 더 발생할 수 있습니다.
  • 효율적인 데이터 동기화를 보장하기 위해 시스템은 스테이징 데이터 세트를 자동으로 생성하고 관리합니다. 이러한 데이터 세트는 fivetran_{두 개의 무작위 단어}_staging과 같은 패턴으로 이름이 지정되며, 기본 스키마에 통합되기 전에 처리 중에 데이터를 임시로 저장합니다. 이러한 스테이징 데이터 세트는 간소화된 워크플로를 유지하는 데 필수적이며 자동으로 다시 생성되므로 삭제하면 안 됩니다.

BigQuery에서 이벤트 가져오기

BigQuery의 행동 이벤트 데이터를 OneSignal로 전송하여:
  • 사용자 활동을 기반으로 Journeys 트리거
  • 행동 데이터를 기반으로 메시징 개인화
요구 사항
  • BigQuery 및 이벤트 데이터 테이블이 있는 GCP 프로젝트
  • 읽기 권한이 있는 서비스 계정
  • BigQuery 데이터 세트에 행동 데이터가 포함된 이벤트 데이터 테이블
설정 단계
1

BigQuery 서비스 계정 만들기

OneSignal은 연결을 만들 때 자동으로 서비스 계정을 생성합니다. 또는 자체 서비스 계정 키 JSON 파일을 제공할 수 있습니다.자체 서비스 계정을 만드는 경우 아래에 나열된 필수 권한이 있는지 확인하세요.
2

필수 권한 부여

OneSignal 서비스 계정에는 다음 BigQuery IAM 역할이 필요합니다:
  • bigquery.dataViewer - 이벤트 데이터가 포함된 데이터 세트 및 테이블에 대한 읽기 액세스
  • bigquery.jobUser - 데이터 쿼리를 위한 작업 생성 권한
  • bigquery.metadataViewer - 프로젝트 수준 메타데이터 액세스(권장)
Google Cloud Console 또는 CLI를 사용하여 권한을 부여합니다:
3

OneSignal에 통합 추가

OneSignal에서 Data > Integrations으로 이동하여 Add Integration을 클릭합니다.

BigQuery 통합 추가

  • 동기화 엔진: 대규모 데이터 세트 또는 복잡한 이벤트 데이터 쿼리에는 고급 동기화가 권장됩니다. 기본 동기화로 시작한 다음 필요한 경우 나중에 고급 동기화로 전환할 수 있습니다.
  • Google Cloud 프로젝트 ID: BigQuery 데이터 세트가 포함된 GCP 프로젝트
  • 데이터 세트 지역: BigQuery 데이터 세트가 저장된 위치
  • 서비스 계정 키 (선택 사항): 자체 서비스 계정을 사용하는 경우 JSON 키 파일
4

이벤트 데이터 소스 구성

이벤트 데이터가 포함된 BigQuery 데이터 세트 및 테이블을 지정합니다:
  • 데이터 세트: BigQuery 데이터 세트 이름(예: analytics_events)
  • 테이블/뷰: 이벤트 레코드가 포함된 테이블 또는 뷰
  • 이벤트 쿼리: 이벤트 데이터를 필터링하거나 변환하기 위한 선택적 SQL 쿼리
이벤트 테이블에는 다음에 대한 열이 포함되어야 합니다:
  • 이벤트 이름/유형
  • 사용자 식별자
  • 이벤트 타임스탬프
  • 추가 이벤트 속성
5

연결 테스트

연결 테스트를 클릭하여 OneSignal이 BigQuery 프로젝트에 액세스하고 이벤트 데이터를 읽을 수 있는지 확인합니다.

이벤트 데이터 매핑

를 OneSignal의 사용자 지정 이벤트 형식에 매핑합니다:

고급 구성

사용자 지정 SQL 쿼리

OneSignal로 동기화하기 전에 사용자 지정 SQL을 사용하여 이벤트 데이터를 필터링하거나 변환합니다:

교차 프로젝트 액세스

이벤트 데이터가 여러 BigQuery 프로젝트에 걸쳐 있는 경우 참조된 테이블 또는 뷰가 포함된 각 프로젝트에 OneSignal 서비스 계정 액세스를 부여합니다.
최적의 성능을 위해 BigQuery 연결 지역이 특정 테이블 지역과 일치해야 합니다.

FAQ

동기화가 실패하는 이유는 무엇인가요?

동기화가 실패하는 몇 가지 일반적인 이유가 있습니다:
  • 서비스 계정에 필요한 권한이 없습니다
  • 소스 데이터 세트가 기본 동기화에 비해 너무 크며 고급 동기화를 사용해야 합니다
위의 설정 단계를 검토하고 올바르게 따랐는지 확인하세요. 여전히 문제가 있는 경우 support@onesignal.com에 문의하세요.

동일한 콘텐츠에 대해 여러 메시지 ID가 표시되는 이유는 무엇인가요?

일반적으로 메시지 템플릿이 여러 전송 또는 트리거된 플로우에서 재사용될 때 발생합니다.

OneSignal은 얼마나 자주 데이터를 동기화하나요?

내보내기 및 가져오기 통합 모두 15분마다 동기화할 수 있습니다.

BigQuery 뷰를 사용할 수 있나요?

예. 서비스 계정이 뷰에서 참조된 모든 테이블에 액세스할 수 있는지 확인하기만 하면 됩니다.

관련 리소스