# อีเวนต์ Conversion

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

## อีเวนต์ Conversion คืออะไร

อีเวนต์รายได้ไม่ค่อยมาในรูปแบบเดียวกัน SDK ของคุณอาจส่ง `PW_InAppPurchase` แบ็กเอนด์ของคุณอาจส่งอีเวนต์ที่กำหนดเอง `OrderPlaced` และ Stripe หรือ Shopify อาจส่งอีเวนต์ webhook ของตนเอง หากไม่มีรูปแบบร่วมกัน การกำหนดเป้าหมายหรือการรายงานรายได้หมายถึงการเขียนตรรกะแยกต่างหากสำหรับทุกแหล่งที่มา

อีเวนต์ Conversion แก้ปัญหานี้โดยการทำให้ข้อมูลทั้งหมดเป็นปกติใน `PW_Conversion` ซึ่งเป็นอีเวนต์ในตัวที่มีชุดฟิลด์คงที่:

*   `value`: จำนวนเงินของธุรกรรม
*   `currency`: รหัสสกุลเงิน ISO 4217
*   `transaction_id` และ `product_id`: ตัวระบุที่ไม่บังคับ

`PW_Conversion` ครอบคลุมการซื้อ การต่ออายุการสมัครสมาชิก และการชำระเงินจากแพลตฟอร์มบุคคลที่สาม โดยไม่คำนึงว่าอีเวนต์ทางการเงินเดิมมาจากที่ใด นอกจากอีเวนต์ [เริ่มต้น](/th/product/audience-data-and-segmentation/events/default-events/) และ [ที่กำหนดเอง](/th/product/audience-data-and-segmentation/events/custom-events/) แล้ว อีเวนต์ Conversion เป็นหมวดหมู่อีเวนต์ที่สามใน Pushwoosh

เมื่อรายได้ถูกบันทึกเป็น `PW_Conversion` แล้ว การแบ่งกลุ่ม RFM, Customer Journeys, แดชบอร์ด และ ManyMoney AI ทั้งหมดจะอ่านข้อมูลที่เป็นปกติเดียวกัน ไม่ว่าข้อมูลนั้นจะมาจากแหล่งใดก็ตาม

### รายได้เข้าสู่ Pushwoosh ได้อย่างไร

คุณจะได้รับระเบียน `PW_Conversion` ด้วยหนึ่งในสองวิธี:

*   **ส่งโดยตรงจากโค้ดของคุณ:** แอปหรือแบ็กเอนด์ของคุณส่ง `PW_Conversion` หลังจากการซื้อ
*   **แมปอีเวนต์ที่มีอยู่ใน Control Panel:** ชี้ Pushwoosh ไปยังอีเวนต์การซื้อที่คุณส่งอยู่แล้ว และมันจะสร้างระเบียน `PW_Conversion` โดยไม่ต้องเปลี่ยนโค้ดของคุณ คุณสามารถแมปอีเวนต์แหล่งที่มาได้มากกว่าหนึ่งรายการต่อแอปพลิเคชัน

<Aside type="caution" title="สำคัญ">
ใช้เพียงเส้นทางเดียวต่อธุรกรรม หากคุณส่ง `PW_Conversion` โดยตรงและยังแมปอีเวนต์อื่นที่ทำงานสำหรับการซื้อเดียวกัน Pushwoosh จะบันทึกทั้งสองเป็นอีเวนต์ `PW_Conversion` ที่แยกจากกันและเป็นอิสระ Pushwoosh ไม่ตรวจจับหรือรวมข้อมูลที่ซ้ำกันจากแหล่งต่างๆ แม้ว่าจะมี `transaction_id` เดียวกันก็ตาม
</Aside>

## กรณีการใช้งาน

เมื่อตั้งค่าอีเวนต์ Conversion แล้ว ข้อมูลนั้นจะสามารถใช้งานได้ทุกที่ที่เกี่ยวข้องกับรายได้ใน Pushwoosh:

*   สร้าง [กลุ่ม RFM](/th/product/audience-data-and-segmentation/segmentation/rfm-segmentation/) สำหรับผู้ใช้ที่มีมูลค่าสูงโดยพิจารณาจากจำนวนเงินที่ใช้จ่ายและความใหม่ โดยไม่ต้องใช้ตรรกะรายได้ที่กำหนดเองสำหรับแต่ละอีเวนต์
*   ตั้งค่า `PW_Conversion` เป็น [เป้าหมาย Conversion](/th/product/customer-journey/journey-settings/#conversion-goals) ใน [Customer Journey](/th/product/customer-journey/pushwoosh-journey-overview/) เพื่อดูว่าโฟลว์ใดที่กระตุ้นการซื้อจริง ไม่ใช่แค่การคลิกหรือการเปิด
*   ดูรายได้ในแดชบอร์ดและการรายงานโดยไม่ต้องสร้างตรรกะที่กำหนดเองสำหรับแต่ละอีเวนต์การซื้อ
*   รวมรายได้จากอีเวนต์การซื้อของ SDK และ webhook การชำระเงิน (Stripe, Shopify) เป็นชุดข้อมูลเดียว แทนที่จะวิเคราะห์แต่ละแหล่งที่มาแยกกัน
*   ให้ [ManyMoney AI](/th/product/pushwoosh-ai/ai-assistant/) ใช้ข้อมูลธุรกรรมจริงในการแนะนำและการปรับปรุงแคมเปญ

<Aside type="tip" title="สถานการณ์ตัวอย่าง">
**รวมการต่ออายุและคำสั่งซื้อจากร้านค้า**

แอปสมัครสมาชิกส่ง `PW_Conversion` หลังจากการชำระเงินต่ออายุแต่ละครั้ง และแมป webhook ของ Shopify กับ `PW_Conversion` สำหรับการขายสินค้าแบบครั้งเดียว ตอนนี้แหล่งรายได้ทั้งสองนับรวมในการแบ่งกลุ่ม RFM เดียวกัน ดังนั้นผู้ใช้ที่ใช้จ่ายมากที่สุดของแอปจะอยู่ในกลุ่ม **Champions** โดยอัตโนมัติ จากนั้นคุณสามารถกำหนดเป้าหมายพวกเขาด้วยข้อเสนอสำหรับลูกค้าประจำใน Customer Journey

**รวมการใช้จ่ายข้ามช่องทาง**

แอปมือถือส่ง `PW_Conversion` สำหรับการซื้อในแอปโดยตรงจากแบ็กเอนด์ และแมป webhook ของ Stripe แยกต่างหากสำหรับการซื้อที่ทำบนเว็บไซต์ เนื่องจาก Pushwoosh ถือว่าทั้งสองเป็นอีเวนต์รายได้ประเภทเดียวกัน ManyMoney AI จะเห็นประวัติการใช้จ่ายทั้งหมดของลูกค้ารวมทั้งแอปและเว็บไซต์ เมื่อแนะนำว่าควรจะกำหนดเป้าหมายใครต่อไป

**ดูว่า Journey ใดที่กระตุ้นการซื้อ**

Journey หนึ่งกำหนดเป้าหมายผู้ใช้ที่เพิ่งเลิกใช้งานด้วยข้อเสนอเพื่อดึงกลับ **เป้าหมาย Conversion** ของมันถูกตั้งค่าเป็น `PW_Conversion` หลังจาก Journey สิ้นสุดลง สถิติเป้าหมายจะแสดงจำนวนผู้ใช้ที่ทำการซื้อ เพื่อให้คุณเห็นว่า Journey นั้นกระตุ้นการซื้อจริง ไม่ใช่แค่การเปิด หากต้องการดูว่ารายได้นั้นเป็นจำนวนเท่าใด ให้ตรวจสอบมุมมองรายได้ของกลุ่มหรือแดชบอร์ดแยกต่างหาก Customer Journey จะแสดงจำนวนการซื้อตามเป้าหมาย ไม่ใช่ยอดรวมเป็นดอลลาร์ต่อ Journey
</Aside>

## วิธีตั้งค่าอีเวนต์ Conversion

อีเวนต์ Conversion ถูกกำหนดค่าต่อแอปพลิเคชัน คุณสามารถตั้งค่าอีเวนต์ Conversion ได้สองวิธี ทำตามคำแนะนำสำหรับเส้นทางที่เหมาะสมกับการใช้งานของคุณ

### ส่ง `PW_Conversion` จากโค้ดของคุณ

เส้นทางนี้เหมาะเมื่อคุณสามารถเพิ่มหรือเปลี่ยนแปลงโค้ดอีเวนต์ในแอปหรือแบ็กเอนด์ของคุณได้ หลังจากการซื้อแต่ละครั้ง ให้ส่ง `PW_Conversion` ผ่านเมธอด [postEvent](/th/developer/api-reference/user-centric-api/#postevent)

<Aside type="caution" icon="setting" title="ต้องการความช่วยเหลือจากนักพัฒนา">
ในการส่ง `PW_Conversion` จากโค้ดของคุณ คุณจะต้องได้รับความช่วยเหลือจากทีมพัฒนาของคุณ แบ่งปันตัวอย่างจาก **ดูโค้ด** พร้อมกับ [ลิงก์นี้](/th/developer/guides/audience-and-segmentation/events/) ให้กับพวกเขาเพื่อดูคำแนะนำ
</Aside>

1.  ไปที่ **Audience > Events** ค้นหาการ์ด **Conversion events tracking**

<img src="/events-conversion-events-5.webp" alt="หน้า Events ที่มีการ์ดติดตามอีเวนต์ Conversion ก่อนการตั้งค่า แสดงอีเวนต์ที่แมปเป็นศูนย์และปุ่มเริ่มเก็บรายได้"/>

2.  คลิก **View code**

<img src="/events-conversion-events-3.webp" alt="หน้าตั้งค่าอีเวนต์ Conversion พร้อมลิงก์ดูโค้ด"/>

3.  คัดลอกตัวอย่างและเพิ่มการเรียก `postEvent` ทุกที่ที่การซื้อเสร็จสมบูรณ์ในแอปหรือแบ็กเอนด์ของคุณ
<img src="/events-conversion-events-2.webp" alt="กล่องโต้ตอบโค้ดการผสานรวมพร้อมตัวอย่าง postEvent ของ PW_Conversion สำหรับ JavaScript Swift Objective-C และ Java"/>

<Aside type="tip">
ต้องการเพียง `value` และ `currency` เท่านั้น `transaction_id` และ `product_id` เป็นตัวเลือก

หากคุณส่ง `transaction_id` Pushwoosh จะจัดเก็บตามที่คุณส่งมา มันไม่ได้ลบข้อมูลรายได้ที่ซ้ำกันโดยใช้ฟิลด์นี้
</Aside>

**ตัวอย่างสำหรับ JavaScript:**

```javascript
Pushwoosh.postEvent("PW_Conversion", {
    value: 49.99,
    currency: "USD",
    transaction_id: "ord_18274",
    product_id: "sku_premium_m"
});
```

#### แอตทริบิวต์สำหรับการเรียก postEvent

ตารางต่อไปนี้แสดงรายการแอตทริบิวต์ที่คุณสามารถส่งเมื่อส่ง `PW_Conversion`

| Field <div style="width:120px"></div> | Type <div style="width:100px"></div> | Required <div style="width:80px"></div> | Description |
| --- | --- | --- | --- |
| `value` | number | Yes | จำนวนเงินของธุรกรรม |
| `currency` | string (ISO 4217) | Yes | รหัสสกุลเงินของธุรกรรม เช่น `USD` หรือ `EUR` |
| `transaction_id` | string | No | ตัวระบุที่ไม่ซ้ำกันสำหรับธุรกรรม แนะนำสำหรับการบันทึกข้อมูลของคุณเอง Pushwoosh จะจัดเก็บตามที่ได้รับ แต่จะไม่ใช้เพื่อลบข้อมูลรายได้ที่ซ้ำกันด้วยตัวเอง |
| `product_id` | string | No | ตัวระบุของผลิตภัณฑ์หรือแผนที่ซื้อ |

<Aside type="caution">
อีเวนต์ Conversion ในปัจจุบันไม่รองรับการคืนเงินหรือการยกเลิก ไม่มีวิธีส่งระเบียน `PW_Conversion` ที่เป็นลบหรือย้อนกลับ เมื่อธุรกรรมถูกบันทึกแล้ว มันจะยังคงอยู่ในยอดรวมรายได้ของคุณแม้ว่าการซื้อนั้นจะถูกคืนเงินหรือยกเลิกในภายหลัง
</Aside>

### แมปอีเวนต์ที่มีอยู่เพื่อติดตามรายได้

เส้นทางนี้เหมาะเมื่อข้อมูลการซื้อไหลผ่านอีเวนต์อื่นอยู่แล้ว และคุณไม่ต้องการเปลี่ยนแปลงโค้ดของคุณ เมื่ออีเวนต์แหล่งที่มาที่แมปไว้มาถึง Pushwoosh จะทำงานและบันทึกเป็นอีเวนต์ `PW_Conversion`

<Aside type="note">
การแมปไม่ได้เปลี่ยนแปลงหรือแทนที่อีเวนต์แหล่งที่มา มันยังคงทำงานเหมือนเดิมทุกประการ อีเวนต์แหล่งที่มายังคงมีอยู่ในส่วนการแบ่งกลุ่ม ประวัติอีเวนต์ และแดชบอร์ดเหมือนอีเวนต์อื่นๆ Pushwoosh จะสร้างระเบียน `PW_Conversion` เพิ่มเติมจากมัน ซึ่งใช้สำหรับคุณสมบัติด้านรายได้เท่านั้น
</Aside>

1.  ไปที่ **Audience > Events** ค้นหาการ์ด **Conversion events tracking**

2.  คลิก **Start collecting revenue** (หรือ **Event mapping** หากคุณได้แมปอีเวนต์ไปแล้ว) หน้า **Set conversion events** จะเปิดขึ้น

<img src="/events-conversion-events-7.webp" alt="หน้าตั้งค่าอีเวนต์ Conversion พร้อมส่วนใช้อีเวนต์ที่มีอยู่เพื่อติดตาม Conversion"/>

3.  ใน **Use existing events to track conversion** เปิดดรอปดาวน์ **EVENT** และเลือกอีเวนต์ที่คุณส่งอยู่แล้ว รายการนี้รวมถึงอีเวนต์ที่กำหนดเอง อีเวนต์เริ่มต้น และอีเวนต์ webhook ขาเข้า (เช่น Stripe หรือ Shopify)

<img src="/events-conversion-events-4.webp" alt="หน้าตั้งค่าอีเวนต์ Conversion พร้อมดรอปดาวน์ EVENT เริ่มต้นที่แสดงข้อความตัวยึดเลือกอีเวนต์"/>

4.  แมปแอตทริบิวต์ที่เหลือ:

    *   ใน **PRICE** เลือกแอตทริบิวต์ที่เก็บจำนวนเงินของธุรกรรม
    *   ใน **CURRENCY** เลือกแอตทริบิวต์ที่เก็บรหัสสกุลเงิน
    *   สามารถแมป **TRANSACTION ID (OPTIONAL)** และ **PRODUCT ID (OPTIONAL)** ได้ตามต้องการ
<img src="/events-conversion-events-1.webp" alt="ฟอร์มการแมปอีเวนต์ Conversion ที่มีฟิลด์ EVENT, ราคา, สกุลเงิน, ID ธุรกรรม และ ID ผลิตภัณฑ์ถูกกรอกข้อมูล"/>

หากต้องการแมปอีเวนต์แหล่งที่มาอื่น ให้คลิก **+ ADD EVENT** หากต้องการลบการแมป ให้คลิก **REMOVE**

5.  คลิก **Apply**

คุณสามารถแมปอีเวนต์หลายรายการเป็นแหล่งที่มาสำหรับแอปพลิเคชันเดียวกันได้ ตัวอย่างเช่น แมปอีเวนต์ที่กำหนดเอง `purchase_completed` ควบคู่ไปกับอีเวนต์ webhook ของ Stripe

<Aside type="caution" title="สำคัญ">
การเปลี่ยนแปลงจะไม่คำนวณสถิติที่ผ่านมาใหม่ เฉพาะข้อมูล Conversion ใหม่เท่านั้นที่จะใช้การตั้งค่าที่อัปเดตแล้ว
</Aside>

## ตรวจสอบอีเวนต์ Conversion

การ์ด **Conversion events tracking** ในหน้า **Audience > Events** จะสรุปกิจกรรม Conversion สำหรับแอปพลิเคชันที่เลือก มันแสดงตัวเลขสองตัว:

*   **Mapped events:** จำนวนอีเวนต์แหล่งที่มาที่กำลังป้อนข้อมูลเข้าสู่ `PW_Conversion`
*   **Triggered last 7 days:** จำนวนรวมของอีเวนต์ `PW_Conversion` ที่ถูกทริกเกอร์ในช่วงเวลานั้น จากการแมปปัจจุบันหรือในอดีต หรือจากการเรียก `postEvent` โดยตรง

คลิก **View code** เพื่อเปิดตัวอย่างการผสานรวม `PW_Conversion` อีกครั้ง

<img src="/events-conversion-events-6.webp" alt="การ์ดติดตามอีเวนต์ Conversion หลังการตั้งค่า แสดงจำนวนอีเวนต์ที่ถูกทริกเกอร์ จำนวนอีเวนต์ที่แมป ลิงก์ดูโค้ด การแมปอีเวนต์ และวิธีการใช้งาน"/>

<Aside type="caution" title="สำคัญ">
จำนวนนี้สะท้อนถึงทุกอีเวนต์ `PW_Conversion` ที่ถูกทริกเกอร์ใน 7 วันที่ผ่านมา โดยไม่คำนึงถึงแหล่งที่มา หากคุณเปลี่ยนแปลงหรือลบการแมป อีเวนต์ `PW_Conversion` ที่ผ่านมาซึ่งถูกสร้างขึ้นแล้วจะยังคงถูกนับจนกว่าจะพ้นช่วงเวลา 7 วัน ตัวเลขจะไม่ลดลงหรือคำนวณใหม่ทันที
</Aside>