แท็กเป็นหนึ่งในเครื่องมือที่มีประโยชน์ที่สุดที่ Pushwoosh นำเสนอ ซึ่งช่วยให้สามารถใช้งานฟังก์ชันที่ซับซ้อนได้หลากหลาย ด้วยการใช้แท็ก คุณสามารถแบ่งกลุ่มเป้าหมายของคุณและส่ง push notifications ที่ตรงเป้าหมายไปยังผู้ใช้ที่เฉพาะเจาะจงตามคุณลักษณะของพวกเขาได้
แท็กสามารถมีข้อมูลใดๆ ก็ได้ที่เกี่ยวข้องกับผู้ใช้หรืออุปกรณ์นั้นๆ ข้อมูลนี้อาจรวมถึงชื่อผู้ใช้, ID, เมือง, ทีมฟุตบอลที่ชื่นชอบ, หมวดหมู่ข่าวที่ต้องการ หรือข้อมูลอื่นๆ ที่เกี่ยวข้องกับผู้ใช้ของคุณ
เริ่มต้นด้วยการระบุความต้องการทางธุรกิจของคุณและกำหนดว่าคุณต้องการแบ่งกลุ่มเป้าหมายของคุณอย่างไร พิจารณาปัจจัยต่างๆ เช่น อายุ, สถานที่, ประวัติการซื้อในแอป หรือเกณฑ์อื่นๆ ที่เกี่ยวข้องสำหรับการกำหนดเป้าหมายผู้ใช้
ค่าของแท็กสามารถช่วยให้แคมเปญ push ของคุณฉลาดขึ้นได้ แต่ละแท็กสามารถจัดเก็บค่าได้ เกือบไม่จำกัดจำนวน โดยพื้นฐานแล้ว นี่หมายความว่าแท็กเดียวก็เพียงพอที่จะบันทึกข้อมูลประเภทเฉพาะเกี่ยวกับผู้ใช้แต่ละคนในฐานข้อมูลของคุณ
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
แท็กแต่ละประเภทมีชุด ตัวดำเนินการ ที่สามารถใช้ได้เฉพาะ ตัวดำเนินการของแท็กจะกำหนดความสัมพันธ์ระหว่างแท็กและค่าของมันเพื่อวัตถุประสงค์ในการแบ่งกลุ่ม
ตัวดำเนินการของ 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
เมื่อสร้างแท็ก คุณสามารถเลือกวิธีการจัดเก็บค่าของมันได้:
General (user_specific: false ซึ่งเป็นค่าเริ่มต้นสำหรับ /addTag ): ค่าของแท็กจะถูกจัดเก็บต่ออุปกรณ์ (HWID) แต่ละอุปกรณ์ของผู้ใช้คนเดียวกันสามารถมีค่าที่แตกต่างกันได้อย่างอิสระ
User-specific (user_specific: true ซึ่งเป็นค่าเริ่มต้นในฟอร์มของ Control Panel และสำหรับแท็กที่สร้างขึ้นโดยอัตโนมัติด้วย setTags): ค่าของแท็กจะถูกจัดเก็บต่อผู้ใช้ (UserID) เมื่อตั้งค่าผ่าน UserID ค่าจะถูกนำไปใช้กับอุปกรณ์ทั้งหมดของผู้ใช้ในครั้งเดียว มีประโยชน์สำหรับคุณลักษณะที่เป็นของบุคคล ไม่ใช่อุปกรณ์เฉพาะ: ระดับการสมัครสมาชิก, คะแนนสะสม, ภาษาที่ต้องการ
ผู้ใช้คนหนึ่งติดตั้งแอปของคุณทั้งเวอร์ชัน iOS และ Android การตั้งค่าแท็ก subscription_tier เป็น "premium" ผ่าน UserID ของพวกเขาจะนำไปใช้กับอุปกรณ์ทั้งสองทันที หากใช้แท็กแบบ General คุณจะต้องตั้งค่าสำหรับแต่ละอุปกรณ์แยกกัน
" application " : " XXXXX-XXXXX " ,
" userId " : " the id of a specific user " ,
" subscription_tier " : " premium " ,
แท็กเหล่านี้มีให้ใช้งานโดย Pushwoosh ทันที ดังนั้นคุณไม่จำเป็นต้อง (และจริงๆ แล้วไม่ควร) ตั้งค่าด้วยตนเอง ส่วนใหญ่จะถูกตั้งค่าจากแอปพลิเคชันและส่งไปยังเซิร์ฟเวอร์ของเราผ่าน registerDevice และการเรียก API อื่นๆ และบางส่วนถูกตั้งค่าโดยเซิร์ฟเวอร์เอง SMS Marketing Consent และ Viber Marketing Consent เป็นข้อยกเว้น นักพัฒนาของคุณจะตั้งค่าแท็กเหล่านี้ด้วย setTags เมื่อบุคคลยินยอมหรือปฏิเสธการรับข้อความทางการตลาด
Name Type Where it’s set Description Application Version Version SDK เวอร์ชันปัจจุบันของแอปที่ติดตั้งบนอุปกรณ์ Browser Type String SDK เมื่ออุปกรณ์ถูกลงทะเบียนสำหรับโปรเจกต์เว็บของคุณ ประเภทของมัน – มือถือหรือเดสก์ท็อป – จะถูกติดตามโดยอัตโนมัติ City String Server ตำแหน่งทางภูมิศาสตร์ล่าสุดที่ลงทะเบียนของอุปกรณ์ Country String Server ตำแหน่งทางภูมิศาสตร์ล่าสุดที่ลงทะเบียนของอุปกรณ์ Device Model String SDK ระบุรุ่นของอุปกรณ์ที่ติดตั้งแอป First Install Date Server ระบุเวลาที่อุปกรณ์ลงทะเบียนเพื่อรับการแจ้งเตือนเป็นครั้งแรก In-app Product List SDK ผลิตภัณฑ์ในแอปที่ผู้ใช้ซื้อ Last In-app Purchase date Date SDK วันที่ของการซื้อในแปล่าสุดที่ทำบนอุปกรณ์ Language String SDK ตัวย่อสองตัวอักษรพิมพ์เล็กของภาษาท้องถิ่นของอุปกรณ์ตามมาตรฐาน ISO-639-1; นำมาจากค่าติดตั้งของอุปกรณ์ Last Application Open Date Server เวลาของการเปิดแอปครั้งล่าสุดบนอุปกรณ์ Last Email Open Date Server วันที่ที่อยู่อีเมลของอุปกรณ์ลงทะเบียนเหตุการณ์การเปิดอีเมลครั้งล่าสุด Last Email Open Message Code String Server รหัสข้อความ ของอีเมลที่เปิดล่าสุด (รูปแบบ XXXX-XXXXXXXX-XXXXXXXX) อัปเดตทุกครั้งที่มีเหตุการณ์ PW_EmailOpen ใช้เพื่อแบ่งกลุ่มผู้รับของแคมเปญอีเมลเฉพาะตามผู้ที่เปิดอีเมลLast Email Click Date Server วันที่ที่อยู่อีเมลของอุปกรณ์ลงทะเบียนการคลิกลิงก์อีเมลครั้งล่าสุด Last Email Click Message Code String Server รหัสข้อความ ของอีเมลล่าสุดที่มีการคลิกลิงก์ (รูปแบบ XXXX-XXXXXXXX-XXXXXXXX) อัปเดตทุกครั้งที่มีเหตุการณ์ PW_EmailLinkClicked ใช้เพื่อแบ่งกลุ่มผู้รับของแคมเปญอีเมลเฉพาะตามผู้ที่คลิกLast Email Confirm Date Server วันที่ของการยืนยันการสมัครสมาชิกแบบ Double Opt-In ล่าสุดสำหรับที่อยู่อีเมลของอุปกรณ์ Bounced Email Date Server วันที่เกิด hard bounce สำหรับที่อยู่อีเมลนี้ จัดเก็บเป็น Date เพื่อเปิดใช้งานการแบ่งกลุ่มตามเวลา เช่น เพื่อยกเว้นผู้ใช้ที่มีการตีกลับล่าสุด Unsubscribed Emails Boolean SDK ระบุว่าผู้ใช้ได้ยกเลิกการรับอีเมลจากแอปของคุณหรือไม่ SMS Marketing Consent Boolean Server, setTags ระบุว่าผู้สมัครรับ SMS ยินยอมรับ SMS ทางการตลาดหรือไม่: true ยินยอม, false เลือกไม่รับ, ไม่มีค่าคือไม่ทราบ เรียนรู้เพิ่มเติม Viber Marketing Consent Boolean Server, setTags ระบุว่าผู้สมัครรับ Viber ยินยอมรับข้อความทางการตลาดผ่าน Viber หรือไม่: true ยินยอม, false เลือกไม่รับ, ไม่มีค่าคือไม่ทราบ เรียนรู้เพิ่มเติม OS Version Version SDK เวอร์ชันของระบบปฏิบัติการที่ทำงานบนอุปกรณ์ Platform String SDK แพลตฟอร์มที่ผู้ใช้กำลังใช้โปรเจกต์ของคุณ Push Alerts Enabled Boolean SDK ระบุว่าการแจ้งเตือนแบบ push ได้รับอนุญาตในการตั้งค่าอุปกรณ์หรือไม่ Push Permission Status String SDK สถานะสิทธิ์การแจ้งเตือนแบบ push บนอุปกรณ์ เช่น not_determined, provisional, granted_explicit หรือ denied สงวนไว้: คุณไม่สามารถสร้างแท็กที่กำหนดเองด้วยชื่อนี้ได้ เรียนรู้เพิ่มเติม SDK Version Version SDK เวอร์ชันของ Pushwoosh SDK ที่ติดตั้งบนอุปกรณ์ Live Activity ID List SDK ใช้สำหรับจัดการ Live Activities โดยเชื่อมโยง Live Activity ID กับอุปกรณ์ ล้างข้อมูลโดยอัตโนมัติหลังจาก 12 ชั่วโมง สงวนไว้: คุณไม่สามารถสร้างแท็กที่กำหนดเองด้วยชื่อนี้ได้ WhatsApp Session Expires At Date Server เก็บหน้าต่างบริการลูกค้า 24 ชั่วโมงปัจจุบันที่เปิดโดยข้อความ WhatsApp ขาเข้าล่าสุดของลูกค้า ตั้งค่าโดยอัตโนมัติทุกครั้งที่มีข้อความขาเข้า สงวนไว้: คุณไม่สามารถสร้างแท็กที่กำหนดเองด้วยชื่อนี้ได้ จัดเก็บเฉพาะหน้าต่างปัจจุบัน ไม่มีประวัติ WhatsApp Ad Click ID String Server ID การคลิกโฆษณา Click-to-WhatsApp (ctwa_clid) จาก referral ของข้อความ WhatsApp ขาเข้า Meta ส่งค่านี้เพียงครั้งเดียวในข้อความที่เปิดการสนทนา การคลิกที่ใหม่กว่าจะเขียนทับค่านี้พร้อมกับ WhatsApp Ad Click Date webhook ที่ส่งซ้ำหรือมาไม่ตามลำดับจะไม่ย้อนค่านี้กลับ WhatsApp Ad Click Date Date Server เวลาของการคลิกที่บันทึกไว้ใน WhatsApp Ad Click ID อัปเดตพร้อมกัน: การคลิกที่ใหม่กว่าจะเขียนทับวันที่ก่อนหน้า
นี่คือส่วนที่ความคิดสร้างสรรค์ของคุณเข้ามามีบทบาทเพื่อให้บรรลุเป้าหมายทางธุรกิจเฉพาะของคุณ แท็กที่กำหนดเองสามารถสร้างขึ้นตามตรรกะการแบ่งกลุ่มหรือรูปแบบการกำหนดเป้าหมายที่เหมาะสมกับความต้องการทางธุรกิจเฉพาะของคุณ ทำงานร่วมกับทีมการตลาดของคุณเพื่อกำหนดแท็กที่กำหนดเองเพิ่มเติมที่จำเป็นสำหรับแคมเปญของคุณ
การสร้างแท็กไว้ล่วงหน้าเป็นทางเลือก การส่งชื่อแท็กใหม่ผ่าน 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
สร้างแท็กในบัญชีของคุณ
Name Type Description auth* string API access token จาก Pushwoosh Control Panel tag* object พารามิเตอร์ของแท็ก tag.name* string ชื่อแท็ก tag.type* integer ประเภทแท็ก ดูค่าที่เป็นไปได้ด้านล่าง tag.user_specific boolean เมื่อเป็น true ค่าของแท็กจะถูกจัดเก็บในระดับผู้ใช้และแชร์ไปยังอุปกรณ์ทั้งหมดของผู้ใช้เมื่อตั้งค่าโดย UserID เมื่อเป็น false (ค่าเริ่มต้น) แท็กจะเป็นระดับอุปกรณ์และตั้งค่าต่อ HWID
" auth " : " yxoPUlwqm…………pIyEX4H " , // required, API access token from Pushwoosh Control Panel
" 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”
เมื่อคุณเพิ่มและกำหนดค่าแท็กแล้ว แท็กก็พร้อมที่จะเริ่มรวบรวมข้อมูลจากผู้ใช้ของคุณ ทำตามขั้นตอนเหล่านี้เพื่อนำไปใช้งาน:
ผสานรวม Pushwoosh SDK เข้ากับโปรเจกต์ของคุณโดยทำตามคู่มือการผสานรวมที่เกี่ยวข้อง
ใช้ฟังก์ชัน setTags เพื่อกำหนดแท็กและรวบรวมข้อมูลผู้ใช้
ด้านล่างนี้คือตัวอย่างการใช้งานสำหรับเฟรมเวิร์กต่างๆ โดยใช้ฟังก์ชัน setTags
iOS Native
@" Alias " : aliasField . text ,
@" FavNumber " : @([favNumField.text intValue ]),
@" price " : [PWTags incrementalTagWithInteger : 5 ],
@" List " : @[ @" Item1 " , @" Item2 " , @" Item3 " ]
[[PushNotificationManager pushManager ] setTags : tags ];
เอกสารประกอบ
Android Native
pushwoosh . setTags ( Tags . intTag ( " intTag " , 42 )) ;
เอกสารประกอบ
Cordova
PushNotification.prototype.setTags = function( config, success, fail )
เอกสารประกอบ
Flutter
Future < void > setTags ( Map tags) async {
await _channel. invokeMethod ( "setTags" , { "tags" : tags});
เอกสารประกอบ
React Native
pushNotification . setTags ({
" string_tag " : " Hello world " ,
" list_tag " :[ " hello " , " world " ]
เอกสารประกอบ
Unity
ตั้งค่า Integer Tag สำหรับอุปกรณ์
public virtual void SetIntTag ( string tagName, int tagValue)
ตั้งค่า String Tag สำหรับอุปกรณ์
public virtual void SetStringTag ( string tagName, string tagValue)
ตั้งค่า List Tag สำหรับอุปกรณ์
public virtual void SetListTag ( string tagName, List< object > tagValues)
เอกสารประกอบ
Unreal Engine
FPushwooshModule & pushwoosh = FPushwooshModule:: Get ();
pushwoosh . SetTags ( " { \" intTag \" : 1, \" stringTag \" : \" example \" , \" listTag \" : [ \" a \" , \" b \" , \" c \" ] } " );
เอกสารประกอบ
Expo
Pushwoosh . setTags ({ " key " : keyValue , " value " : inputValue });
เอกสารประกอบ
.NET MAUI
@" Alias " : aliasField . text ,
@" FavNumber " : @([favNumField.text intValue ]),
@" price " : [PWTags incrementalTagWithInteger : 5 ],
@" List " : @[ @" Item1 " , @" Item2 " , @" Item3 " ]
[[PushNotificationManager pushManager ] setTags : tags ];
เอกสารประกอบ
Outsystems
พารามิเตอร์อินพุต
Tags – รายการของระเบียนแท็กที่ประกอบด้วย TagName และ TagValue
TagName ต้องเป็นประเภท Text เสมอ
TagValue สามารถเป็น Text, Integer, Boolean, Date ฯลฯ
เรียนรู้เพิ่มเติม
ในขณะที่ในกรณีส่วนใหญ่ (99%) แท็กจะถูกตั้งค่าจากแอปพลิเคชัน คุณยังสามารถตั้งค่าแท็กผ่าน Pushwoosh API ได้อีกด้วย ด้านล่างนี้คือตัวอย่างของคำขอทั่วไปไปยัง endpoint /setTags :
POST https://api.pushwoosh.com/json/1.3/setTags
"application" : " XXXXX-XXXXX " , // required, Pushwoosh application code
"hwid" : " 8f65bXXXf378eXXXbeceXXX4e153XXX2 " , // required, hardware device ID used in /registerDevice API
"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
หมายเหตุ
ชื่อแท็กที่ยังไม่มีอยู่จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อ setTags ส่งชื่อนั้นเป็นครั้งแรก โดยประเภทจะถูกอนุมานจากค่า สำหรับกฎของประเภทและสิ่งที่ต้องทำหากแท็กไม่ถูกสร้าง โปรดดู วิธีการตั้งค่าแท็กที่กำหนดเอง
แท็กที่สร้างขึ้นโดยอัตโนมัติจะเป็น User-specific เสมอ หากต้องการสร้างแท็กประเภท Version ซึ่งการสร้างอัตโนมัติไม่สามารถอนุมานได้ หรือแท็ก General ให้เพิ่มแท็กนั้นอย่างชัดเจนก่อนผ่าน Control Panel หรือ /addTag
ตำแหน่งของอุปกรณ์จะถูกกำหนดตามที่อยู่ IP ของอุปกรณ์ในขณะที่แอปของคุณถูกเปิดใช้งานบนอุปกรณ์นั้นเป็นครั้งสุดท้าย GeoIP จะส่งข้อมูลตำแหน่งไปยัง Pushwoosh และ Pushwoosh จะบันทึกตำแหน่งที่ได้รับจาก GeoIP เป็นค่าแท็ก City สำหรับอุปกรณ์นั้นๆ
ในบางกรณี ตำแหน่งที่ส่งโดย GeoIP อาจแตกต่างจากชื่อเมือง — ตัวอย่างเช่น เมื่อมันอ้างถึงพื้นที่ของเมืองหรือหน่วยการปกครองอื่น โปรดระมัดระวังเมื่อใช้แท็ก City เริ่มต้นเพื่อวัตถุประสงค์ในการแบ่งกลุ่ม: ตรวจสอบให้แน่ใจว่าได้เลือกค่าที่เหมาะสม
ตัวอย่างเช่น หากคุณต้องการกำหนดเป้าหมายผู้ใช้จากมิวนิก คุณต้องครอบคลุมด้วยค่าแท็ก City หลายค่า รวมถึง “Munich” เอง (พร้อมค่าที่สอดคล้องกันทั้งหมด เช่น การสะกดที่แตกต่างกันซึ่งอาจถูกส่งคืนโดย GeoIP และบันทึกเป็นค่าแท็ก) และพื้นที่ใกล้เคียงหลายแห่ง