콘텐츠로 건너뛰기

태그

태그는 Pushwoosh가 제공하는 가장 유용한 도구 중 하나로, 다양한 정교한 기능을 가능하게 합니다. 태그를 사용하면 잠재고객을 세분화하고 속성에 따라 특정 사용자에게 타겟 푸시 알림을 보낼 수 있습니다.

태그는 특정 사용자 또는 기기와 관련된 임의의 데이터를 포함할 수 있습니다. 이 데이터에는 사용자 이름, ID, 도시, 좋아하는 축구팀, 선호하는 뉴스 카테고리 또는 사용자에 대한 기타 관련 정보가 포함될 수 있습니다.

어떤 태그를 사용할지 결정하기

Anchor link to

먼저 비즈니스 요구 사항을 파악하고 잠재고객을 어떻게 세분화할지 결정하는 것부터 시작하세요. 연령, 위치, 인앱 구매 내역 또는 사용자를 타겟팅하기 위한 기타 관련 기준과 같은 요소를 고려하세요.

태그 값

Anchor link to

태그 값은 푸시 캠페인을 더 스마트하게 만드는 데 도움이 될 수 있습니다. 각 태그는 _거의 무한한 수의 값_을 저장할 수 있습니다. 기본적으로 이는 하나의 태그만으로도 데이터베이스에 있는 각 최종 사용자에 대한 특정 유형의 정보를 기록하기에 충분하다는 것을 의미합니다.

각 계정에는 몇 개의 태그만 사용할 수 있지만, 각 태그에 대한 거의 무한한 공간을 고려할 때, 단 몇 개의 태그만으로도 사용자에 대한 엄청난 양의 정보를 수집하고 매우 복잡한 타겟팅 패턴을 설정하기에 충분합니다.

태그 유형

Anchor link to
  • Integer — 정수 데이터(게임 내 획득한 현금, 달성 레벨, 나이)에 사용됩니다.
  • String — 문자열 값(사용자 이름, 이메일, 식별자)에 사용됩니다.
  • List — String 타입과 동일하지만, 각 사용자는 동시에 여러 값을 설정할 수 있습니다(음악 선호도, 뉴스 카테고리, 요리 선호도).
  • Boolean — true / false 유형의 태그입니다.
  • Date — 달력 날짜에 사용됩니다. 기본적으로 이것은 유닉스 에포크 타임스탬프를 저장하는 정수 유형 태그입니다(그레고리력 날짜에서/로 자동 변환됨).
  • Price — ”*.XX” 형식으로 지정된 통화에 따라 값을 설정할 수 있습니다 더 알아보기.
  • Version — 버전 관리에 사용됩니다. 허용되는 형식의 예는 w.x.y.z (Major.Minor.Patch.Build)입니다. 각 버전 부분의 최대값은 9999이므로 최대 버전 번호는 9999.9999.9999.9999보다 클 수 없습니다.

태그 연산자

Anchor link to

각 태그 유형에는 적용 가능한 특정 연산자 집합이 있습니다. 태그 연산자는 세분화 목적으로 태그와 그 값 사이의 관계를 정의합니다.

  • Integer 태그 연산자: is, is not, are, not in, not set, any
  • String 태그 연산자: is, is not, are, not in, not set, any
  • List 태그 연산자: in, not in, not set, any
  • Boolean 태그 연산자: is (true/false), not set, any
  • Date 태그 연산자: exactly on, on or after, on or before, between, not set, any
  • Price 태그 연산자: is, is not, greater or equals, less or equals, between, in, not in, not set, any
  • Version 태그 연산자: is, is not, greater or equals, less or equals, between, in, not in, not set, any

태그 범위: 일반 vs 사용자별

Anchor link to

태그를 생성할 때 값이 저장되는 방식을 선택합니다:

  • 일반 (기본값, user_specific: false): 태그 값은 기기(HWID)별로 저장됩니다. 동일한 사용자의 각 기기는 독립적으로 다른 값을 가질 수 있습니다.
  • 사용자별 (user_specific: true): 태그 값은 사용자(UserID)별로 저장됩니다. UserID를 통해 설정하면 해당 값은 사용자의 모든 기기에 한 번에 적용됩니다. 구독 등급, 로열티 포인트, 선호 언어와 같이 특정 기기가 아닌 개인에게 속하는 속성에 유용합니다.

한 사용자가 앱의 iOS 및 Android 버전을 모두 설치했습니다. subscription_tier 태그를 UserID를 통해 "premium"으로 설정하면 두 기기에 즉시 적용됩니다. 일반 태그를 사용하면 기기별로 별도로 설정해야 합니다.

예시: UserID를 통해 사용자별 태그 설정하기
{
"request":{
"application": "XXXXX-XXXXX",
"userId": "the id of a specific user",
"tags": {
"subscription_tier": "premium",
"loyalty_points": 350
}
}
}

기본 태그

Anchor link to

이러한 태그는 Pushwoosh에서 기본적으로 제공되므로 수동으로 설정할 필요가 없습니다(사실, 설정해서는 안 됩니다). 대부분은 애플리케이션에서 설정되어 registerDevice 및 기타 API 호출을 통해 서버로 전송되며, 일부는 서버 자체에서 설정됩니다.

이름유형설정 위치설명
Application VersionVersionSDK기기에 설치된 앱의 현재 버전
Browser TypeStringSDK웹 프로젝트에 기기가 등록되면 모바일 또는 데스크톱 유형이 자동으로 추적됩니다
CityString서버기기의 최신 등록된 지리적 위치
CountryString서버기기의 최신 등록된 지리적 위치
Device ModelStringSDK앱이 설치된 기기 모델을 나타냅니다
First InstallDate서버기기가 처음으로 알림에 등록된 시간을 나타냅니다
In-App ProductListSDK앱 사용자가 구매한 인앱 제품
Last In-App Purchase DateDateSDK기기에서 마지막으로 인앱 구매가 이루어진 날짜
LanguageStringSDKISO-639-1에 따른 기기 로케일의 두 글자 소문자 약어; 기기 설정에서 가져옴
Last Application OpenDate서버기기에서 가장 최근에 앱을 실행한 시간
OS VersionVersionSDK기기에서 실행 중인 운영 체제의 버전
PlatformStringSDK사용자가 프로젝트를 사용하고 있는 플랫폼입니다.
Push Alerts EnabledBooleanSDK기기 설정에서 푸시 알림이 허용되는지 여부를 나타냅니다
SDK VersionVersionSDK기기에 구현된 Pushwoosh SDK의 버전
Unsubscribed EmailsBooleanSDK사용자가 앱에서 이메일 수신을 거부했는지 여부를 나타냅니다

사용자 지정 태그

Anchor link to

여기서 특정 비즈니스 목표를 달성하기 위해 창의력을 발휘할 수 있습니다. 사용자 지정 태그는 고유한 비즈니스 요구에 적합한 세분화 로직 또는 타겟팅 패턴을 기반으로 생성할 수 있습니다. 마케팅 팀과 협력하여 캠페인에 필요한 추가 사용자 지정 태그를 정의하세요.

사용자 지정 태그 설정 방법

Anchor link to

Pushwoosh Control Panel에서 새 태그를 추가하거나 /addTag 메서드를 사용할 수 있습니다.

POST https://api.pushwoosh.com/json/1.3/addTag

계정에 태그를 생성합니다.

요청 본문

Anchor link to
이름유형설명
auth*stringPushwoosh Control Panel의 API 액세스 토큰입니다.
tag*object태그 매개변수입니다.
tag.name*string태그 이름입니다.
tag.type*integer태그 유형입니다. 아래에서 가능한 값을 참조하세요.
tag.user_specificbooleantrue인 경우, 태그 값은 사용자 수준에 저장되며 UserID로 설정 시 사용자의 모든 기기에서 공유됩니다. false(기본값)인 경우, 태그는 기기 수준이며 HWID별로 설정됩니다.
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": true
}
}
예시
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // 필수, Pushwoosh Control Panel의 API 액세스 토큰
"tag": {
"name": "TAG_NAME", // 필수
"type": 1, // 필수, 아래 가능한 값 참조
"user_specific": false // 선택. true = 사용자 수준; false = 기기 수준 (기본값)
}
}
}

가능한 태그 값 유형:

  • 1 - Integer
  • 2 - String
  • 3 - List
  • 4 - Date
  • 5 - Boolean
  • 6 - Decimal. 예: 19.95
  • 7 - Version. 예: “1.0.0.0”

사용자로부터 정보 수집 방법

Anchor link to

태그를 추가하고 구성하면 사용자로부터 정보를 수집할 준비가 된 것입니다. 이를 구현하려면 다음 단계를 따르세요:

  1. 관련 통합 가이드에 따라 Pushwoosh SDK를 프로젝트에 통합합니다.
  2. setTags 함수를 사용하여 태그를 할당하고 사용자 데이터를 수집합니다.

아래는 setTags 함수를 사용하는 다양한 프레임워크의 구현 예시입니다.

iOS Native

NSDictionary *tags = @{
@"Alias" : aliasField.text,
@"FavNumber" : @([favNumField.text intValue]),
@"price" : [PWTags incrementalTagWithInteger:5],
@"List" : @[ @"Item1", @"Item2", @"Item3" ]
};
[[PushNotificationManager pushManager] setTags:tags];

문서

Unity

기기에 Integer 태그를 설정합니다.

public virtual void SetIntTag(string tagName, int tagValue)
SetStringTag
Anchor link to

기기에 String 태그를 설정합니다.

public virtual void SetStringTag(string tagName, string tagValue)
SetListTag
Anchor link to

기기에 List 태그를 설정합니다.

public virtual void SetListTag(string tagName, List<object> tagValues)

문서

API를 통한 태그 설정

Anchor link to

대부분의 경우(99%) 태그는 애플리케이션에서 설정되지만, Pushwoosh API를 통해서도 태그를 설정할 수 있습니다. 아래는 /setTags 엔드포인트에 대한 일반적인 요청 예시입니다:

POST https://api.pushwoosh.com/json/1.3/setTags

{
"request": {
"application": "XXXXX-XXXXX", // 필수, Pushwoosh 애플리케이션 코드
"hwid": "8f65bXXXf378eXXXbeceXXX4e153XXX2", // 필수, /registerDevice API에서 사용되는 하드웨어 기기 ID
"tags": { // 필수
"StringTag": "string value", // 문자열 태그 예시
"IntegerTag": 42, // 정수 태그 예시
"ListTag": ["string1", "string2"], // 목록 태그 예시
"DateTag": "2024-10-02 22:11", // 참고: 시간은 UTC여야 합니다
"BooleanTag": true // 유효한 값: true, false
}
}
}

자세한 내용은 setTags API 문서를 참조하세요

기본 City 태그 사용하기

Anchor link to

기기의 위치는 해당 기기에서 앱이 마지막으로 실행된 순간의 IP 주소를 기반으로 결정됩니다. GeoIP는 위치 데이터를 Pushwoosh에 제출하고, Pushwoosh는 GeoIP에서 받은 위치를 특정 기기의 City 태그 값으로 저장합니다.

경우에 따라 GeoIP가 제출한 위치가 도시 이름과 다를 수 있습니다. 예를 들어, 도시의 한 지역이나 다른 행정 단위를 참조하는 경우입니다. 세분화를 위해 기본 City 태그를 사용할 때는 주의하세요: 올바른 값을 선택해야 합니다.

예를 들어, 뮌헨의 사용자를 타겟팅하려는 경우, “Munich” 자체(GeoIP에 의해 반환되고 태그 값으로 저장될 수 있는 다양한 철자 변형과 같은 모든 해당 값을 포함)와 여러 인근 지역을 포함하는 여러 City 태그 값으로 이를 커버해야 합니다.