แท็กเป็นหนึ่งในเครื่องมือที่มีประโยชน์ที่สุดที่ Pushwoosh นำเสนอ ซึ่งช่วยให้สามารถใช้งานฟังก์ชันที่ซับซ้อนได้หลากหลาย โดยการใช้แท็ก คุณสามารถแบ่งกลุ่มผู้รับของคุณและส่ง push notifications ที่ตรงเป้าหมายไปยังผู้ใช้ที่เฉพาะเจาะจงตามคุณลักษณะของพวกเขาได้
แท็กสามารถบรรจุข้อมูลใดๆ ก็ได้ที่เกี่ยวข้องกับผู้ใช้หรืออุปกรณ์นั้นๆ ข้อมูลนี้อาจรวมถึงชื่อผู้ใช้, ID, เมือง, ทีมฟุตบอลที่ชื่นชอบ, หมวดหมู่ข่าวที่ต้องการ หรือข้อมูลอื่นๆ ที่เกี่ยวข้องกับผู้ใช้ของคุณ
เริ่มต้นด้วยการระบุความต้องการทางธุรกิจของคุณและกำหนดว่าคุณต้องการแบ่งกลุ่มผู้รับของคุณอย่างไร พิจารณาปัจจัยต่างๆ เช่น อายุ, สถานที่, ประวัติการซื้อในแอป หรือเกณฑ์อื่นๆ ที่เกี่ยวข้องสำหรับการกำหนดเป้าหมายผู้ใช้
ค่าของแท็กสามารถช่วยให้แคมเปญ push ของคุณฉลาดขึ้นได้ แต่ละแท็กสามารถจัดเก็บค่าได้_เกือบไม่จำกัดจำนวน_ โดยพื้นฐานแล้ว นี่หมายความว่าแท็กเดียวก็เพียงพอที่จะบันทึกข้อมูลประเภทเฉพาะเกี่ยวกับผู้ใช้แต่ละคนในฐานข้อมูลของคุณ
มีแท็กเพียงไม่กี่แท็กที่ใช้ได้สำหรับแต่ละบัญชี แต่เมื่อพิจารณาถึงพื้นที่ที่เกือบจะไม่มีที่สิ้นสุดสำหรับแต่ละแท็กแล้ว แท็กเพียงสองสามแท็กก็เพียงพอที่จะรวบรวมข้อมูลจำนวนมหาศาลเกี่ยวกับผู้ใช้ของคุณและตั้งค่ารูปแบบการกำหนดเป้าหมายที่ซับซ้อนมากได้
- Integer — ใช้สำหรับข้อมูลจำนวนเต็ม (จำนวนเงินในเกมที่ได้รับ, ระดับที่ไปถึง, อายุ)
- String — ใช้สำหรับค่าที่เป็นข้อความ (ชื่อผู้ใช้, อีเมล, ตัวระบุ)
- List — เหมือนกับประเภท String แต่ผู้ใช้แต่ละคนอาจมีค่าหลายค่าที่ตั้งไว้พร้อมกัน (ความชอบทางดนตรี, หมวดหมู่ข่าว, ความชอบด้านอาหาร)
- Boolean — ประเภทของแท็กที่เป็น true / false
- Date — ใช้สำหรับวันที่ในปฏิทิน โดยพื้นฐานแล้ว นี่คือแท็กประเภทจำนวนเต็มที่เก็บค่าเวลา Unix Epoch (แปลงจาก/เป็นวันที่แบบเกรกอเรียนโดยอัตโนมัติ)
- Price — อนุญาตให้ตั้งค่าตามสกุลเงินที่ระบุในรูปแบบ “*.XX” เรียนรู้เพิ่มเติม
- Version — ใช้สำหรับการกำหนดเวอร์ชัน ตัวอย่างของรูปแบบที่อนุญาตคือ w.x.y.z (Major.Minor.Patch.Build) ค่าสูงสุดสำหรับแต่ละส่วนของเวอร์ชันคือ 9999 ดังนั้นหมายเลขเวอร์ชันสูงสุดไม่สามารถมากกว่า 9999.9999.9999.9999
แท็กแต่ละประเภทมีชุดของ ตัวดำเนินการ ที่สามารถใช้ได้โดยเฉพาะ ตัวดำเนินการแท็กจะกำหนดความสัมพันธ์ระหว่างแท็กและค่าของมันเพื่อวัตถุประสงค์ในการแบ่งกลุ่ม
- ตัวดำเนินการแท็ก 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
เมื่อสร้างแท็ก คุณสามารถเลือกวิธีการจัดเก็บค่าของมันได้:
- General (ค่าเริ่มต้น,
user_specific: false): ค่าแท็กจะถูกจัดเก็บต่ออุปกรณ์ (HWID) อุปกรณ์แต่ละเครื่องของผู้ใช้คนเดียวกันสามารถมีค่าที่แตกต่างกันได้อย่างอิสระ
- User-specific (
user_specific: true): ค่าแท็กจะถูกจัดเก็บต่อผู้ใช้ (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 อื่นๆ และบางส่วนถูกตั้งค่าโดยเซิร์ฟเวอร์เอง
| ชื่อ | ประเภท | ตั้งค่าที่ไหน | คำอธิบาย |
|---|
| 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 | Message code ของอีเมลที่เปิดล่าสุด (รูปแบบ XXXX-XXXXXXXX-XXXXXXXX) อัปเดตในแต่ละเหตุการณ์ PW_EmailOpen ใช้เพื่อแบ่งกลุ่มผู้รับของแคมเปญอีเมลเฉพาะตามผู้ที่เปิดอีเมล |
| Last Email Click | Date | Server | วันที่ที่อยู่อีเมลของอุปกรณ์ลงทะเบียนการคลิกลิงก์อีเมลล่าสุด |
| Last Email Click Message Code | String | Server | Message code ของอีเมลล่าสุดที่มีการคลิกลิงก์ (รูปแบบ XXXX-XXXXXXXX-XXXXXXXX) อัปเดตในแต่ละเหตุการณ์ PW_EmailLinkClicked ใช้เพื่อแบ่งกลุ่มผู้รับของแคมเปญอีเมลเฉพาะตามผู้ที่คลิก |
| Last Email Confirm | Date | Server | วันที่ของการยืนยันการสมัครสมาชิก Double Opt-In ล่าสุดสำหรับที่อยู่อีเมลของอุปกรณ์ |
| Bounced Email | Date | Server | วันที่เกิด hard bounce สำหรับที่อยู่อีเมลนี้ จัดเก็บเป็น Date เพื่อเปิดใช้งานการแบ่งกลุ่มตามเวลา เช่น เพื่อยกเว้นผู้ใช้ที่มีการตีกลับล่าสุด |
| Unsubscribed Emails | Boolean | SDK | ระบุว่าผู้ใช้ได้ยกเลิกการรับอีเมลจากแอปของคุณหรือไม่ |
| OS Version | Version | SDK | เวอร์ชันของระบบปฏิบัติการที่ทำงานบนอุปกรณ์ |
| Platform | String | SDK | แพลตฟอร์มที่ผู้ใช้กำลังใช้โปรเจกต์ของคุณ |
| Push Alerts Enabled | Boolean | SDK | ระบุว่าการแจ้งเตือนแบบ push ได้รับอนุญาตในการตั้งค่าอุปกรณ์หรือไม่ |
| SDK Version | Version | SDK | เวอร์ชันของ Pushwoosh SDK ที่ติดตั้งบนอุปกรณ์ |
นี่คือส่วนที่ความคิดสร้างสรรค์ของคุณเข้ามามีบทบาทเพื่อบรรลุเป้าหมายทางธุรกิจเฉพาะของคุณ แท็กที่กำหนดเองสามารถสร้างขึ้นตามตรรกะการแบ่งกลุ่มหรือรูปแบบการกำหนดเป้าหมายที่เหมาะสมกับความต้องการทางธุรกิจที่เป็นเอกลักษณ์ของคุณ ทำงานร่วมกับทีมการตลาดของคุณเพื่อกำหนดแท็กที่กำหนดเองเพิ่มเติมที่จำเป็นสำหรับแคมเปญของคุณ
คุณสามารถเพิ่มแท็กใหม่ได้ใน Pushwoosh Control Panel หรือใช้เมธอด /addTag
POST https://api.pushwoosh.com/json/1.3/addTag
สร้างแท็กในบัญชีของคุณ
| ชื่อ | ประเภท | คำอธิบาย |
|---|
| 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. เช่น: 19.95
- 7 - Version. เช่น: “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
ตำแหน่งของอุปกรณ์จะถูกกำหนดตามที่อยู่ IP ของอุปกรณ์ในขณะที่แอปของคุณถูกเปิดใช้งานบนอุปกรณ์นั้นเป็นครั้งสุดท้าย GeoIP จะส่งข้อมูลตำแหน่งไปยัง Pushwoosh และ Pushwoosh จะบันทึกตำแหน่งที่ได้รับจาก GeoIP เป็นค่าแท็ก City สำหรับอุปกรณ์นั้นๆ
ในบางกรณี ตำแหน่งที่ส่งโดย GeoIP อาจแตกต่างจากชื่อเมือง — ตัวอย่างเช่น เมื่ออ้างถึงพื้นที่ของเมืองหรือหน่วยการปกครองอื่น โปรดระมัดระวังเมื่อใช้แท็ก City เริ่มต้นเพื่อวัตถุประสงค์ในการแบ่งกลุ่ม: ตรวจสอบให้แน่ใจว่าได้เลือกค่าที่เหมาะสม
ตัวอย่างเช่น หากคุณต้องการกำหนดเป้าหมายผู้ใช้จากมิวนิก คุณจะต้องครอบคลุมด้วยค่าแท็ก City หลายค่า รวมถึง “Munich” เอง (พร้อมค่าที่สอดคล้องกันทั้งหมด เช่น การสะกดที่แตกต่างกันซึ่งอาจถูกส่งกลับโดย GeoIP และบันทึกเป็นค่าแท็ก) และพื้นที่ใกล้เคียงหลายแห่ง