แท็กเป็นหนึ่งในเครื่องมือที่มีประโยชน์ที่สุดที่ Pushwoosh นำเสนอ ซึ่งช่วยให้สามารถใช้งานฟังก์ชันที่ซับซ้อนได้หลากหลาย ด้วยการใช้แท็ก คุณสามารถแบ่งกลุ่มเป้าหมายและส่งการแจ้งเตือนแบบพุชที่ตรงเป้าหมายไปยังผู้ใช้เฉพาะตามคุณลักษณะของพวกเขา
แท็กสามารถมีข้อมูลใดๆ ก็ได้ที่เกี่ยวข้องกับผู้ใช้หรืออุปกรณ์นั้นๆ ข้อมูลนี้อาจรวมถึงชื่อผู้ใช้, ID, เมือง, ทีมฟุตบอลที่ชื่นชอบ, หมวดหมู่ข่าวที่ต้องการ หรือข้อมูลอื่นๆ ที่เกี่ยวข้องกับผู้ใช้ของคุณ
เริ่มต้นด้วยการระบุความต้องการทางธุรกิจของคุณและกำหนดว่าคุณต้องการแบ่งกลุ่มเป้าหมายอย่างไร พิจารณาปัจจัยต่างๆ เช่น อายุ, ที่ตั้ง, ประวัติการซื้อในแอป หรือเกณฑ์อื่นๆ ที่เกี่ยวข้องสำหรับการกำหนดเป้าหมายผู้ใช้
ค่าของแท็กสามารถช่วยให้แคมเปญพุชของคุณฉลาดขึ้นได้ แต่ละแท็กสามารถจัดเก็บ ค่าได้เกือบไม่จำกัดจำนวน โดยพื้นฐานแล้ว หมายความว่าแท็กเพียงแท็กเดียวก็เพียงพอที่จะบันทึกข้อมูลประเภทใดประเภทหนึ่งเกี่ยวกับผู้ใช้ปลายทางแต่ละคนในฐานข้อมูลของคุณ
มีแท็กเพียงไม่กี่แท็กที่พร้อมใช้งานสำหรับแต่ละบัญชี แต่เมื่อพิจารณาถึงพื้นที่ที่เกือบจะไม่มีที่สิ้นสุดสำหรับแต่ละแท็กแล้ว แท็กเพียงสองสามแท็กก็เพียงพอที่จะรวบรวมข้อมูลจำนวนมหาศาลเกี่ยวกับผู้ใช้ของคุณและตั้งค่ารูปแบบการกำหนดเป้าหมายที่ซับซ้อนอย่างมากได้
- Integer — ใช้สำหรับข้อมูลจำนวนเต็ม (จำนวนเงินในเกมที่ได้รับ, ระดับที่ไปถึง, อายุ)
- String — ใช้สำหรับค่าที่เป็นสตริง (ชื่อผู้ใช้, อีเมล, ตัวระบุ)
- List — เหมือนกับประเภท String แต่ผู้ใช้แต่ละคนอาจมีหลายค่าที่ตั้งไว้พร้อมกัน (ความชอบทางดนตรี, หมวดหมู่ข่าว, ความชอบด้านอาหาร)
- Boolean — แท็กประเภทจริง / เท็จ
- Date — ใช้สำหรับวันที่ในปฏิทิน โดยพื้นฐานแล้ว นี่คือแท็กประเภทจำนวนเต็มที่จัดเก็บเวลาประทับ Unix Epoch (แปลงจาก/เป็นวันที่แบบเกรกอเรียนโดยอัตโนมัติ)
- Price — อนุญาตให้ตั้งค่าตามสกุลเงินที่ระบุในรูปแบบ “*.XX” เรียนรู้เพิ่มเติม
- Version — ใช้สำหรับกำหนดเวอร์ชัน ตัวอย่างรูปแบบที่อนุญาตคือ w.x.y.z (Major.Minor.Patch.Build) ค่าสูงสุดสำหรับแต่ละส่วนของเวอร์ชันคือ 9999 ดังนั้นหมายเลขเวอร์ชันสูงสุดต้องไม่เกิน 9999.9999.9999.9999
แท็กแต่ละประเภทมีชุด ตัวดำเนินการ (operators) ที่สามารถใช้ได้โดยเฉพาะ ตัวดำเนินการแท็กจะกำหนดความสัมพันธ์ระหว่างแท็กและค่าของมันเพื่อวัตถุประสงค์ในการแบ่งกลุ่ม
- ตัวดำเนินการแท็ก 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
พารามิเตอร์นี้จะอธิบายพฤติกรรมของแท็กที่เกี่ยวข้องกับแอปต่างๆ ในบัญชีเดียวกัน แท็กที่เฉพาะเจาะจงกับแอปพลิเคชัน (Application specific) สามารถมีชุดค่าที่แตกต่างกันสำหรับแต่ละแอปในบัญชีเดียวกัน ในทางตรงกันข้าม แท็กที่ไม่เฉพาะเจาะจงกับแอปพลิเคชัน (Application nonspecific) จะจัดเก็บค่าเดียวกันสำหรับทุกแอปที่ใช้แท็กนี้
สมมติว่าคุณมีสองแอป คือ แอปข่าวสารและเกม และคุณต้องการกำหนดเป้าหมายเฉพาะผู้ใช้ที่ยินยอมรับพุชจากคุณอย่างชัดเจน ดังนั้น คุณจึงสร้างแท็กบูลีนชื่อ “Subscribed” และตั้งค่าเป็น "true"
สำหรับผู้ใช้ที่ต้องการรับพุชจากคุณ และ "false"
สำหรับผู้ที่ไม่ต้องการรับการแจ้งเตือน
ผู้ใช้คนหนึ่งของคุณชื่อแอนนา ได้ติดตั้งแอปทั้งสองของคุณ เธอไม่ว่าอะไรหากจะได้รับการแจ้งเตือนเกี่ยวกับข่าวด่วน แต่เลือกที่จะไม่รับพุชใดๆ จากแอปเกม
หากแท็ก “Subscribed” เป็นแท็กที่เฉพาะเจาะจงกับแอปพลิเคชัน ทุกอย่างจะเป็นไปตามแผน อย่างไรก็ตาม ในกรณีที่แท็กนี้ไม่เฉพาะเจาะจงกับแอปพลิเคชัน แอปแต่ละตัวของคุณจะเขียนทับค่าที่ตั้งไว้โดยแอปอื่น ซึ่งอาจทำให้การกำหนดเป้าหมายของคุณเสียหายและก่อให้เกิดความไม่พอใจได้
ในทางกลับกัน แท็กที่ไม่เฉพาะเจาะจงกับแอปพลิเคชันอาจมีประโยชน์หากคุณต้องการทำการกำหนดเป้าหมายข้ามแอปพลิเคชันและติดตามผู้ใช้ที่มีชื่อผู้ใช้เดียวกันในแอปพลิเคชันต่างๆ
แท็กทั้งหมดใน Pushwoosh ได้รับการออกแบบมาให้เป็นแบบเฉพาะผู้ใช้ (user-specific) และจะถูกกำหนดให้กับอุปกรณ์ทั้งหมดของผู้ใช้เมื่อตั้งค่าโดยใช้ UserID แทน HWID
"application": "XXXXX-XXXXX", // รหัสแอปพลิเคชัน Pushwoosh
"userId": "the id of a specific user",
"UserSpecificStringTag": "string value",
"UserSpecificIntegerTag": 42
แท็กเหล่านี้มีให้ใช้งานโดย Pushwoosh ทันที ดังนั้นคุณไม่จำเป็นต้อง (และที่จริงแล้ว ไม่ควร) ตั้งค่าด้วยตนเอง ส่วนใหญ่จะถูกตั้งค่าจากแอปพลิเคชันและส่งไปยังเซิร์ฟเวอร์ของเราผ่านการเรียก API เช่น registerDevice
และอื่นๆ และบางส่วนจะถูกตั้งค่าโดยเซิร์ฟเวอร์เอง
ชื่อ | ประเภท | ตั้งค่าที่ | คำอธิบาย |
---|
Application Version | Version | SDK | เวอร์ชันปัจจุบันของแอปที่ติดตั้งบนอุปกรณ์ |
Browser Type | String | SDK | เมื่ออุปกรณ์ได้รับการลงทะเบียนสำหรับโปรเจกต์เว็บของคุณ ประเภทของอุปกรณ์ - มือถือหรือเดสก์ท็อป - จะถูกติดตามโดยอัตโนมัติ |
City | String | เซิร์ฟเวอร์ | ตำแหน่งทางภูมิศาสตร์ล่าสุดที่ลงทะเบียนของอุปกรณ์ |
Country | String | เซิร์ฟเวอร์ | ตำแหน่งทางภูมิศาสตร์ล่าสุดที่ลงทะเบียนของอุปกรณ์ |
Device Model | String | SDK | ระบุรุ่นของอุปกรณ์ที่ติดตั้งแอป |
First Install | Date | เซิร์ฟเวอร์ | ระบุเวลาที่อุปกรณ์ได้รับการลงทะเบียนเพื่อรับการแจ้งเตือนเป็นครั้งแรก |
In-App Product | List | SDK | สินค้าในแอปที่ผู้ใช้แอปซื้อ |
Last In-App Purchase Date | Date | SDK | วันที่ของการซื้อในแอปครั้งล่าสุดที่ทำบนอุปกรณ์ |
Language | String | SDK | ตัวย่อสองตัวอักษรพิมพ์เล็กของภาษาท้องถิ่นของอุปกรณ์ตามมาตรฐาน ISO-639-1; นำมาจากการตั้งค่าอุปกรณ์ |
Last Application Open | Date | เซิร์ฟเวอร์ | เวลาล่าสุดที่เปิดแอปบนอุปกรณ์ |
OS Version | Version | SDK | เวอร์ชันของระบบปฏิบัติการที่ทำงานบนอุปกรณ์ |
Platform | String | SDK | แพลตฟอร์มที่ผู้ใช้กำลังใช้โปรเจกต์ของคุณ |
Push Alerts Enabled | Boolean | SDK | ระบุว่าการแจ้งเตือนแบบพุชได้รับอนุญาตในการตั้งค่าอุปกรณ์หรือไม่ |
SDK Version | Version | SDK | เวอร์ชันของ Pushwoosh SDK ที่ใช้งานบนอุปกรณ์ |
Unsubscribed Emails | Boolean | 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.application_specific | boolean | กำหนดว่าค่าของแท็กควรจะแตกต่างกันสำหรับหลายแอป หรือควรจะเป็นค่าเดียวกันในหลายแอป |
"auth": "yxoPUlwqm…………pIyEX4H", // required, API access token จาก Pushwoosh Control Panel
"name": "TAG_NAME", // required
"type": 1, // required, ดูค่าที่เป็นไปได้ด้านล่าง
"application_specific": true, // หรือ 'false', optional. กำหนดว่าค่าของแท็กควรจะแตกต่างกันสำหรับหลายแอป หรือควรจะเป็นค่าเดียวกันในหลายแอป
"user_specific": true // หรือ 'false', optional, ใช้สำหรับแท็ก application_specific
ประเภทค่าแท็กที่เป็นไปได้:
- 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://go.pushwoosh.com/json/1.3/setTags
"application": "XXXXX-XXXXX", // required, รหัสแอปพลิเคชัน Pushwoosh
"hwid": "8f65bXXXf378eXXXbeceXXX4e153XXX2", // required, รหัสฮาร์ดแวร์ของอุปกรณ์ที่ใช้ใน /registerDevice API
"StringTag": "string value", // ตัวอย่างของแท็กสตริง
"IntegerTag": 42, // ตัวอย่างของแท็กจำนวนเต็ม
"ListTag": ["string1", "string2"], // ตัวอย่างของแท็กรายการ
"DateTag": "2024-10-02 22:11", // หมายเหตุ: เวลาต้องอยู่ในรูปแบบ UTC
"BooleanTag": true // ค่าที่ถูกต้อง: true, false
สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสาร API ของ setTags
ตำแหน่งของอุปกรณ์จะถูกกำหนดตามที่อยู่ IP ของอุปกรณ์ในขณะที่แอปของคุณถูกเปิดใช้งานบนอุปกรณ์นั้นเป็นครั้งล่าสุด GeoIP จะส่งข้อมูลตำแหน่งไปยัง Pushwoosh และ Pushwoosh จะบันทึกตำแหน่งที่ได้รับจาก GeoIP เป็นค่าแท็ก City สำหรับอุปกรณ์นั้นๆ
ในบางกรณี ตำแหน่งที่ส่งโดย GeoIP อาจแตกต่างจากชื่อเมือง — ตัวอย่างเช่น เมื่ออ้างถึงพื้นที่ของเมืองหรือหน่วยการปกครองอื่น โปรดใช้ความระมัดระวังเมื่อใช้แท็ก City ที่เป็นค่าปริยายเพื่อวัตถุประสงค์ในการแบ่งกลุ่ม: ตรวจสอบให้แน่ใจว่าได้เลือกค่าที่เหมาะสม
ตัวอย่างเช่น หากคุณต้องการกำหนดเป้าหมายผู้ใช้จากมิวนิก คุณจะต้องครอบคลุมด้วยค่าแท็ก City หลายค่า รวมถึง “Munich” เอง (พร้อมกับค่าที่สอดคล้องกันทั้งหมด เช่น รูปแบบการสะกดที่แตกต่างกันซึ่ง GeoIP อาจส่งกลับมาและบันทึกเป็นค่าแท็ก) และพื้นที่ใกล้เคียงหลายแห่ง