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

ภาษาสำหรับการแบ่งส่วนผู้ใช้ (Segmentation Language)

Pushwoosh นำเสนอเอนจิ้นการแบ่งส่วนผู้ใช้ (segmentation engine) ที่ทรงพลัง สำหรับการสร้างเซกเมนต์ที่ละเอียดตามค่าแท็ก (Tag) Segmentation Language เป็นวิธีการเฉพาะในการเขียนและรวมเกณฑ์การแบ่งส่วนเพื่ออธิบายกลุ่มผู้ใช้ที่ตรงกับเกณฑ์เหล่านั้น และปฏิบัติต่อพวกเขาในฐานะเซกเมนต์กลุ่มเป้าหมายเดียว

บทความนี้อธิบายแนวคิดพื้นฐานและไวยากรณ์ของ Segmentation Language และให้ตัวอย่างที่ครอบคลุมเกี่ยวกับการสร้างเกณฑ์การแบ่งส่วนสำหรับกรณีต่างๆ

พื้นฐาน

Anchor link to

อุปกรณ์แต่ละเครื่องในฐานผู้ใช้ของคุณมีแอตทริบิวต์เฉพาะที่เชื่อมโยงอยู่ผ่าน ค่าแท็ก (Tag values)

ตัวอย่างเช่น สมมติว่าผู้ใช้ชื่อ Jane อาศัยอยู่ในโตเกียว และอายุ 28 ปี ผู้ใช้รายนั้นจะมีแท็กต่อไปนี้กำหนดไว้สำหรับอุปกรณ์ของตน:

  • Name: Jane
  • City: Tokyo
  • Age: 28

ในการกำหนดเป้าหมาย Jane คุณจะต้องอธิบายเซกเมนต์ดังนี้:

T("Name", eq, "Jane") * T("Age", eq, 28) * T("City", eq, "Tokyo")

การรวมกันของเงื่อนไขนี้เรียกว่า นิพจน์ตัวกรอง (filter expression) ที่ใช้ใน Segmentation Language เพื่ออธิบายกลุ่มผู้ใช้ หรือที่เรียกว่า เซกเมนต์กลุ่มเป้าหมาย (audience Segments)

นิพจน์ตัวกรอง (Filter expressions)

Anchor link to

นิพจน์ตัวกรอง (Filter expression) คือสตริงที่ประกอบด้วยเงื่อนไขเดียวหรือการรวมกันของหลายเงื่อนไขซึ่งอธิบายเซกเมนต์ที่คุณต้องการ

เงื่อนไข (Conditions)

Anchor link to

แต่ละเงื่อนไขจะอธิบายเซกเมนต์ของอุปกรณ์ที่ตรงกับเกณฑ์ที่ระบุในเงื่อนไขนั้นๆ

ตัวอย่างเช่น เงื่อนไขต่อไปนี้จะสร้างเซกเมนต์ของผู้ใช้ที่อาศัยอยู่ในโตเกียว:

T("City", e, "Tokyo")

โดยที่

  • T คือ แท็ก (ประเภทเงื่อนไข)
  • eq คือ โอเปอเรเตอร์ (operator) ที่จะใช้
  • “Tokyo” คือ ค่าแท็กที่ผู้ใช้มีเชื่อมโยงกับอุปกรณ์ของตน

ประเภทเงื่อนไข (Condition types)

Anchor link to

มีประเภทเงื่อนไขสี่ประเภทที่คุณสามารถใช้สำหรับการแบ่งส่วนของคุณ:

  • A (Application) – อธิบายเซกเมนต์ของอุปกรณ์ที่ติดตั้งแอปพลิเคชันใดแอปพลิเคชันหนึ่ง
  • T (Tag) – อธิบายเซกเมนต์ของอุปกรณ์ที่มีค่าแท็กที่ระบุ
  • AT (App-specific tag) – ใช้ร่วมกับรหัสแอปสำหรับแท็กที่เป็นของแอปนั้นๆ โดยเฉพาะ
  • Event – อธิบายเซกเมนต์ของอุปกรณ์ที่กระตุ้นให้เกิดอีเวนต์ (event) ของ Pushwoosh ที่ระบุ

การดำเนินการกับเงื่อนไข

Anchor link to

สำหรับการสร้างเซกเมนต์ที่ซับซ้อน สามารถใช้การดำเนินการต่อไปนี้กับเงื่อนไขภายในนิพจน์ตัวกรอง:

ยูเนียน (+)

Anchor link to

เข้าร่วมเซกเมนต์ต่างๆ เช่น สร้างเซกเมนต์ใหม่ของผู้ใช้ที่ตรงกับเงื่อนไขที่ระบุอย่างน้อยหนึ่งเงื่อนไข

ตัวอย่างเช่น หากต้องการกำหนดเป้าหมายผู้ใช้ที่อาศัยอยู่ในโตเกียวหรือโอซาก้า คุณจะต้องอธิบายเซกเมนต์ด้วยเงื่อนไขต่อไปนี้:

T("City", eq, "Tokyo") + T("City", eq, "Osaka")

อินเตอร์เซกชัน (*)

Anchor link to

สร้างเซกเมนต์ของผู้ใช้ที่เป็นสมาชิกของทั้งสองเซกเมนต์ที่อธิบายโดยเงื่อนไข ดังนั้น จะรวมเฉพาะผู้ใช้ที่ปฏิบัติตามแต่ละเงื่อนไขที่คุณระบุเท่านั้น

นิพจน์ต่อไปนี้อธิบายเซกเมนต์ของผู้ใช้ที่อาศัยอยู่ในโตเกียวและได้ระบุชื่อของตนเอง:

T("City", eq, "Tokyo") * T("Name", any)

ผลต่าง (\)

Anchor link to

สร้างเซกเมนต์ของผู้ใช้ที่เป็นสมาชิกของเซกเมนต์หนึ่งที่อธิบายไว้และไม่ได้เป็นสมาชิกของอีกเซกเมนต์หนึ่ง

ผู้ใช้ที่อาศัยอยู่ในโตเกียวแต่ยังไม่ได้ให้ชื่อจะถูกอธิบายดังนี้:

T("City", eq, "Tokyo") \ T("Name", any)

วงเล็บ ()

Anchor link to

กำหนดลำดับของการดำเนินการที่จะทำกับเงื่อนไขในนิพจน์ตัวกรองของคุณ

ตัวอย่างเช่น นิพจน์ตัวกรองต่อไปนี้จะทำการดึงเซกเมนต์ของผู้สมัครรับข้อมูลแอป 12345-67890 ที่มีอายุ 18 ปีก่อน แล้วจึงลบผู้ชายทั้งหมดออกจากเซกเมนต์นั้น:

( A("12345-67890") * T("Age", eq, 18) ) \ T("Gender", eq, "Male")

โอเปอเรเตอร์สำหรับเงื่อนไขแท็ก (Tag conditions operators)

Anchor link to

สำหรับแท็กแต่ละประเภท จะมีโอเปอเรเตอร์ที่ใช้แตกต่างกันไป

โอเปอเรเตอร์สำหรับแท็กประเภท Integer

Anchor link to
  • eq - เท่ากับค่าที่ระบุ
  • noteq - ไม่เท่ากับค่าที่ระบุ
  • lte - น้อยกว่าหรือเท่ากับค่าที่ระบุ
  • gte - มากกว่าหรือเท่ากับค่าที่ระบุ
  • in - ค่าใดค่าหนึ่งจากที่ระบุ
  • notin - ไม่เท่ากับค่าใดๆ ที่ระบุ
  • between - อยู่ในช่วงที่ระบุ
  • any - อุปกรณ์ที่มีการตั้งค่าค่าใดๆ สำหรับแท็ก
  • notset - อุปกรณ์ที่ไม่มีการตั้งค่าค่าสำหรับแท็ก

โอเปอเรเตอร์สำหรับแท็กประเภท String

Anchor link to
  • eq - เท่ากับค่าที่ระบุ
  • noteq - ไม่เท่ากับค่าที่ระบุ
  • in - เท่ากับค่าใดค่าหนึ่งจากที่ระบุ
  • notin - ไม่เท่ากับค่าใดๆ ที่ระบุ
  • any - อุปกรณ์ที่มีการตั้งค่าค่าใดๆ สำหรับแท็ก
  • notset - อุปกรณ์ที่ไม่มีการตั้งค่าค่าสำหรับแท็ก

โอเปอเรเตอร์สำหรับแท็กประเภท List

Anchor link to
  • in - อุปกรณ์ที่มีค่าแท็กใดๆ ที่ระบุ
  • notin - ไม่มีค่าแท็กใดๆ ที่ระบุเชื่อมโยงกับอุปกรณ์
  • any - อุปกรณ์ที่มีการตั้งค่าค่าใดๆ สำหรับแท็ก
  • notset - อุปกรณ์ที่ไม่มีการตั้งค่าค่าสำหรับแท็ก

โอเปอเรเตอร์สำหรับแท็กประเภท Date

Anchor link to
  • eq - เท่ากับวันที่ที่ระบุ
  • noteq - ไม่เท่ากับวันที่ที่ระบุ
  • lte - ก่อนหรือในวันที่ที่ระบุ
  • gte - หลังหรือในวันที่ที่ระบุ
  • in - เท่ากับวันที่ใดๆ ที่ระบุ
  • notin - ไม่เท่ากับวันที่ใดๆ ที่ระบุ
  • between - อยู่ในช่วงที่ระบุ
  • any - อุปกรณ์ที่มีการตั้งค่าค่าใดๆ สำหรับแท็ก
  • notset - อุปกรณ์ที่ไม่มีการตั้งค่าค่าสำหรับแท็ก
  • match - ตรงกับเดือนของปีและวันที่ของเดือนที่ระบุ
  • daysago eq - เท่ากับจำนวนวันที่ระบุก่อนวันปัจจุบัน
  • daysago noteq - ไม่เท่ากับจำนวนวันที่ระบุก่อนวันปัจจุบัน
  • daysago lte - น้อยกว่าหรือเท่ากับจำนวนวันที่ระบุก่อนวันปัจจุบัน
  • daysago gte - มากกว่าหรือเท่ากับจำนวนวันที่ระบุก่อนวันปัจจุบัน
  • daysago between - ระหว่างจำนวนวันที่ระบุ

โอเปอเรเตอร์สำหรับแท็กประเภท Boolean

Anchor link to
  • eq - เท่ากับค่าที่ระบุ
  • noteq - ไม่เท่ากับค่าที่ระบุ
  • any - อุปกรณ์ที่มีการตั้งค่าค่าใดๆ สำหรับแท็ก
  • notset - อุปกรณ์ที่ไม่มีการตั้งค่าค่าสำหรับแท็ก

โอเปอเรเตอร์สำหรับแท็กประเภท Price

Anchor link to
  • eq - เท่ากับค่าที่ระบุ
  • noteq - ไม่เท่ากับค่าที่ระบุ
  • lte - น้อยกว่าหรือเท่ากับค่าที่ระบุ
  • gte - มากกว่าหรือเท่ากับค่าที่ระบุ
  • in - เท่ากับค่าใดค่าหนึ่งจากที่ระบุ
  • notin - ไม่เท่ากับค่าใดๆ ที่ระบุ
  • between - อยู่ในช่วงที่ระบุ
  • any - อุปกรณ์ที่มีการตั้งค่าค่าใดๆ สำหรับแท็ก
  • notset - อุปกรณ์ที่ไม่มีการตั้งค่าค่าสำหรับแท็ก

โอเปอเรเตอร์สำหรับแท็กประเภท Version

Anchor link to
  • eq - เท่ากับค่าที่ระบุ
  • noteq - ไม่เท่ากับค่าที่ระบุ
  • lte - น้อยกว่าหรือเท่ากับค่าที่ระบุ
  • gte - มากกว่าหรือเท่ากับค่าที่ระบุ
  • in - เท่ากับค่าใดค่าหนึ่งจากที่ระบุ
  • notin - ไม่เท่ากับค่าใดๆ ที่ระบุ
  • between - อยู่ในช่วงที่ระบุ
  • any - อุปกรณ์ที่มีการตั้งค่าค่าใดๆ สำหรับแท็ก
  • notset - อุปกรณ์ที่ไม่มีการตั้งค่าค่าสำหรับแท็ก

โอเปอเรเตอร์สำหรับเงื่อนไข “Event”

Anchor link to

จำนวนครั้งของอีเวนต์

Anchor link to
  • count gte - อุปกรณ์ที่กระตุ้นอีเวนต์มากกว่าหรือเท่ากับ n ครั้ง
  • count lte - อุปกรณ์ที่กระตุ้นอีเวนต์น้อยกว่าหรือเท่ากับ n ครั้ง
  • count eq - อุปกรณ์ที่กระตุ้นอีเวนต์เท่ากับ n ครั้งพอดี
  • count noteq - อุปกรณ์ที่กระตุ้นอีเวนต์จำนวนครั้งใดๆ แต่ไม่เท่ากับ n

วันที่ของอีเวนต์

Anchor link to
  • date gte - อุปกรณ์ที่กระตุ้นอีเวนต์หลังหรือในวันที่ระบุพอดี
  • date lte - อุปกรณ์ที่กระตุ้นอีเวนต์ก่อนหรือในวันที่ระบุพอดี
  • date eq - อุปกรณ์ที่กระตุ้นอีเวนต์ในวันที่ระบุพอดี
  • date noteq - อุปกรณ์ที่กระตุ้นอีเวนต์เมื่อใดก็ได้แต่ไม่ใช่ในวันที่ระบุ
  • date in - อุปกรณ์ที่กระตุ้นอีเวนต์ในวันใดวันหนึ่งที่ระบุ
  • date notin - อุปกรณ์ที่กระตุ้นอีเวนต์เมื่อใดก็ได้แต่ไม่ใช่ในวันที่ระบุ
  • date between - อุปกรณ์ที่กระตุ้นอีเวนต์ภายในช่วงเวลาที่ระบุ
  • date daysago eq - วันที่กระตุ้นอีเวนต์เท่ากับจำนวนวันที่ระบุก่อนวันปัจจุบัน
  • date daysago noteq - วันที่กระตุ้นอีเวนต์ไม่เท่ากับจำนวนวันที่ระบุก่อนวันปัจจุบัน
  • date daysago lte - วันที่กระตุ้นอีเวนต์น้อยกว่าหรือเท่ากับจำนวนวันที่ระบุก่อนวันปัจจุบัน
  • date daysago gte - วันที่กระตุ้นอีเวนต์มากกว่าหรือเท่ากับจำนวนวันที่ระบุก่อนวันปัจจุบัน
  • date daysago between - วันที่กระตุ้นอีเวนต์อยู่ระหว่างจำนวนวันที่ระบุ

ตัวอย่างนิพจน์ตัวกรอง

Anchor link to
  1. อุปกรณ์ iOS และ Android ที่ติดตั้งแอปและมี push token:
A("11111-11111", ["ios","android"], [with_tokens])

2. อุปกรณ์ iOS และ Android ที่ติดตั้งแอปแต่ไม่มี push token:

A("11111-11111", ["ios","android"], [without_tokens])

3. อุปกรณ์ iOS และ Android ที่ติดตั้งแอป ไม่ว่าจะมี push token หรือไม่:

A("11111-11111", ["ios","android"], [with_tokens, without_tokens])

4. ผู้สมัครรับข้อมูลแอปทั้งหมดที่ซื้อของในแอป:

AT( "11111-11111", "In-App Purchase", gte, 1)