콘텐츠로 건너뛰기

태그

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

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

사용할 태그 결정하기

Anchor link to

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

태그 값

Anchor link to

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

각 계정에는 몇 개의 태그만 사용할 수 있지만, 각 태그에 거의 무한한 공간이 있다는 점을 고려하면 단 몇 개의 태그만으로도 사용자에 대한 방대한 양의 정보를 수집하고 매우 복잡한 타겟팅 패턴을 설정할 수 있습니다.

태그 유형

Anchor link to
  • Integer — 정수 데이터에 사용됩니다 (게임 내 현금 획득량, 달성 레벨, 나이).
  • String — 문자열 값에 사용됩니다 (사용자 이름, 이메일, 식별자).
  • List — String 유형과 동일하지만, 각 사용자는 동시에 여러 값을 설정할 수 있습니다 (음악 선호도, 뉴스 카테고리, 요리 선호도).
  • Boolean — 참/거짓 유형의 태그입니다.
  • Date — 달력 날짜에 사용됩니다. 기본적으로 이것은 Unix Epoch 타임스탬프를 저장하는 정수 유형 태그입니다 (그레고리력 날짜에서/로 자동 변환됨).
  • 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

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

Anchor link to

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

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

한 사용자가 앱의 iOS 및 Android 버전을 모두 설치했습니다. UserID를 통해 subscription_tier 태그를 "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웹 프로젝트에 기기가 등록되면 모바일 또는 데스크톱 유형이 자동으로 추적됩니다
CityStringServer기기의 마지막으로 등록된 지리적 위치
CountryStringServer기기의 마지막으로 등록된 지리적 위치
Device ModelStringSDK앱이 설치된 기기 모델을 나타냅니다
First InstallDateServer기기가 처음으로 알림에 등록된 시간을 나타냅니다
In-App ProductListSDK앱 사용자가 구매한 인앱 상품
Last In-App Purchase DateDateSDK기기에서 마지막으로 인앱 구매가 이루어진 날짜
LanguageStringSDKISO-639-1에 따른 기기 로케일의 두 글자 소문자 약어; 기기 설정에서 가져옴
Last Application OpenDateServer기기에서 가장 최근에 앱을 실행한 시간
Last Email OpenDateServer기기의 이메일 주소에서 가장 최근에 이메일 열람 이벤트를 등록한 날짜
Last Email Open Message CodeStringServer가장 최근에 열린 이메일의 메시지 코드 (XXXX-XXXXXXXX-XXXXXXXX 형식). 각 PW_EmailOpen 이벤트 시 업데이트됩니다. 특정 이메일 캠페인의 수신자 중 이메일을 연 사람을 기준으로 세분화하는 데 사용하세요
Last Email ClickDateServer기기의 이메일 주소에서 가장 최근에 이메일 링크 클릭을 등록한 날짜
Last Email Click Message CodeStringServer링크가 클릭된 가장 최근 이메일의 메시지 코드 (XXXX-XXXXXXXX-XXXXXXXX 형식). 각 PW_EmailLinkClicked 이벤트 시 업데이트됩니다. 특정 이메일 캠페인의 수신자 중 클릭한 사람을 기준으로 세분화하는 데 사용하세요
Last Email ConfirmDateServer기기의 이메일 주소에 대한 가장 최근의 이중 옵트인 구독 확인 날짜
Bounced EmailDateServer이 이메일 주소에 대해 하드 바운스가 발생한 날짜. 시간 기반 세분화를 활성화하기 위해 날짜로 저장됩니다(예: 최근 바운스가 있는 사용자 제외)
Unsubscribed EmailsBooleanSDK사용자가 앱에서 이메일 수신을 거부했는지 여부를 나타냅니다
OS VersionVersionSDK기기에서 실행 중인 운영 체제의 버전
PlatformStringSDK사용자가 프로젝트를 사용하고 있는 플랫폼입니다.
Push Alerts EnabledBooleanSDK기기 설정에서 푸시 알림이 허용되는지 여부를 나타냅니다
SDK VersionVersionSDK기기에 구현된 Pushwoosh SDK의 버전

사용자 지정 태그

Anchor link to

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

사용자 지정 태그 설정 방법

Anchor link to

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

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

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

요청 본문

Anchor link to
이름유형설명
auth*stringPushwoosh 제어판의 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 제어판의 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 네이티브

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 태그 값으로 이를 포괄해야 합니다.