# Analytics Providers

Analytics Providers ให้คุณแนบ **SDK วิเคราะห์และโฆษณาฝั่งเบราว์เซอร์** กับหน้าสตรีมสาธารณะ มุมมองสตรีมและอีเวนต์การเล่นจะไปปรากฏในเครื่องมือที่คุณใช้อยู่แล้ว — แยกจากรายงาน[การวิเคราะห์](/th/sharing/analytics/) ของ DailyPlay และจาก[Connections](/th/connections/overview/) ฝั่งเซิร์ฟเวอร์ (CRM / webhook)

:::note
การตั้งค่าเก็บเฉพาะ **รหัสวัดผลและโทเคนโปรเจกต์แบบสาธารณะ** เท่านั้น อย่าวาง secret API key หรือข้อมูลรับรองเซิร์ฟเวอร์ที่นี่
:::

---

## ต่างจาก Connections และ Reports อย่างไร

| คุณสมบัติ | ทำอะไร |
| :-------- | :----- |
| **Analytics Providers** | โหลด SDK ฝั่งไคลเอนต์บนเพลเยอร์ ส่งอีเวนต์ไปแดชบอร์ด GA4 / Mixpanel ฯลฯ |
| **Connections** | Webhook และซิงค์ CRM ฝั่งเซิร์ฟเวอร์ (Braze, Zapier, HubSpot, …) |
| **Reports / Analytics** | เมตริกการเล่น เซสชัน ลีด และการส่งออกบน DailyPlay |

---

## ผู้ให้บริการที่รองรับ

| ผู้ให้บริการ | ฟิลด์ที่จำเป็น | ฟิลด์เสริม |
| :----------- | :------------- | :--------- |
| **Google Analytics** | Measurement ID (`G-…`) | — |
| **Mixpanel** | Project token | API host; อัตราตัวอย่าง Session Replay (0–100; ว่าง = 100) |
| **PostHog** | Project API key, API host (เช่น `https://us.i.posthog.com`) | — |
| **Amplitude** | API key | Server zone (`US` หรือ `EU`; ค่าเริ่มต้น US) |
| **Google Tag Manager** | Container ID (`GTM-…`) | — |
| **Meta Pixel** | Pixel ID | — |

เปิดใช้หลายประเภทบนสตรีมเดียวกันได้ (ลิงก์ที่ใช้งานได้หนึ่งรายการต่อประเภท)

---

## การตั้งค่า

เฉพาะ **owners** และ **admins** ขององค์กรเท่านั้นที่จัดการ Analytics Providers ได้

### 1. เพิ่มผู้ให้บริการ (ไลบรารีองค์กร)

1. ไปที่ **Connect → Analytics** (หรือเปิด `/analytics`)
2. คลิก **Add Provider**
3. เลือกประเภท กรอกชื่อแสดงผลและรหัสสาธารณะที่จำเป็น
4. บันทึก — ใช้ซ้ำข้ามสตรีมได้

เปิด/ปิด แก้ไข หรือลบจากหน้าเดียวกัน การลบจะถอดลิงก์ออกจากสตรีมด้วย

### 2. เปิดการติดตามบนสตรีม

1. สร้างหรือแก้ไขสตรีม
2. เปิดขั้น **Tracking**
3. เปิดประเภทผู้ให้บริการที่ต้องการ
4. เลือกอย่างใดอย่างหนึ่ง:
   - **Use org provider** — เลือกคอนฟิกที่มีอยู่ หรือ
   - **Create new…** — กรอกชื่อและฟิลด์ในที่เดียว (สร้างผู้ให้บริการองค์กรและลิงก์เมื่อบันทึกสตรีม)
5. บันทึกสตรีม

ปิดประเภทใน Tracking เพื่อปิดบนสตรีมนั้นโดยไม่ลบผู้ให้บริการองค์กร

---

## อีเวนต์ที่ส่งไปเครื่องมือภายนอก

เมื่อผู้ให้บริการที่ลิงก์ไว้ใช้งานอยู่ DailyPlay โหลด SDK และส่งต่อ:

| อีเวนต์ | เมื่อ |
| :------ | :--- |
| มุมมองสตรีม / หน้า | เมื่อ init SDK (GA `page_view`; Mixpanel/Amplitude `stream_view`; GTM `dp_stream_view`; Meta `PageView`) |
| `play_start` | ผู้เล่นเริ่มเกม (Meta → `ViewContent`) |
| `play_complete` | ผู้เล่นจบเกม (Meta → `CompleteRegistration`) |
| `share` | ผู้เล่นแชร์ผล |
| `cta_click` | Meta แมปเป็น `Lead` เมื่อรองรับ |

บริบทมักรวม `stream_id`, `stream_slug`, `stream_name`, `org_slug`, `player_uuid`, `session_id`, ฟิลด์เกม/คะแนน และ query เช่น `utm_*`, `external_id`, `user_id` ระบุผู้เล่นด้วย `player_uuid` เมื่อมี

GTM รับ `dp_<event>` บน dataLayer เพื่อจัดเส้นทางแท็กในคอนเทนเนอร์

---

## ความเป็นส่วนตัวและความยินยอม

- Measurement ID ปรากฏใน payload สตรีมสาธารณะโดยออกแบบ (จำเป็นสำหรับ SDK ฝั่งไคลเอนต์)
- DailyPlay **ไม่ได้** กั้น SDK เหล่านี้ด้วยแบนเนอร์ความยินยอมคุกกี้แยก — ให้แน่ใจว่านโยบายความเป็นส่วนตัวและ CMP ของคุณครอบคลุมแท็กบุคคลที่สามบนหน้าสตรีม
- ความยินยอมการตลาดของ CTA สตรีมใช้กับฟอร์มลีด ไม่ใช่การโหลด SDK วิเคราะห์
- Mixpanel และ PostHog อาจใช้ `localStorage` Session Replay ของ Mixpanel สามารถบันทึกการเล่นบน canvas ได้เมื่อเปิดใช้

---

## การจัดการ

| การกระทำ | ผล |
| :------- | :-- |
| **Activate / Deactivate** (องค์กร) | ควบคุมว่าโหลดได้เมื่อลิงก์หรือไม่ |
| **Enable / Disable** (Tracking สตรีม) | เปิด/ปิดการติดตามบนสตรีมนั้น |
| **Delete** (องค์กร) | ลบผู้ให้บริการและลิงก์สตรีมทั้งหมด |
| **Unlink** (สตรีม) | หยุดติดตามบนสตรีมนั้น; ผู้ให้บริการองค์กรยังอยู่ |

ทั้งผู้ให้บริการองค์กรและลิงก์สตรีมต้องใช้งานอยู่จึงจะโหลด SDK บนเพลเยอร์สาธารณะ หากโหลด SDK ล้มเหลวจะ fail soft — การเล่นยังดำเนินต่อ

---

## เอเจนต์และ API Keys

แอดมินองค์กรจัดการผ่าน [MCP server](/th/api/mcp/) ด้วย:

- `mcp:analytics_providers:read`
- `mcp:analytics_providers:write`

ดูรายการเครื่องมือที่ [MCP Tools](/th/api/mcp-tools/#analytics-providers)

ขั้นตอนทั่วไป:

1. `create_analytics_provider` พร้อม `provider` + `config` สาธารณะ
2. `link_stream_analytics_provider` ด้วย `stream_id` + `analytics_provider_id`
3. `config_override` ต่อสตรีม (ไม่บังคับ); unlink แล้วผู้ให้บริการองค์กรยังอยู่

---

## ขั้นตอนถัดไป

- ดู[การวิเคราะห์](/th/sharing/analytics/) และ [Reports](/th/sharing/analytics/#reports) ในตัว
- เชื่อม CRM / webhook ด้วย [Connections](/th/connections/overview/)
- ส่งพารามิเตอร์ attribution ด้วย [UTM Tracking](/th/streams/overview/#utm-tracking)