การวิเคราะห์

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

API สอบถามการวิเคราะห์ให้คุณสอบถามเกี่ยวกับเมตริกประสบการณ์ที่รวมกันในช่วงวันที่กำหนด API นี้รองรับ:

  • การสอบถามจำนวนผู้ใช้งานรายวัน (DAU), รายได้, การรักษา และเมตริกอื่น ๆ สำหรับประสบการณ์ของคุณ
  • การกรองและจัดกลุ่มผลลัพธ์ตามมิติต่าง ๆ เช่น แพลตฟอร์ม, ประเทศ และกลุ่มอายุ
  • การจัดการคำขอที่ช้าโดยอัตโนมัติในฐานะการดำเนินการที่ใช้เวลานานซึ่งคุณสามารถตรวจสอบผลลัพธ์ได้

ก่อนที่จะใช้ API นี้ คุณต้อง สร้างคีย์ API สำหรับประสบการณ์ของคุณ เมื่อสร้างคีย์ ให้เพิ่มประสบการณ์ของคุณใน สิทธิ์ในการเข้าถึง และมอบสิทธิ์การเข้าถึงการดำเนินการ universe.analytics:read ภายในระบบ universe-analytics รวมคีย์ในหัวข้อการร้องขอ x-api-key ในทุกคำขอ

เอ็นพอยต์ทั้งหมดใช้หมายเลข ID ของจักรวาลของคุณ ซึ่งคุณสามารถค้นหาได้จาก Creator Dashboard โดยการเลือกประสบการณ์ของคุณและคัดลอก หมายเลข ID ของจักรวาล จากหน้าภาพรวม

สอบถามเมตริก

เพื่อสอบถามเมตริกสำหรับประสบการณ์ของคุณ:

  1. คัดลอกคีย์ API ไปยังหัวข้อการร้องขอ x-api-key
  2. แทนที่ ${UniverseId} ใน URL ด้วยหมายเลข ID ของจักรวาลของประสบการณ์ของคุณ
  3. ตั้งค่า metric เป็นเมตริกที่คุณต้องการสอบถาม เช่น DailyActiveUsers
  4. ตั้งค่า granularity เป็นขนาดเวลาที่รองรับ เช่น OneDay ดู ตัวเลือกความละเอียด
  5. ตั้งค่า startTime และ endTime เป็นช่วงวันที่ที่คุณต้องการ โดยใช้แท็กเวลาของ RFC 3339 UTC
  6. ส่งคำขอ
สอบถามจำนวนผู้ใช้งานรายวัน

curl --location 'https://apis.roblox.com/analytics-query-api/v1/universes/${UniverseId}/metrics' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"metric": "DailyActiveUsers",
"granularity": "OneDay",
"startTime": "2026-01-01T00:00:00Z",
"endTime": "2026-02-01T00:00:00Z"
}'

คำร้องส่วนใหญ่จะเสร็จสิ้นทันทีและคืนค่า 200 OK:

ผลลัพธ์ (200 OK)

{
"path": "v1/universes/1234567890/operations/metrics/abc123",
"done": true,
"metadata": {
"createdTime": "2026-01-15T00:00:00Z"
},
"response": {
"values": [
{
"breakdowns": [],
"dataPoints": [
{ "time": "2026-01-01T00:00:00Z", "value": 10000 },
{ "time": "2026-01-02T00:00:00Z", "value": 10500 }
]
}
]
}
}

สำหรับช่วงวันที่ใหญ่ API อาจส่งคืน 202 Accepted พร้อมกับ "done": false ดู การดำเนินการที่ใช้เวลานาน

ฟิลด์เนื้อหาคำขอ

ฟิลด์ประเภทจำเป็นคำอธิบาย
metricstringใช่เมตริกที่ต้องการสอบถาม เช่น DailyActiveUsers สำหรับรายการเต็ม ดู เมตริกที่รองรับ
granularitystringใช่ขนาดเวลาสำหรับแต่ละจุดข้อมูล ดู ตัวเลือกความละเอียด
startTimestringใช่จุดเริ่มต้นของหน้าต่างการสอบถาม เป็นแท็กเวลาของ RFC 3339 รวมถึง ยอมรับการเปลี่ยนแปลง UTC ทุกประเภท ผลลัพธ์จะถูกจัดกลุ่มใน UTC เสมอ
endTimestringใช่จุดสิ้นสุดของหน้าต่างการสอบถาม เป็นแท็กเวลาของ RFC 3339 ไม่รวมอยู่ ตัวอย่างเช่น "2026-02-01T00:00:00Z" รวมข้อมูลถึงวันที่ 31 มกราคม
breakdownstring[]ไม่มิติต่าง ๆ ที่จะจัดกลุ่มผลลัพธ์โดยแต่ละช่องคือชื่อมิติ เช่น "Platform" ละเว้นเพื่อไม่ให้มีการจัดกลุ่มดู ใช้การจัดกลุ่ม
filterobject[]ไม่ตัวกรองเพื่อลดผลลัพธ์ให้อยู่ในค่ามิติที่เฉพาะเจาะจง แต่ละรายการมี dimension, values, และ operation ละเว้นเพื่อไม่ให้มีการกรอง ดู กรองผลลัพธ์
limitintegerไม่จำนวนสูงสุดของชุดแบ่งที่ต้องส่งกลับ ซึ่งจัดอันดับตามมูลค่าเมตริกทั้งหมดในลำดับที่ลดลง รองรับเฉพาะเมื่อ granularity เป็น "None" และ breakdown ถูกตั้งค่า หากละเว้นฟิลด์นี้หรือกำหนดค่าเป็น 0 จะใช้ค่าสูงสุดที่ขึ้นอยู่กับเมตริก

startTime ที่เร็วที่สุดที่คุณสามารถใช้ได้ขึ้นอยู่กับประเภทของเมตริก:

  • เมตริกมาตรฐาน (การมีส่วนร่วม, การสร้างรายได้, การจัดหา, การรักษา): ประวัติสูงสุด 4 ปี
  • เมตริกด้านประสิทธิภาพ (อัตราการล้มเหลว, อัตราเฟรม ฯลฯ): ประวัติสูงสุด 28 วัน

การสอบถามข้ามระยะเวลาการเก็บข้อมูลจะส่งคืนข้อผิดพลาด 400 รหัส 2001

การดำเนินการที่ใช้เวลานาน

คำร้องส่วนใหญ่จะเสร็จสิ้นทันทีและคืนค่า 200 OK พร้อมกับ "done": true สำหรับคำร้องที่มีช่วงวันที่ใหญ่หรือมีหลายชุดแบ่ง API คืนค่า 202 Accepted พร้อมกับ "done": false และ path เพื่อให้ตรวจสอบได้

รอดำเนินการ (202):


{
"path": "path/to/poll",
"done": false,
"metadata": {
"createdTime": "2026-01-15T00:00:00Z"
}
}

เมื่อ done เป็น false ให้ส่งคำขอ GET ไปที่ https://apis.roblox.com/analytics-query-api/{path} — แทนที่ {path} ด้วยค่า path จากผลลัพธ์ — โดยใช้หัวข้อ x-api-key เดิม ซ้ำจนกว่า done จะเป็น true

เสร็จสิ้น (200):


{
"path": "path/to/poll",
"done": true,
"metadata": {
"createdTime": "2026-01-15T00:00:00Z"
},
"response": {
"values": [
{
"breakdowns": [],
"dataPoints": [
{
"time": "2026-01-01T00:00:00Z",
"value": 10000
}
]
}
]
}
}

อาร์เรย์ breakdowns ที่ว่างเปล่าบ่งชี้ว่าไม่มีการร้องขอการแบ่งกลุ่ม เมื่ใช้การแบ่งกลุ่มจะมีรายการใน response.values สำหรับมิติหนึ่งค่าดู ใช้การจัดกลุ่ม

เมื่อการดำเนินการล้มเหลว ร่างของคำตอบจะมี error แทน response:


{
"path": "path/to/poll",
"done": true,
"metadata": {
"createdTime": "2026-01-15T00:00:00Z"
},
"error": {
"code": 2001,
"message": "ความละเอียดที่ขอไม่ได้รับการสนับสนุนสำหรับเมตริกนี้"
}
}
ฟิลด์ประเภทคำอธิบาย
pathstringเส้นทางการดำเนินการตรงกับค่าที่ได้รับในผลลัพธ์เบื้องต้น
donebooleanเสมอเป็น true เมื่อมีข้อผิดพลาดเกิดขึ้น
metadata.createdTimestringแท็กเวลาของ RFC 3339 เมื่อการดำเนินการถูกสร้างขึ้น
error.codeintegerรหัสข้อผิดพลาดเชิงตัวเลข ดู ข้อผิดพลาดทั่วไป
error.messagestringคำอธิบายที่อ่านได้ง่ายเกี่ยวกับข้อผิดพลาด

แต่ละรายการใน response.values แทนซีรีส์หนึ่งซีรีส์หนึ่งต่อค่ามิติเมื่อมีการจัดกลุ่ม หรือรายการเดียวกับ breakdowns: [] เมื่อไม่มีการร้องขอการจัดกลุ่ม แต่ละจุดข้อมูลใน dataPoints จะมี:

ฟิลด์คำอธิบาย
timeแท็กเวลาของ UTC สำหรับจุดเริ่มต้นของขนาดเวลาที่กำหนด
valueมูลค่าเมตริกเชิงตัวเลข
stringValuesค่าข้อความสำหรับจุดข้อมูลในรูปแบบของอาร์เรย์สตริง มีเพียงเบนการแสดงค่าแบบข้อความเท่านั้น ดู เมตริกค่าข้อความ ด้านล่าง
statusตัวบ่งชี้สถานะสำหรับจุดข้อมูล ถูกละเว้นเมื่อไม่มีสถานะที่ใช้ได้สำหรับซีรีส์ ดู สถานะจุดข้อมูล ด้านล่าง

เมตริกค่าข้อความ

เมตริกส่วนใหญ่เป็นตัวเลขและรายงานผลลัพธ์ใน value เมตริกบางประเภทจะอธิบายแต่ละจุดข้อมูลด้วยข้อความแทนที่จะเป็นตัวเลข สำหรับสิ่งเหล่านี้ ข้อมูลจะถูกส่งกลับในอาร์เรย์ stringValues และ value ไม่มีความหมาย ฟิลด์ stringValues ถูกละเว้นโดยสิ้นเชิงสำหรับเมตริกเชิงตัวเลข

ตัวอย่างเช่น ThumbnailWinningSegments รายงานส่วนที่ชนะในรูปภาพขนาดเล็กสำหรับแต่ละขนาดเวลาที่เป็นรายการของสตริง:


{
"time": "2026-01-01T00:00:00Z",
"value": 0,
"stringValues": ["TopEngagement", "HighCTR"]
}

สถานะจุดข้อมูล

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

ตัวเลือกความละเอียด

ฟิลด์ granularity ควบคุมขนาดของแต่ละขนาดเวลาในผลลัพธ์ ขอบเขตของบอลลูนจะถูกจัดเรียงตาม UTC ตัวอย่างเช่น บอลลูน OneDay จะทำงานตั้งแต่เที่ยงคืน UTC ถึงเที่ยงคืน UTC ดังนั้นการเปลี่ยนแปลง UTC ใด ๆ ใน startTime หรือ endTime จะถูกปรับให้เป็น UTC ก่อนที่จะจัดกลุ่ม

ไม่ใช่ทุกเมตริกรองรับความละเอียดทุกระดับ ดู เมตริกที่รองรับ สำหรับรายละเอียด

ความละเอียดคำอธิบายหมายเหตุ
OneMinuteบอลลูน 1 นาทีเมตริกด้านประสิทธิภาพเท่านั้น
HalfHourบอลลูน 30 นาทีเมตริกด้านประสิทธิภาพเท่านั้น
OneHourบอลลูน 1 ชั่วโมงเมตริกด้านประสิทธิภาพ รวมถึงบางเมตริกด้านการสร้างรายได้และเหตุการณ์แนะนำ
OneDayบอลลูน 1 วันรองรับโดยเมตริกทั้งหมด
OneWeekบอลลูน 1 สัปดาห์เมตริกด้านการมีส่วนร่วม, การสร้างรายได้ และการจัดหา ส่วนใหญ่
OneMonthบอลลูน 1 เดือนเมตริกด้านการมีส่วนร่วม, การสร้างรายได้ และการจัดหา ส่วนใหญ่
Noneจุดข้อมูลเดียวสำหรับช่วงเวลาทั้งหมดเมตริกด้านการมีส่วนร่วม, การสร้างรายได้ และการจัดหา ส่วนใหญ่

ใช้การจัดกลุ่ม

ไม่ใช่ทุกเมตริกรองรับการจัดกลุ่มทุกแบบ ดู เมตริกที่รองรับ สำหรับการจัดกลุ่มที่มีอยู่สำหรับแต่ละเมตริก

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

สอบถามรายได้โดยแยกตามแพลตฟอร์ม

curl --location 'https://apis.roblox.com/analytics-query-api/v1/universes/${UniverseId}/metrics' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"metric": "DailyRevenue",
"granularity": "OneDay",
"breakdown": ["Platform"],
"startTime": "2026-01-01T00:00:00Z",
"endTime": "2026-02-01T00:00:00Z"
}'

แต่ละรายการใน response.values รวมถึงอาร์เรย์ breakdowns ที่ระบุค่ามิติสำหรับซีรีส์นั้น:


{
"response": {
"values": [
{
"breakdowns": [{ "dimension": "Platform", "value": "Computer" }],
"dataPoints": [{ "time": "2026-01-01T00:00:00Z", "value": 8200 }]
},
{
"breakdowns": [{ "dimension": "Platform", "value": "Phone" }],
"dataPoints": [{ "time": "2026-01-01T00:00:00Z", "value": 3400 }]
}
]
}
}

แต่ละวัตถุใน breakdowns จะมี:

ฟิลด์คำอธิบาย
dimensionชื่อมิติที่ตรงกันกับรายการในฟิลด์คำขอ breakdown
valueค่ามิติที่เป็นดิบ ใช้สิ่งนี้เมื่อสร้างคำร้องขอ filter
displayValueป้ายชื่อที่อ่านได้ง่ายสำหรับค่ามิติ ถูกละเว้นเมื่อไม่มีป้ายชื่อแสดงอยู่ อาจแตกต่างจาก value สำหรับมิติ เช่น ID ผลิตภัณฑ์หรือชื่อขั้นตอนในช่องทาง

กรองผลลัพธ์

ตัวกรองลดผลลัพธ์ของการสอบถามให้อยู่ในค่ามิติที่เฉพาะเจาะจง เพิ่มอาร์เรย์ filter ไปยังคำขอของคุณซึ่งแต่ละรายการระบุ dimension, values ที่จะตรงกัน และ operation ที่จะใช้

สอบถาม DAU สำหรับอุปกรณ์มือถือเท่านั้น

curl --location 'https://apis.roblox.com/analytics-query-api/v1/universes/${UniverseId}/metrics' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"metric": "DailyActiveUsers",
"granularity": "OneDay",
"filter": [
{
"dimension": "Platform",
"values": ["Phone", "Tablet"],
"operation": "In"
}
],
"startTime": "2026-01-01T00:00:00Z",
"endTime": "2026-02-01T00:00:00Z"
}'

การดำเนินการกรอง

การดำเนินการคำอธิบาย
Inรวมผลลัพธ์ที่ค่ามิติอยู่ในชุดที่ให้ไว้
NotInไม่รวมผลลัพธ์ที่ค่ามิติอยู่ในชุดที่ให้ไว้
GreaterThanรวมผลลัพธ์ที่ค่ามิติเป็นตัวเลขมากกว่าค่าที่ให้ไว้
GreaterThanOrEqualรวมผลลัพธ์ที่ค่ามิติเป็นตัวเลขมากกว่าหรือเท่ากับค่าที่ให้ไว้
LessThanรวมผลลัพธ์ที่ค่ามิติเป็นตัวเลขน้อยกว่าค่าที่ให้ไว้
LessThanOrEqualรวมผลลัพธ์ที่ค่ามิติเป็นตัวเลขน้อยกว่าหรือเท่ากับค่าที่ให้ไว้
Matchรวมผลลัพธ์ที่ค่ามิติตรงกับรูปแบบสตริงที่ให้ไว้

คุณสามารถรวมฟิลเตอร์กับการจัดกลุ่มในคำขอเดียวกันได้

ค้นหาค่ามิติ

เอ็นพอยต์ค่ามิติคือรายการค่าที่มีอยู่สำหรับหนึ่งหรือหลายมิติของเมตริกตามช่วงวันที่ โดยไม่คำนวณเมตริกเอง ใช้เพื่อค้นหาค่าที่ถูกต้องสำหรับคำขอ filter และ breakdown — ตัวอย่างเช่น ประเทศ, รหัสผลิตภัณฑ์ หรือหมายเลข ID ขั้นตอนในช่องทาง

เพื่อสอบถามค่ามิติสำหรับประสบการณ์ของคุณ:

  1. คัดลอกคีย์ API ไปยังหัวข้อการร้องขอ x-api-key
  2. แทนที่ ${UniverseId} ใน URL ด้วยหมายเลข ID ของจักรวาลของประสบการณ์ของคุณ
  3. ตั้งค่า metric เป็นเมตริกที่จะให้บริบทสำหรับมิติ
  4. ตั้งค่า dimensions เป็นชื่อมิติที่คุณต้องการค่า
  5. ตั้งค่า startTime และ endTime ให้เป็นช่วงวันที่ที่คุณต้องการ โดยใช้แท็กเวลาของ RFC 3339 UTC
  6. ส่งคำขอ
ค้นหาค่าประเทศสำหรับ DAU

curl --location 'https://apis.roblox.com/analytics-query-api/v1/universes/${UniverseId}/dimension-values' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"metric": "DailyActiveUsers",
"dimensions": ["Country"],
"startTime": "2026-01-01T00:00:00Z",
"endTime": "2026-02-01T00:00:00Z"
}'

ฟิลด์เนื้อหาคำขอ

ฟิลด์ประเภทจำเป็นคำอธิบาย
metricstringใช่เมตริกที่มิติจะถูกแก้ไข ให้บริบทของชื่อเนมสเปซสำหรับการค้นหามิติ
dimensionsstring[]ใช่ชื่อมิติที่ต้องการดึงค่าข้อมูล สำหรับแต่ละรายการจะเป็นชื่อมิติเดียว เช่น "Country"
startTimestringใช่จุดเริ่มต้นของหน้าต่างการสอบถาม เป็นแท็กเวลาของ RFC 3339 รวมถึง ยอมรับการเปลี่ยนแปลง UTC ทุกประเภท ผลลัพธ์จะถูกจัดกลุ่มใน UTC เสมอ
endTimestringใช่จุดสิ้นสุดของหน้าต่างการสอบถาม เป็นแท็กเวลาของ RFC 3339 ไม่รวมอยู่ ตัวอย่างเช่น "2026-02-01T00:00:00Z" รวมข้อมูลถึงวันที่ 31 มกราคม
filterobject[]ไม่ตัวกรองเพื่อลดผลลัพธ์ให้อยู่ในค่ามิติที่เฉพาะเจาะจง แต่ละรายการมี dimension, values, และ operation ละเว้นเพื่อไม่ให้มีการกรอง ดู กรองผลลัพธ์
granularitystringไม่ขนาดเวลาของชิ้น ขนาดของชิ้นนี้เป็นออฟชั่นสำหรับจุดสิ้นสุด เมื่อเปรียบเทียบกับค่าใน metrics ดู ตัวเลือกความละเอียด
limitintegerไม่จำนวนสูงสุดของค่าที่จะส่งคืนต่อมิติ โดยเรียงลำดับตามมูลค่าเมตริกทั้งหมดที่ลดลง รองรับเฉพาะเมื่อ granularity ถูกละเว้นหรือเป็น "None" การละเว้นฟิลด์นี้หรือกำนหนดเป็น 0 จะใช้ค่าควบคุมที่ขึ้นอยู่กับเมตริกอย่างเหมาะสม

คำร้องส่วนใหญ่จะเสร็จสิ้นทันทีและคืนค่า 200 OK พร้อมกับ "done": true สำหรับคำร้องที่มีช่วงวันที่ใหญ่ API คืนค่า 202 Accepted พร้อมกับ "done": false และ path เพื่อให้ตรวจสอบได้ ดู การดำเนินการที่ใช้เวลานาน สำหรับกระบวนการตรวจสอบ ในการตรวจสอบ ใช้ค่า path จากผลลัพธ์ — จะชี้ไปที่ v1/universes/{universeId}/operations/dimension-values/{operationId} ซึ่งแตกต่างจากเส้นทางตรวจสอบเมตริก

เสร็จสิ้น (200):


{
"path": "path/to/poll",
"done": true,
"metadata": {
"createdTime": "2026-01-15T00:00:00Z"
},
"response": {
"values": [
{
"dimension": "Country",
"values": [{ "value": "US" }, { "value": "GB" }]
}
]
}
}

แต่ละรายการใน response.values แทนมิติที่ร้องขอแต่ละตัว แต่ละวัตถุภายใน values ประกอบด้วย:

ฟิลด์คำอธิบาย
valueค่ามิติที่เป็นดิบ ใช้สิ่งนี้เมื่อสร้างคำร้องขอ filter
displayValueป้ายชื่อที่อ่านได้ง่ายสำหรับค่ามิติ อาจไม่มีอยู่สำหรับมิติประเภท ID เช่นรหัสผลิตภัณฑ์ จะไม่มีเมื่อทำการร้องขอด้วยมิติที่ส่วนใหญ่ เช่น "Country" อาจแตกต่างกันระหว่าง value สำหรับมิติที่มี ID หรือชื่อขั้นตอนในช่องทาง

ข้อผิดพลาดใช้ done: true และโครงสร้าง error เช่นเดียวกับในการเปิดเมตริก มิติที่ไม่ได้รับการสนับสนุนสำหรับเมตริกที่ระบุจะส่งคืน 400 พร้อมรหัส 2001 ดู ข้อผิดพลาดทั่วไป

คำร้องทั่วไป

ตัวอย่างต่อไปนี้แสดงคำร้องทั่วไป รวมถึงเมตริกที่มีอยู่บนหน้า Creator Dashboard รายงานการวิเคราะห์

รายได้

สอบถามรายได้รายวันใน Robux

curl --location 'https://apis.roblox.com/analytics-query-api/v1/universes/${UniverseId}/metrics' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"metric": "DailyRevenue",
"granularity": "OneDay",
"startTime": "2026-01-01T00:00:00Z",
"endTime": "2026-02-01T00:00:00Z"
}'

การเก็บรักษา D1

สอบถามการเก็บรักษา D1

curl --location 'https://apis.roblox.com/analytics-query-api/v1/universes/${UniverseId}/metrics' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"metric": "ForwardD1Retention",
"granularity": "OneDay",
"startTime": "2026-01-01T00:00:00Z",
"endTime": "2026-02-01T00:00:00Z"
}'

ผู้ใช้งานใหม่กับผู้ใช้งานที่กลับมา

สอบถาม DAU โดยแยกประเภทใหม่กับผู้ใช้งานที่กลับมา

curl --location 'https://apis.roblox.com/analytics-query-api/v1/universes/${UniverseId}/metrics' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"metric": "DailyActiveUsers",
"granularity": "OneDay",
"breakdown": ["IsNewUser"],
"startTime": "2026-01-01T00:00:00Z",
"endTime": "2026-02-01T00:00:00Z"
}'

การรวมรายสัปดาห์

ใช้ความละเอียดที่หยาบกว่าสำหรับการมองเห็นที่มีช่วงเวลากว้างขึ้นซึ่งมีจุดข้อมูลน้อยลง ที่ความละเอียด OneWeek แต่ละบอลลูนจะนับผู้ใช้งานที่โดดเด่นในช่วงระยะเวลาเจ็ดวัน — ไม่ใช่จำนวนค่ารายวัน

สอบถาม DAU ที่ความละเอียดรายสัปดาห์

curl --location 'https://apis.roblox.com/analytics-query-api/v1/universes/${UniverseId}/metrics' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"metric": "DailyActiveUsers",
"granularity": "OneWeek",
"startTime": "2026-01-01T00:00:00Z",
"endTime": "2026-04-01T00:00:00Z"
}'

การจัดอันดับ Top-N

เพื่อจัดอันดับตามเมตริกหนึ่งและแสดงเมตริกอื่นสำหรับค่าชุดเดียวกัน ใช้คำร้องสองรายการ ตัวอย่างเช่น เพื่อดูการแปลงผู้ใช้งานที่ชำระเงินสำหรับ 5 ประเทศชั้นนำตาม DAU:

ขั้นตอนที่ 1: ค้นหาค่ามิติที่ดีที่สุด ใช้ granularity: "None" เพื่อให้ได้รับผลรวมที่รวมกันเพียงหนึ่งรายการและ limit เพื่อจำกัดจำนวนซีรีส์ที่ส่งกลับ:

ค้นหาประเทศ 5 อันดับแรกตาม DAU

curl --location 'https://apis.roblox.com/analytics-query-api/v1/universes/${UniverseId}/metrics' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"metric": "DailyActiveUsers",
"granularity": "None",
"breakdown": ["Country"],
"startTime": "2026-01-01T00:00:00Z",
"endTime": "2026-02-01T00:00:00Z",
"limit": 5
}'

ขั้นตอนที่ 2: สอบถามผลเมตริกที่แสดงผล โดยกรองค่าที่ส่งคืนในขั้นตอนที่ 1:

การแปลงผู้ใช้งานที่ชำระเงินสำหรับ 5 ประเทศชั้นนำ

curl --location 'https://apis.roblox.com/analytics-query-api/v1/universes/${UniverseId}/metrics' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"metric": "PayingUsersCVR",
"granularity": "OneDay",
"breakdown": ["Country"],
"filter": [
{
"dimension": "Country",
"values": ["US", "GB", "PH", "VN", "DE"],
"operation": "In"
}
],
"startTime": "2026-01-01T00:00:00Z",
"endTime": "2026-02-01T00:00:00Z"
}'

ขั้นตอนในช่องทาง

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

ขั้นตอนที่ 1: ค้นหาขั้นตอนในช่องทาง ขั้นตอนในช่องทางจะปรากฏในผลลัพธ์เฉพาะวันใดก็ตามที่ผู้ใช้งานหนึ่งคนเข้าถึงขั้นตอนนั้น ใช้การมองย้อนกลับที่ยาวนานขึ้น (90 วันเป็นค่าเริ่มต้นที่ปลอดภัย) เพื่อให้แน่ใจว่าขั้นตอนที่เข้าถึงได้ยากยังคงปรากฏในการตอบสนองการค้นหา ใช้ granularity: "None" เพื่อรับผลรวมที่รวมกันในแต่ละขั้นตอน:

ค้นหาขั้นตอนในช่องทางสำหรับช่องทาง Levels

curl --location 'https://apis.roblox.com/analytics-query-api/v1/universes/${UniverseId}/metrics' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"metric": "FunnelUserTotalCount",
"granularity": "None",
"breakdown": ["FunnelStep"],
"filter": [
{
"dimension": "FunnelName",
"values": ["Levels"],
"operation": "In"
}
],
"startTime": "2025-11-01T00:00:00Z",
"endTime": "2026-02-01T00:00:00Z"
}'

ขั้นตอนที่ 2: สอบถามเมตริกช่องทางสำหรับแต่ละขั้นตอน โดยกรองไปยัง ID ขั้นตอนที่ส่งคืนในขั้นตอนที่ 1:

อัตราการลดลงของผู้ใช้งานตามขั้นตอนสำหรับช่องทาง Levels

curl --location 'https://apis.roblox.com/analytics-query-api/v1/universes/${UniverseId}/metrics' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"metric": "FunnelUserChurnRate",
"granularity": "None",
"breakdown": ["FunnelStep"],
"filter": [
{
"dimension": "FunnelStep",
"values": ["1", "2", "3", "4", "5"],
"operation": "In"
},
{
"dimension": "FunnelName",
"values": ["Levels"],
"operation": "In"
}
],
"startTime": "2026-01-01T00:00:00Z",
"endTime": "2026-02-01T00:00:00Z"
}'

ข้อผิดพลาดทั่วไป

ข้อผิดพลาดส่วนใหญ่จะถูกส่งคืนเป็นข้อผิดพลาดจากการดำเนินการสอบถาม: ร่างการตอบสนองจะประกอบไปด้วย "done": true และวัตถุ error พร้อมรหัสเชิงตัวเลข code และสตริง message ข้อผิดพลาดด้านการตรวจสอบและทรัพยากร (401, 404) เป็นการตอบสนอง HTTP แบบเรียบง่ายโดยไม่มีร่าง ดังนั้นตารางด้านล่างจึงแสดง สำหรับรหัสข้อผิดพลาดของพวกเขา

สถานะรหัสสาเหตุการแก้ไข
4002001ฟิลด์ที่จำเป็นขาดหายไปหรือค่าฟิลด์ไม่ถูกต้อง (เช่น ไม่สามารถระบุ metric หรือ granularity)ตรวจสอบตาราง ฟิลด์เนื้อหาคำขอ และตรวจสอบว่าค่าทั้งหมดสะกดถูกต้อง
4002001ความละเอียดที่ร้องขอไม่ได้รับการสนับสนุนสำหรับเมตริกหรือช่วงวันที่ที่กำหนดดู ตัวเลือกความละเอียด สำหรับช่วงวันที่ที่ยาวนานกว่า 2 ปีนั้นจะใช้ OneWeek, OneMonth, หรือ None
4002001มิติใน filter หรือ breakdown ไม่ได้รับการสนับสนุนสำหรับเมตริกที่ระบุดู เมตริกที่รองรับ
4002001startTime เกินระยะเวลาการเก็บข้อมูลสำหรับเมตริกเมตริกมาตรฐานเก็บข้อมูลได้นานถึง 4 ปี เมตริกด้านประสิทธิภาพเก็บข้อมูลได้นาน 28 วัน
401หัวข้อ x-api-key ขาดหายไป ไม่ถูกต้อง หรือถูกเพิกถอน หรือกุญแจไม่มีสิทธิ์การวิเคราะห์จักรวาลสำหรับจักรวาลนี้ตรวจสอบค่าของกุญแจและยืนยันว่าคีย์ API มีสิทธิ์ที่ถูกต้องบน Creator Dashboard
404รหัสการดำเนินการไม่มีอยู่ยืนยันหมายเลข ID ของการดำเนินการที่ได้รับในผลลัพธ์เบื้องต้น และตรวจสอบว่าหมายเลข ID ของจักรวาลถูกต้อง
4293000คำร้องเกินงบประมาณจุดข้อมูลลดช่วงวันที่ ใช้ความละเอียดที่หยาบกว่า หรือ ลดจำนวนชุดการแบ่งโดยใช้ limit
5002000เกิดข้อผิดพลาดของเซิร์ฟเวอร์ที่ไม่คาดคิดทดลองส่งคำขออีกครั้ง หากข้อผิดพลาดยังคงปรากฏอยู่ ให้สร้างโพสต์ใหม่ใน DevForum
5032002เกิดข้อผิดพลาดชั่วคราวทดลองส่งคำขออีกครั้งหลังจากผ่านไปสักครู่
5041000คำร้องหมดเวลา หลังจากจำนวนครั้งที่พยายามเกินจำนวนสูงสุดลองช่วงวันที่สั้นลง การแบ่งที่น้อยลง หรือ ความละเอียดที่หยาบกว่า
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ