메인 콘텐츠로 건너뛰기
구독자가 구독한 페이지 주제 또는 URL 경로와 같은 컨텍스트 데이터로 웹 푸시 구독자에게 태그를 지정하여 타겟팅된 후속 캠페인을 제공합니다. 이 튜토리얼은 옵트인 감지, 태그 적용, 세그먼트 구축, 메시지 자동화를 다룹니다. 전제 조건:

설정

1. 페이지별 메타데이터로 사용자에게 태그 지정

사용자가 푸시 알림을 구독할 때 PushSubscription.addEventListener 리스너를 사용하여 옵트인을 감지하고 보고 있던 페이지에 대한 컨텍스트 데이터가 포함된 태그를 적용합니다.
function pushSubscriptionChangeListener(event) {
  if (event.current.optedIn && !event.previous.optedIn) {
    // User just opted in — tag with subscription context
    var pathSegment = window.location.pathname.split('/')[1] || 'home';
    var pageTopic = document.querySelector('meta[name="article-topic"]')?.content || 'general';

    OneSignal.User.addTags({
      subscription_page: pathSegment,
      subscription_page_topic: pageTopic,
    });
  }
}

OneSignalDeferred.push(function(OneSignal) {
  OneSignal.User.PushSubscription.addEventListener("change", pushSubscriptionChangeListener);
});
작동 방식:
  • change 이벤트는 사용자의 푸시 구독 상태가 변경될 때(옵트인, 옵트아웃, 토큰 새로 고침) 실행됩니다.
  • 사용자가 활성 구독을 가질 때 event.current.optedIntrue입니다. !event.previous.optedIn을 확인하면 태그가 모든 상태 변경이 아닌 최초 옵트인 시에만 적용됩니다.
  • window.location.pathname.split('/')[1]은 구독 컨텍스트로 첫 번째 경로 세그먼트를 캡처합니다. 예를 들어 URL이 https://example.com/gaming/article-123이면 subscription_page 태그는 gaming으로 설정됩니다.
  • pageTopic<meta> 태그에서 추출되며 'general'로 폴백됩니다. 사이트의 메타데이터 구조에 맞게 조정하세요.

2. 태그별로 사용자 세분화

태그가 적용되면 세그먼트 또는 API 필터를 사용하여 해당 태그를 기반으로 사용자를 타겟팅합니다. 예를 들어:
  • subscription_pagegaming인 사용자에게 캠페인 보내기
  • 태그 값 및 타이밍을 기반으로 동적 세그먼트 만들기(예: 첫 세션 이후 시간)

3. 후속 메시징 자동화

사용자가 구독한 시기와 구독한 콘텐츠를 기반으로 메시지를 트리거하는 드립 스타일 캠페인을 구축합니다. 예제: 게임 구독자를 위한 드립 캠페인
세그먼트 이름필터설명
Gaming 1subscription_page = gaming AND First Session > 2h AND < 24h구독 후 2~24시간 후 연락
Gaming 2subscription_page = gaming AND First Session > 24h AND < 48h1일 후 후속 조치
Gaming 3subscription_page = gaming AND First Session > 72h AND < 96h3일 후 최종 확인
메시징 기간이 지나면 사용자가 세그먼트에 남아 있지 않도록 상한 시간 제한(<)을 사용하세요.

4. 세그먼트와 메시지 템플릿 결합

세그먼트가 생성되면:
  • 캠페인의 각 단계(예: 소개, 알림, 프로모션)에 대한 템플릿을 작성합니다.
  • Journeys를 사용하여 사용자가 적절한 세그먼트에 진입할 때 이러한 메시지를 보냅니다.
예제 메시지 아이디어:
  • 게임 커뮤니티 또는 소셜 그룹 초대
  • 주제와 관련된 인기 기사 추천
  • 독점 제안 또는 할인 코드 보내기

모범 사례

  • 실제 사용자 의도를 반영하는 의미 있는 태그 이름 및 값을 사용하세요.
  • 가능한 경우 페이지 메타데이터에서 태그 값을 동적으로 추출하세요.
  • 최초 옵트인 시에만 태그를 지정하세요 — 위의 리스너 예제는 모든 상태 변경 시 재태그 지정을 방지하기 위해 !event.previous.optedIn을 확인합니다.
태그 값에 이름이나 이메일 주소와 같은 개인 식별 정보(PII)를 포함하지 마세요. 전체 사이트에서 태그 값을 하드코딩하는 것을 피하고 페이지 컨텍스트에서 동적으로 추출하세요.

자주 묻는 질문

사용자가 브라우저 데이터를 지우면 태그가 유지됩니까?

아니요. 브라우저 데이터를 지우면 새 구독이 생성됩니다. 사용자가 다시 구독하면(수동으로 또는 자동 재구독을 통해), change 리스너가 다시 실행되고 현재 페이지를 기반으로 태그가 재적용됩니다.

최초 구독 후 태그를 업데이트할 수 있습니까?

예. 언제든지 OneSignal.User.addTags()를 호출하여 태그를 추가하거나 업데이트할 수 있습니다. 구독 리스너는 초기 컨텍스트에 유용하지만, 지속적인 행동을 기반으로 사용자에게 태그를 지정할 수도 있습니다.

관련 페이지

태그

이벤트 또는 속성을 기반으로 사용자에게 사용자 지정 키-값 쌍을 설정합니다.

웹 SDK 참조

구독 리스너 및 태그 지정 메서드를 포함한 OneSignal 웹 SDK의 전체 참조.

세그먼트

타겟 메시징을 위해 속성, 태그 및 행동별로 사용자를 그룹화합니다.

Journeys

세그먼트 진입 또는 사용자 지정 이벤트에 의해 트리거되는 다단계 메시징 워크플로를 구축합니다.