# Global frequency capping

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

<Aside type="danger" title="อัปเดตคำขอ API ของคุณ">

ตั้งค่า **message type** ในคำขอ API เพื่อให้ frequency capping ทำงานตามที่คุณต้องการ

* **Push:** [`message_type`](/th/developer/api-reference/messages-api/api-prerequisites/#message_type) ในคำขอ [`createMessage`](/th/developer/api-reference/messages-api/#createmessage)
* **Email:** [`email_type`](/th/developer/api-reference/email-api/#createemailmessage) ในคำขอ [`createEmailMessage`](/th/developer/api-reference/email-api/#createemailmessage)

การส่งแบบ **Transactional** จะไม่ถูกจำกัดด้วย frequency capping หากคุณไม่ระบุประเภท การจำกัดความถี่จะถูกนำมาใช้

สำหรับ Control Panel โปรดดูที่ [ข้อความทางการตลาดและข้อความธุรกรรม](/th/product/messaging-channels/marketing-vs-transactional/)

</Aside>

Silent push และการอัปเดต Live Activity จะไม่ถูกจำกัดด้วย frequency capping

<span id="configure-global-frequency-capping" />

## กำหนดค่า Global frequency capping

ในการควบคุมจำนวนข้อความที่ส่งไปยังผู้ใช้ภายในกรอบเวลาที่กำหนด:

1. ไปที่ **Settings > Message delivery settings > Frequency capping**

<img src="/messaging-channels-global-frequency-capping-1.webp" alt="แท็บการตั้งค่า Frequency capping ใน Message Delivery Settings"/>

2. เปิดสวิตช์เพื่อเปิดใช้งาน frequency capping สำหรับช่องทางที่ต้องการ ([push notifications](/th/product/messaging-channels/push-notifications/), [emails](/th/product/messaging-channels/emails/), [in-apps](/th/product/messaging-channels/in-apps/), [SMS](/th/product/messaging-channels/sms/), [WhatsApp](/th/product/messaging-channels/whatsapp-messages/), [App Inbox](#app-inbox))

3. ตั้งค่าจำนวนข้อความสูงสุดต่อผู้ใช้สำหรับแต่ละช่องทางและช่วงเวลาที่สอดคล้องกัน

<img src="/messaging-channels-global-frequency-capping-2.webp" alt="ขีดจำกัดข้อความ ช่วงเวลา และ counting mode ที่ตั้งค่าไว้สำหรับ push, email, in-app, SMS, WhatsApp และ Inbox"/>

> ตัวอย่างเช่น คุณสามารถอนุญาตให้ส่ง push notifications ได้สูงสุด 4 ครั้ง, email 2 ฉบับ และข้อความ WhatsApp 2 ข้อความในช่วงเวลา 5 วัน

คุณสามารถอนุญาตได้ตั้งแต่ 1 ถึง 1,000 ข้อความต่อช่วงเวลา และช่วงเวลาสามารถเป็น 1 ถึง 30 วัน หากคุณป้อนค่านอกช่วงเหล่านี้ ช่องจะเปลี่ยนค่าเป็นค่าที่อนุญาตที่ใกล้ที่สุด เช่น 1,500 ข้อความจะเปลี่ยนเป็น 1,000

4. เลือก **Counting mode** สำหรับช่องทาง:

   * **Rolling window** (ค่าเริ่มต้น): นับข้อความที่ส่งภายใน N×24 ชั่วโมงล่าสุดก่อนการส่งแต่ละครั้ง ตัวอย่างเช่น ด้วยการจำกัด 3 push ต่อ 2 วัน push ที่ส่งในวันจันทร์เวลา 9.00 น. จะหยุดนับในวันพุธเวลา 9.00 น. และ push ที่ส่งในวันจันทร์เวลา 15.00 น. จะหยุดนับในวันพุธเวลา 15.00 น.
   * **Calendar day**: นับข้อความที่ส่งในวันนี้และใน N-1 วันตามปฏิทินก่อนหน้า โดยเริ่มตั้งแต่เที่ยงคืน เลือก **Capping timezone** (เช่น `America/New_York`) ที่กำหนดว่าเที่ยงคืนจะเกิดขึ้นเมื่อใดสำหรับช่องทางนี้ ตัวอย่างเช่น ด้วยการจำกัด 3 push ต่อ 2 วันเหมือนเดิม ในวันพุธทุก push ที่ส่งตั้งแต่วันอังคารเที่ยงคืนจะถูกนับ ทันทีหลังเที่ยงคืน หน้าต่างจะเลื่อนไปเป็นวันพุธและวันพฤหัสบดี หากคุณไม่ได้เลือก timezone Pushwoosh จะนับวันตามปฏิทินใน UTC

<img src="/messaging-channels-global-frequency-capping-11.webp" alt="ส่วน Counting mode ที่มีตัวเลือก Rolling window และ Calendar day และตัวเลือก Capping timezone"/>

<Aside type="tip">
Calendar day เหมาะสำหรับทีมที่วางแผนหรือรายงานการส่งข้อความตามช่วงเวลารายวันที่แน่นอน แทนที่จะเป็นหน้าต่าง 24 ชั่วโมงแบบเลื่อน
</Aside>

Counting mode ยังมีให้ใช้งานในทุกที่ที่คุณสามารถตั้งค่า frequency cap แบบกำหนดเองได้: [แคมเปญแบบครั้งเดียว](/th/product/messaging-channels/push-notifications/send-push-notifications/one-time-push/#set-frequency-capping), [in-app แบบทันที](/th/product/messaging-channels/in-apps/send-in-apps/send-instant-in-apps/#configure-frequency-capping) และ [องค์ประกอบข้อความใน customer journey](/th/product/customer-journey/journey-elements/channels/)

### App Inbox

หากต้องการจำกัดข้อความ [App Inbox](/th/product/messaging-channels/message-inbox/send-app-inbox-messages/) ให้ใช้สวิตช์ **Inbox** ในรายการนี้

App Inbox มีตัวนับของตัวเอง แยกจาก push และช่องทางอื่นๆ ทั้งหมด ผู้ใช้ที่ถึงขีดจำกัด push ของวันนั้นแล้วยังสามารถได้รับข้อความ Inbox ได้ และในทางกลับกันก็เช่นกัน

App Inbox ไม่มีการตั้งค่า send rate: ผู้ใช้จะรับข้อความ Inbox ทีละรายการเมื่อเปิดแอป จึงไม่มีการส่งพุ่งสูงที่ต้องจำกัด

<img src="/messaging-channels-global-frequency-capping-12.webp" alt="สวิตช์ Inbox ที่เปิดอยู่พร้อมขีดจำกัดข้อความและ counting mode ของตัวเอง"/>

<span id="exclude-users-from-global-frequency-capping" />

### ยกเว้นผู้ใช้ออกจาก global frequency capping

คุณสามารถยกเว้นผู้ใช้บางรายออกจาก frequency capping ได้ ข้อความที่ส่งไปยังผู้ใช้ที่ถูกยกเว้นจะข้ามทุกขีดจำกัดในทุกช่องทาง ทั้งขีดจำกัดส่วนกลางและขีดจำกัดที่กำหนดเองที่ตั้งไว้ในข้อความ

วิธียกเว้นผู้ใช้ออกจาก capping:

1. ไปที่ **Settings > Message delivery settings > Frequency capping**
2. ในส่วน **Users excluded from frequency capping** ให้ป้อน [User ID](/th/product/pushwoosh-knowledge-hub/users-userids/) หรืออีเมลครั้งละหนึ่งรายการ
3. คลิก **Add to list**
4. ทำซ้ำขั้นตอนที่ 2-3 สำหรับผู้ใช้เพิ่มเติมแต่ละคน
5. คลิก **Apply changes**

<img src="/messaging-channels-global-frequency-capping-10.webp" alt="ส่วน Users excluded from frequency capping ที่มีช่อง User ID หรืออีเมล และปุ่ม Add to list"/>

ผู้ใช้จะยังคงถูกยกเว้นจนกว่าคุณจะลบออกจากรายการในการตั้งค่าการส่งข้อความ

หากต้องการล้างรายการยกเว้น ให้คลิก **Clear exceptions list** จากนั้นคลิก **Apply changes**

## Global frequency capping สำหรับข้อความ Journey

<Aside type="caution" title="สำคัญ">
 โปรดทราบว่าหากต้องการเปลี่ยนการตั้งค่า capping สำหรับ journey ที่กำลังทำงานอยู่ คุณจะต้องหยุด journey นั้นก่อน
</Aside>

เมื่อสร้างองค์ประกอบข้อความใน customer journey การตั้งค่า **Global frequency capping** จะถูกนำมาใช้โดยค่าเริ่มต้น

<img src="/messaging-channels-global-frequency-capping-3.webp" alt="ตัวบ่งชี้ Frequency capping ในการตั้งค่าข้อความ journey"/>
<Aside>
หากไม่มีการตั้งค่าขีดจำกัดใน Message delivery settings ข้อความจะใช้ global frequency capping แบบ **ไม่จำกัด** หากจำเป็น ให้คลิกที่ลิงก์ **Set up** ในการตั้งค่าการส่งเพื่อกำหนดค่าขีดจำกัด

<img src="/messaging-channels-global-frequency-capping-5.webp" alt="การตั้งค่าการส่งที่แสดง frequency capping แบบไม่จำกัดและลิงก์ Set up เมื่อไม่ได้กำหนดค่าขีดจำกัด"/>
</Aside>



อย่างไรก็ตาม คุณมีตัวเลือกในการปรับแต่งวิธีการจัดการข้อความบางอย่างโดยการแทนที่การตั้งค่า Global frequency capping คุณสามารถทำสิ่งต่อไปนี้ได้:

<span id="ignore-global-frequency-capping" />

### ไม่สนใจ Global frequency capping

เลือก **Send messages without global frequency capping** เพื่อข้ามกฎของ global frequency capping ผู้ใช้จะได้รับข้อความนี้โดยไม่คำนึงถึงว่าพวกเขาได้เกินขีดจำกัดข้อความที่ตั้งไว้สำหรับช่องทางนั้นหรือไม่ ข้อความนี้จะไม่นับรวมในตัวนับส่วนกลางของช่องทางด้วย จึงไม่ใช้โควต้าของข้อความอื่นๆ ควรใช้อย่างระมัดระวังเพื่อหลีกเลี่ยงการส่งข้อความมากเกินไป

<img src="/messaging-channels-global-frequency-capping-9.webp" alt="การตั้งค่าการส่งที่เลือกตัวเลือก Send messages without global frequency capping"/>

<span id="use-custom-frequency-capping" />

### ใช้ custom frequency capping

ตัวเลือกนี้ช่วยให้คุณสามารถตั้งค่าขีดจำกัดที่กำหนดเองสำหรับจำนวนข้อความที่ส่งภายในช่วงเวลาที่ระบุ ที่นี่ ให้กำหนดจำนวนข้อความ (เช่น 5) และกรอบเวลา (เช่น 10 วัน) ที่สามารถส่งข้อความเหล่านี้ได้ เลือก counting mode สำหรับขีดจำกัดที่กำหนดเองนี้: [Rolling window หรือ Calendar day](#configure-global-frequency-capping) เช่นเดียวกับการตั้งค่าส่วนกลาง
<Aside type="caution" title="สำคัญ">
เมื่อเปิดใช้งาน custom frequency capping จะใช้เฉพาะขีดจำกัดที่กำหนดเองเท่านั้น จะไม่มีการตรวจสอบ Global capping สำหรับข้อความนี้และไม่สามารถบล็อกได้

อย่างไรก็ตาม ข้อความนี้ยังคงนับรวมในตัวนับส่วนกลางของช่องทาง

ตัวอย่าง:

- **Global limit for the channel:** 2 ข้อความต่อวัน
- **Campaign A's custom limit:** 3 ข้อความต่อวัน

เนื่องจาก Campaign A มีขีดจำกัดที่กำหนดเอง จึงส่งข้อความทั้ง 3 ฉบับในวันนี้ ขีดจำกัดส่วนกลางที่ 2 ข้อความไม่ได้จำกัดแต่อย่างใด

แต่ข้อความทั้ง 3 ฉบับนั้นยังคงนับรวมในตัวนับส่วนกลาง Campaign B ใช้ global capping โดยไม่มีขีดจำกัดที่กำหนดเอง เนื่องจากจำนวนส่วนกลางสำหรับวันนี้เกิน 2 แล้ว Campaign B จะไม่สามารถส่งข้อความไปยังผู้ใช้นั้นได้เลยในวันนี้ เพราะข้อความของ Campaign A ได้ใช้โควต้าไปแล้ว
</Aside>

<img src="/messaging-channels-global-frequency-capping-4.webp" alt="Custom frequency capping"/>

<Aside type="tip">
หากคุณต้องการจำกัดความถี่ที่ผู้ใช้จะได้รับข้อความจาก journey โดยเฉพาะ (เช่น เพียงครั้งเดียวทุก 10 วัน) ให้ใช้ [Campaign entry limits](/th/product/customer-journey/journey-settings/#campaign-entry-limit) ไม่ใช่ frequency capping
Entry Limits จะจำกัดความถี่ที่ผู้ใช้สามารถเข้าสู่ journey และรับข้อความได้
</Aside>


## สถานการณ์ตัวอย่าง

สมมติว่าคุณกำลังจัดการแคมเปญการตลาดหลายรายการผ่าน push notifications, email และ SMS เพื่อป้องกันไม่ให้ลูกค้าของคุณได้รับข้อความมากเกินไป คุณตัดสินใจตั้งค่า Frequency capping และจำกัดจำนวนข้อความที่ผู้ใช้แต่ละคนจะได้รับเป็น 3 push notifications, 2 email และ 1 SMS ต่อผู้ใช้ภายใน 7 วัน

นี่คือขั้นตอนในการตั้งค่า:

<span id="enable-global-frequency-capping" />

### เปิดใช้งาน Global frequency capping

1. ไปที่ **Settings > Message delivery settings > Frequency capping**
2. เปิดสวิตช์สำหรับ push notifications, email และ SMS
3. ระบุจำนวนข้อความสูงสุดที่ผู้ใช้สามารถรับได้: 3 push notifications, 2 email และ 1 SMS
4. ระบุช่วงเวลาเป็น 7 วัน

<img src="/messaging-channels-global-frequency-capping-6.webp" alt="ภาพหน้าจอแสดงการตั้งค่า frequency capping ที่มี 3 push, 2 email และ 1 SMS ต่อ 7 วัน"/>

### กำหนดค่าข้อความที่สำคัญ

หากคุณต้องการให้แน่ใจว่าข้อความสำคัญ เช่น การยืนยันการชำระเงิน จะถูกส่งทันทีเสมอ โดยไม่คำนึงถึงขีดจำกัดข้อความใดๆ ให้เลือก **Send messages without global frequency capping** ในการตั้งค่าการส่งของขั้นตอน journey ที่ต้องการ

<img src="/messaging-channels-global-frequency-capping-9.webp" alt="การตั้งค่าการส่งที่เลือกตัวเลือก Send messages without global frequency capping"/>

ตัวอย่างข้อความสำคัญอื่นๆ ได้แก่ การแจ้งเตือนความปลอดภัย คำขอรีเซ็ตรหัสผ่าน การอัปเดตแอปที่สำคัญ และอื่นๆ

<span id="customize-capping-for-specific-messages" />

### ปรับแต่ง capping สำหรับข้อความเฉพาะ

สมมติว่าคุณต้องการส่ง push notification ข้อเสนอพิเศษทุกครั้งที่ผู้ใช้ดำเนินการบางอย่างในแอปเสร็จสิ้น อย่างไรก็ตาม เพื่อหลีกเลี่ยงการส่งข้อความเดิมซ้ำบ่อยเกินไป คุณต้องการให้แน่ใจว่าข้อความนี้จะแสดงไม่เกินหนึ่งครั้งทุก 3 วัน แม้ว่า Frequency capping ของคุณจะอนุญาตให้ส่ง 3 push notifications ต่อสัปดาห์ก็ตาม

นี่คือวิธีการกำหนดค่า:

1. ตั้งค่า customer journey ที่จะทำงานเมื่อผู้ใช้ดำเนินการเป้าหมายเสร็จสิ้น
2. ภายใน customer journey builder ไปที่การตั้งค่าสำหรับองค์ประกอบข้อความและเลือก **Use custom frequency capping**
3. ตั้งค่า custom cap เป็น 1 ข้อความทุก 3 วัน
<Aside type="caution" title="สำคัญ">
Custom frequency capping จะแทนที่ global capping สำหรับข้อความนี้ ดังนั้นจะมีการตรวจสอบเฉพาะขีดจำกัดที่กำหนดเองเท่านั้น อย่างไรก็ตาม ข้อความนี้ยังคงนับรวมในตัวนับส่วนกลางของช่องทาง ดังนั้นจึงสามารถใช้ส่วนหนึ่งของงบประมาณรายสัปดาห์ที่ใช้ร่วมกับแคมเปญ push อื่นๆ ที่ใช้ global capping ได้ [ดูตัวอย่าง](#use-custom-frequency-capping)
</Aside>

<span id="view-frequency-capping-statistics" />

## ดูสถิติ frequency capping

คุณสามารถดูได้ว่า frequency capping ส่งผลต่อข้อความของคุณอย่างไรในหลายที่

* **Project dashboard**: [ภาพรวมโปรเจกต์](/th/product/first-steps/pushwoosh-interface-overview/#project-overview) จะแสดงบล็อก Frequency capping ในแท็บ Push และ Email สำหรับช่วงเวลาที่เลือก โดยค่าเริ่มต้นคือ 30 วัน
* **สถิติข้อความรายบุคคล**: แท็บ Overview ของสถิติข้อความ [push notification](/th/product/statistics-and-analytics/messaging-statistics/push-notification-statistics/) และ [email](/th/product/statistics-and-analytics/messaging-statistics/email-statistics/) จะแสดง frequency capping เป็นหนึ่งในเหตุผลการยกเว้นของขั้นตอน Audience
* **ข้อความรวม**: ฟันเนล [Campaigns distribution](/th/product/statistics-and-analytics/aggregated-messages/#campaigns-distribution) จะแสดงผู้รับที่ถูกยกเว้นเนื่องจาก frequency capping เป็นหนึ่งในเหตุผลการยกเว้นของขั้นตอน Audience โดยแสดงเป็นจำนวนผู้รับที่ไม่ซ้ำกันซึ่งถูกข้ามไปเพียงค่าเดียว
* **Customer Journey**: หน้าต่าง [สถิติการสื่อสาร](/th/product/statistics-and-analytics/journey-statistics/overall-journey-statistics/#metrics-by-channel) จะรายงาน frequency capping ในทุกแท็บช่องทาง

สำหรับคำตอบของคำถามที่พบบ่อย โปรดดูที่ [คำถามที่พบบ่อยเกี่ยวกับ Global frequency capping](/th/product/messaging-channels/message-delivery-settings/frequency-capping-faq/)