ข้ามไปยังเนื้อหา

แท็ก

แท็กเป็นหนึ่งในเครื่องมือที่มีประโยชน์ที่สุดที่ Pushwoosh นำเสนอ ซึ่งช่วยให้สามารถใช้งานฟังก์ชันที่ซับซ้อนได้หลากหลาย ด้วยการใช้แท็ก คุณสามารถแบ่งกลุ่มเป้าหมายของคุณและส่ง push notifications ที่ตรงเป้าหมายไปยังผู้ใช้ที่เฉพาะเจาะจงตามคุณลักษณะของพวกเขาได้

แท็กสามารถมีข้อมูลใดๆ ก็ได้ที่เกี่ยวข้องกับผู้ใช้หรืออุปกรณ์นั้นๆ ข้อมูลนี้อาจรวมถึงชื่อผู้ใช้, ID, เมือง, ทีมฟุตบอลที่ชื่นชอบ, หมวดหมู่ข่าวที่ต้องการ หรือข้อมูลอื่นๆ ที่เกี่ยวข้องกับผู้ใช้ของคุณ

การตัดสินใจว่าจะใช้แท็กใด

Anchor link to

เริ่มต้นด้วยการระบุความต้องการทางธุรกิจของคุณและกำหนดว่าคุณต้องการแบ่งกลุ่มเป้าหมายของคุณอย่างไร พิจารณาปัจจัยต่างๆ เช่น อายุ, สถานที่, ประวัติการซื้อในแอป หรือเกณฑ์อื่นๆ ที่เกี่ยวข้องสำหรับการกำหนดเป้าหมายผู้ใช้

ค่าของแท็ก

Anchor link to

ค่าของแท็กสามารถช่วยให้แคมเปญ push ของคุณฉลาดขึ้นได้ แต่ละแท็กสามารถจัดเก็บค่าได้ เกือบไม่จำกัดจำนวน โดยพื้นฐานแล้ว นี่หมายความว่าแท็กเดียวก็เพียงพอที่จะบันทึกข้อมูลประเภทเฉพาะเกี่ยวกับผู้ใช้แต่ละคนในฐานข้อมูลของคุณ

ประเภทของแท็ก

Anchor link to
  • Integer — ใช้สำหรับข้อมูลจำนวนเต็ม (จำนวนเงินในเกมที่ได้รับ, ระดับที่ไปถึง, อายุ)
  • String — ใช้สำหรับค่าสตริง (ชื่อผู้ใช้, อีเมล, ตัวระบุ)
  • List — เหมือนกับประเภท String แต่ผู้ใช้แต่ละคนสามารถมีค่าได้หลายค่าพร้อมกัน (ความชอบทางดนตรี, หมวดหมู่ข่าว, ความชอบด้านอาหาร)
  • Boolean — แท็กประเภท true / false
  • Date — ใช้สำหรับวันที่ในปฏิทิน โดยพื้นฐานแล้ว นี่คือแท็กประเภทจำนวนเต็มที่จัดเก็บ Unix Epoch timestamps (แปลงจาก/เป็นวันที่แบบเกรกอเรียนโดยอัตโนมัติ)
  • Price — อนุญาตให้ตั้งค่าตามสกุลเงินที่ระบุในรูปแบบ “*.XX” เรียนรู้เพิ่มเติม
  • Version — ใช้สำหรับการกำหนดเวอร์ชัน ตัวอย่างรูปแบบที่อนุญาตคือ w.x.y.z (Major.Minor.Patch.Build) ค่าสูงสุดสำหรับแต่ละส่วนของเวอร์ชันคือ 9999 ดังนั้นหมายเลขเวอร์ชันสูงสุดต้องไม่เกิน 9999.9999.9999.9999

ตัวดำเนินการของแท็ก

Anchor link to

แท็กแต่ละประเภทมีชุด ตัวดำเนินการ ที่สามารถใช้ได้เฉพาะ ตัวดำเนินการของแท็กจะกำหนดความสัมพันธ์ระหว่างแท็กและค่าของมันเพื่อวัตถุประสงค์ในการแบ่งกลุ่ม

  • ตัวดำเนินการของ Integer Tag: is, is not, are, not in, not set, any
  • ตัวดำเนินการของ String Tag: is, is not, are, not in, not set, any
  • ตัวดำเนินการของ List Tag: in, not in, not set, any
  • ตัวดำเนินการของ Boolean Tag: is (true/false), not set, any
  • ตัวดำเนินการของ Date Tag: exactly on, on or after, on or before, between, not set, any
  • ตัวดำเนินการของ Price Tag: is, is not, greater or equals, less or equals, between, in, not in, not set, any
  • ตัวดำเนินการของ Version Tag: is, is not, greater or equals, less or equals, between, in, not in, not set, any

ขอบเขตของแท็ก: ทั่วไป vs เฉพาะผู้ใช้

Anchor link to

เมื่อสร้างแท็ก คุณสามารถเลือกวิธีการจัดเก็บค่าของมันได้:

  • General (user_specific: false ซึ่งเป็นค่าเริ่มต้นสำหรับ /addTag): ค่าของแท็กจะถูกจัดเก็บต่ออุปกรณ์ (HWID) แต่ละอุปกรณ์ของผู้ใช้คนเดียวกันสามารถมีค่าที่แตกต่างกันได้อย่างอิสระ
  • User-specific (user_specific: true ซึ่งเป็นค่าเริ่มต้นในฟอร์มของ Control Panel และสำหรับแท็กที่สร้างขึ้นโดยอัตโนมัติด้วย setTags): ค่าของแท็กจะถูกจัดเก็บต่อผู้ใช้ (UserID) เมื่อตั้งค่าผ่าน UserID ค่าจะถูกนำไปใช้กับอุปกรณ์ทั้งหมดของผู้ใช้ในครั้งเดียว มีประโยชน์สำหรับคุณลักษณะที่เป็นของบุคคล ไม่ใช่อุปกรณ์เฉพาะ: ระดับการสมัครสมาชิก, คะแนนสะสม, ภาษาที่ต้องการ

ตัวอย่าง

Anchor link to

ผู้ใช้คนหนึ่งติดตั้งแอปของคุณทั้งเวอร์ชัน iOS และ Android การตั้งค่าแท็ก subscription_tier เป็น "premium" ผ่าน UserID ของพวกเขาจะนำไปใช้กับอุปกรณ์ทั้งสองทันที หากใช้แท็กแบบ General คุณจะต้องตั้งค่าสำหรับแต่ละอุปกรณ์แยกกัน

ตัวอย่าง: ตั้งค่าแท็กเฉพาะผู้ใช้ผ่าน 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 อื่นๆ และบางส่วนถูกตั้งค่าโดยเซิร์ฟเวอร์เอง SMS Marketing Consent และ Viber Marketing Consent เป็นข้อยกเว้น นักพัฒนาของคุณจะตั้งค่าแท็กเหล่านี้ด้วย setTags เมื่อบุคคลยินยอมหรือปฏิเสธการรับข้อความทางการตลาด

NameTypeWhere it’s setDescription
Application VersionVersionSDKเวอร์ชันปัจจุบันของแอปที่ติดตั้งบนอุปกรณ์
Browser TypeStringSDKเมื่ออุปกรณ์ถูกลงทะเบียนสำหรับโปรเจกต์เว็บของคุณ ประเภทของมัน – มือถือหรือเดสก์ท็อป – จะถูกติดตามโดยอัตโนมัติ
CityStringServerตำแหน่งทางภูมิศาสตร์ล่าสุดที่ลงทะเบียนของอุปกรณ์
CountryStringServerตำแหน่งทางภูมิศาสตร์ล่าสุดที่ลงทะเบียนของอุปกรณ์
Device ModelStringSDKระบุรุ่นของอุปกรณ์ที่ติดตั้งแอป
First InstallDateServerระบุเวลาที่อุปกรณ์ลงทะเบียนเพื่อรับการแจ้งเตือนเป็นครั้งแรก
In-app ProductListSDKผลิตภัณฑ์ในแอปที่ผู้ใช้ซื้อ
Last In-app Purchase dateDateSDKวันที่ของการซื้อในแปล่าสุดที่ทำบนอุปกรณ์
LanguageStringSDKตัวย่อสองตัวอักษรพิมพ์เล็กของภาษาท้องถิ่นของอุปกรณ์ตามมาตรฐาน ISO-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วันที่ของการยืนยันการสมัครสมาชิกแบบ Double Opt-In ล่าสุดสำหรับที่อยู่อีเมลของอุปกรณ์
Bounced EmailDateServerวันที่เกิด hard bounce สำหรับที่อยู่อีเมลนี้ จัดเก็บเป็น Date เพื่อเปิดใช้งานการแบ่งกลุ่มตามเวลา เช่น เพื่อยกเว้นผู้ใช้ที่มีการตีกลับล่าสุด
Unsubscribed EmailsBooleanSDKระบุว่าผู้ใช้ได้ยกเลิกการรับอีเมลจากแอปของคุณหรือไม่
SMS Marketing ConsentBooleanServer, setTagsระบุว่าผู้สมัครรับ SMS ยินยอมรับ SMS ทางการตลาดหรือไม่: true ยินยอม, false เลือกไม่รับ, ไม่มีค่าคือไม่ทราบ เรียนรู้เพิ่มเติม
Viber Marketing ConsentBooleanServer, setTagsระบุว่าผู้สมัครรับ Viber ยินยอมรับข้อความทางการตลาดผ่าน Viber หรือไม่: true ยินยอม, false เลือกไม่รับ, ไม่มีค่าคือไม่ทราบ เรียนรู้เพิ่มเติม
OS VersionVersionSDKเวอร์ชันของระบบปฏิบัติการที่ทำงานบนอุปกรณ์
PlatformStringSDKแพลตฟอร์มที่ผู้ใช้กำลังใช้โปรเจกต์ของคุณ
Push Alerts EnabledBooleanSDKระบุว่าการแจ้งเตือนแบบ push ได้รับอนุญาตในการตั้งค่าอุปกรณ์หรือไม่
Push Permission StatusStringSDKสถานะสิทธิ์การแจ้งเตือนแบบ push บนอุปกรณ์ เช่น not_determined, provisional, granted_explicit หรือ denied สงวนไว้: คุณไม่สามารถสร้างแท็กที่กำหนดเองด้วยชื่อนี้ได้ เรียนรู้เพิ่มเติม
SDK VersionVersionSDKเวอร์ชันของ Pushwoosh SDK ที่ติดตั้งบนอุปกรณ์
Live Activity IDListSDKใช้สำหรับจัดการ Live Activities โดยเชื่อมโยง Live Activity ID กับอุปกรณ์ ล้างข้อมูลโดยอัตโนมัติหลังจาก 12 ชั่วโมง สงวนไว้: คุณไม่สามารถสร้างแท็กที่กำหนดเองด้วยชื่อนี้ได้
WhatsApp Session Expires AtDateServerเก็บหน้าต่างบริการลูกค้า 24 ชั่วโมงปัจจุบันที่เปิดโดยข้อความ WhatsApp ขาเข้าล่าสุดของลูกค้า ตั้งค่าโดยอัตโนมัติทุกครั้งที่มีข้อความขาเข้า สงวนไว้: คุณไม่สามารถสร้างแท็กที่กำหนดเองด้วยชื่อนี้ได้ จัดเก็บเฉพาะหน้าต่างปัจจุบัน ไม่มีประวัติ
WhatsApp Ad Click IDStringServerID การคลิกโฆษณา Click-to-WhatsApp (ctwa_clid) จาก referral ของข้อความ WhatsApp ขาเข้า Meta ส่งค่านี้เพียงครั้งเดียวในข้อความที่เปิดการสนทนา การคลิกที่ใหม่กว่าจะเขียนทับค่านี้พร้อมกับ WhatsApp Ad Click Date webhook ที่ส่งซ้ำหรือมาไม่ตามลำดับจะไม่ย้อนค่านี้กลับ
WhatsApp Ad Click DateDateServerเวลาของการคลิกที่บันทึกไว้ใน WhatsApp Ad Click ID อัปเดตพร้อมกัน: การคลิกที่ใหม่กว่าจะเขียนทับวันที่ก่อนหน้า

แท็กที่กำหนดเอง

Anchor link to

นี่คือส่วนที่ความคิดสร้างสรรค์ของคุณเข้ามามีบทบาทเพื่อให้บรรลุเป้าหมายทางธุรกิจเฉพาะของคุณ แท็กที่กำหนดเองสามารถสร้างขึ้นตามตรรกะการแบ่งกลุ่มหรือรูปแบบการกำหนดเป้าหมายที่เหมาะสมกับความต้องการทางธุรกิจเฉพาะของคุณ ทำงานร่วมกับทีมการตลาดของคุณเพื่อกำหนดแท็กที่กำหนดเองเพิ่มเติมที่จำเป็นสำหรับแคมเปญของคุณ

วิธีการตั้งค่าแท็กที่กำหนดเอง

Anchor link to

การสร้างแท็กไว้ล่วงหน้าเป็นทางเลือก การส่งชื่อแท็กใหม่ผ่าน setTags จะสร้างแท็กโดยอัตโนมัติ โดยประเภทจะถูกอนุมานจากค่าที่ส่งมา:

  • ตัวเลขจำนวนเต็มจะกลายเป็น Integer
  • ตัวเลขที่มีส่วนทศนิยม เช่น 4.99 จะกลายเป็น Price ส่วนตัวเลขอย่าง 5.0 จะกลายเป็น Integer
  • สตริงจะกลายเป็น String หรือ Date สำหรับรูปแบบวันที่-เวลาที่รู้จัก เช่น 2024-10-02 22:11
  • สตริงที่มีตัวเลข, true หรือ false หรืออาร์เรย์ JSON จะได้ประเภทตามเนื้อหา ดังนั้น "42" จะกลายเป็น Integer ไม่ใช่ String
  • อาร์เรย์จะกลายเป็น List
  • บูลีนจะกลายเป็น Boolean

attribute ของ event ไม่อ่านสตริงตามเนื้อหา ดังนั้น "42" ที่ส่งใน event จะกลายเป็น String โปรดดู Event ที่สร้างขึ้นโดยอัตโนมัติ

แท็กที่สร้างขึ้นโดยอัตโนมัติจะเป็น User-specific (user_specific: true) เสมอ เพิ่มแท็กอย่างชัดเจนก่อนผ่าน Control Panel หรือ /addTag สำหรับแท็กประเภท Version ซึ่งการสร้างอัตโนมัติไม่สามารถอนุมานได้ หรือสำหรับแท็ก General

การสร้างแท็กอัตโนมัติจะเปิดใช้งานโดยค่าเริ่มต้นสำหรับบัญชีส่วนใหญ่ หาก setTags ไม่สร้างแท็กใหม่ตามที่คาดไว้ โปรดติดต่อ ฝ่ายสนับสนุนของ Pushwoosh เพื่อตรวจสอบว่าฟีเจอร์นี้ถูกปิดสำหรับบัญชีของคุณหรือไม่

คุณสามารถเพิ่มแท็กใหม่ได้ใน Pushwoosh Control Panel หรือใช้เมธอด /addTag

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

สร้างแท็กในบัญชีของคุณ

Request Body

Anchor link to
NameTypeDescription
auth*stringAPI access token จาก Pushwoosh Control Panel
tag*objectพารามิเตอร์ของแท็ก
tag.name*stringชื่อแท็ก
tag.type*integerประเภทแท็ก ดูค่าที่เป็นไปได้ด้านล่าง
tag.user_specificbooleanเมื่อเป็น true ค่าของแท็กจะถูกจัดเก็บในระดับผู้ใช้และแชร์ไปยังอุปกรณ์ทั้งหมดของผู้ใช้เมื่อตั้งค่าโดย UserID เมื่อเป็น false (ค่าเริ่มต้น) แท็กจะเป็นระดับอุปกรณ์และตั้งค่าต่อ HWID
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": true
}
}
ตัวอย่าง
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // required, API access token from Pushwoosh Control Panel
"tag": {
"name": "TAG_NAME", // required
"type": 1, // required, see possible values below
"user_specific": false // optional. true = user-level; false = device-level (default)
}
}
}

ประเภทค่าแท็กที่เป็นไปได้:

  • 1 - Integer
  • 2 - String
  • 3 - List
  • 4 - Date
  • 5 - Boolean
  • 6 - Decimal. Ex: 19.95
  • 7 - Version. Ex: “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 Tag สำหรับอุปกรณ์

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

ตั้งค่า String Tag สำหรับอุปกรณ์

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

ตั้งค่า List Tag สำหรับอุปกรณ์

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

เอกสารประกอบ

การตั้งค่าแท็กผ่าน API

Anchor link to

ในขณะที่ในกรณีส่วนใหญ่ (99%) แท็กจะถูกตั้งค่าจากแอปพลิเคชัน คุณยังสามารถตั้งค่าแท็กผ่าน Pushwoosh API ได้อีกด้วย ด้านล่างนี้คือตัวอย่างของคำขอทั่วไปไปยัง endpoint /setTags:

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

{
"request": {
"application": "XXXXX-XXXXX", // required, Pushwoosh application code
"hwid": "8f65bXXXf378eXXXbeceXXX4e153XXX2", // required, hardware device ID used in /registerDevice API
"tags": { // required
"StringTag": "string value", // Example of a string tag
"IntegerTag": 42, // Example of an integer tag
"ListTag": ["string1", "string2"], // Example of a list tag
"DateTag": "2024-10-02 22:11", // Note: time must be in UTC
"BooleanTag": true // Valid values: true, false
}
}
}

สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสารประกอบ setTags API

การใช้แท็ก City เริ่มต้น

Anchor link to

ตำแหน่งของอุปกรณ์จะถูกกำหนดตามที่อยู่ IP ของอุปกรณ์ในขณะที่แอปของคุณถูกเปิดใช้งานบนอุปกรณ์นั้นเป็นครั้งสุดท้าย GeoIP จะส่งข้อมูลตำแหน่งไปยัง Pushwoosh และ Pushwoosh จะบันทึกตำแหน่งที่ได้รับจาก GeoIP เป็นค่าแท็ก City สำหรับอุปกรณ์นั้นๆ

ในบางกรณี ตำแหน่งที่ส่งโดย GeoIP อาจแตกต่างจากชื่อเมือง — ตัวอย่างเช่น เมื่อมันอ้างถึงพื้นที่ของเมืองหรือหน่วยการปกครองอื่น โปรดระมัดระวังเมื่อใช้แท็ก City เริ่มต้นเพื่อวัตถุประสงค์ในการแบ่งกลุ่ม: ตรวจสอบให้แน่ใจว่าได้เลือกค่าที่เหมาะสม

ตัวอย่างเช่น หากคุณต้องการกำหนดเป้าหมายผู้ใช้จากมิวนิก คุณต้องครอบคลุมด้วยค่าแท็ก City หลายค่า รวมถึง “Munich” เอง (พร้อมค่าที่สอดคล้องกันทั้งหมด เช่น การสะกดที่แตกต่างกันซึ่งอาจถูกส่งคืนโดย GeoIP และบันทึกเป็นค่าแท็ก) และพื้นที่ใกล้เคียงหลายแห่ง