ส่งเหตุการณ์ไปยังเวลาศูนย์กลางของประสบการณ์ของคุณ เพื่อให้คุณสามารถติดตามความคืบหน้าของผู้ใช้ของคุณผ่านสเต็ปสําคัญของประสบการณ์ของคุณ นี่รวมถึง:
- การต้อนรับ - ผู้ใช้จะลงทะเบียนเมื่อเริ่มต้นกับประสบการณ์ของคุณ?
- ความคืบหน้า - ผู้ใช้หยุดก้าวไปข้างหน้าผ่านประสบการณ์ของคุณที่ไหน?
- ร้านค้า - ผู้ใช้ทำซื้ออยู่ที่ไหน?
เมื่อประสบการณ์ของคุณเริ่มติดตามเหตุการณ์ Funnel คุณจะปลดล็อกหน้า Funnel ศูนย์กลางครีเอเตอร์คุณสามารถเพิ่มแท็บใหม่ลงในแผงควบคุมสำหรับสูงถึงสิบ Funnel
ติดตามการเหตุการณ์ของ Funnel
เพื่อติดตามเหตุการณ์ที่น่าสนใจในช่องเก็บข้อมูล คุณต้องระบุช่องเก็บข้อมูลที่สำคัญที่สุดในประสบการณ์ของคุณและแบ่งพวกเขาเป็นขั้นตอน ประสบการณ์การต้อนรับของคุณเป็นสถานที่ที่ดีที่จะเริ่มตั้
ติดตามช่องทางเดียว
ระบบระเบิดเดียวจะตรวจสอบเหตุการณ์การแปลงที่เกิดขึ้นเเค่ครั้งเดียวต่อผู้ใช้
ตัวอย่างที่พบบ่อยคือ ท่อระเบิดน้ำเบื้องบน ซึ่งเป็นสิ่งสำคัญในการเข้าใจวิธีการปรับปรุงการเก็บรักษาผู้ใช้ใหม่และเวลาการเข้าชมของคุณ ตัวอย่างต่อไ
ติดตามขั้นตอนการออกแบบในพืช
local AnalyticsService = game:GetService("AnalyticsService")-- บันทึกขั้นตอนแรกของ FTUEAnalyticsService:LogOnboardingFunnelStepEvent(player,1, -- เลขขั้นตอน"In Farm" -- ชื่อขั้นตอน)-- บันทึกขั้นตอนที่สองAnalyticsService:LogOnboardingFunnelStepEvent(player,2, -- เลขขั้นตอน"Plant Seed" -- ชื่อขั้นตอน)
ติดตามท่อที่ซ้ำกัน
ระบบจับคอลัมน์ซ้ำจะตรวจสอบเหตุการณ์การแปลงที่เกิดขึ้นหลายครั้งต่อผู้ใช้
ตัวอย่างที่พบบ่อยคือ ร้านค้า funnel ซึ่งเป็นสิ่งสำคัญที่จะเข้าใจวิธีการปรับปรุงการแปลงผู้ชำระเงินของคุณ, รายได้เฉลี่ยต่อผู้ใช้งานที่จ่ายเงิน (ARPPU)และรายได้ ตัวอย่างต่อไปนี้เป็นร้านค้า funnel ที่ผู้ใช้เปิดร้านค้
ใช้ funnelSessionId เพื่อแยกระหว่างสิ่งที่แตกต่างกันของผู้ใช้ใน funnel ที่เหมือนกันใน funnel ที่ซ้ำกัน, เช่น เซสชัน
ติดตามขั้นตอนร้านค้า
local AnalyticsService = game:GetService("AnalyticsService")local HttpService = game:GetService("HttpService")funnelSessionId = HttpService:GenerateGUID()-- บันทึกเมื่อผู้ใช้เปิดร้านค้าAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- ชื่อของท่อนำทางใช้เพื่อรวมขั้นตอนกันfunnelSessionId, -- สร้างรหัสเซสชันสำหรับการชำระเงินเฉพาะ1, -- เลขขั้นตอน"Opened Store" -- ชื่อขั้นตอน)-- ไอเท็มAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- ชื่อของท่อนำทางใช้เพื่อรวมขั้นตอนกันfunnelSessionId, -- สร้างรหัสเซสชันสำหรับการชำระเงินเฉพาะ2, -- เลขขั้นตอน"Viewed Item" -- ชื่อขั้นตอน)-- บันทึกเมื่อผู้ใช้มุมมองเพิ่มในตะกร้าAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- ชื่อของท่อนำทางใช้เพื่อรวมขั้นตอนกันfunnelSessionId, -- สร้างรหัสเซสชันสำหรับการชำระเงินเฉพาะ3, -- เลขขั้นตอน"Added to Cart" -- ชื่อขั้นตอน)
การใช้งาน funnelSessionId
เมื่อเริ่มติดตั้งช่องเก็บข้อมูล, funnelSessionId สามารถช่วยให้คุณติดตามกิจกรรมของคุณ อินสแตนซ์ใช้แนวทางต่อไปนี้:
- ทางเดินของครั้งเดียว - คุณไม่จำเป็นต้องใช้ funnelSessionId สำหรับทางเดินของครั้งเดียวเพราะพวกเขาเกิดขึ้นเเค่ครั้งเดียวต่อผู้ใช้
- ร้านค้าฟังก์เทลล์ - ใช้ funnelSessionId เพื่อแยกระหว่างสเต็ปต่างๆ ของผู้ใช้ในระบบท่อเส้นเดียวเช่นเปิดร้านค้าหลายครั
- การอัพเกรดรายการ - ใช้ funnelSessionId เพื่อแยกระหว่างแสงนำทางระหว่างระดับการอัพเกรดที่แตกต่างกัน โดยทั่วไปมักจะใช้เวลานานกว่าเวลาเล
ขั้นตอนแรก
ระบบระเบียงจะเริ่มต้นขึ้นเมื่อขั้นตอนแรกได้รับการบันทึก หากคุณต้องการเริ่มระบบระเบียงทันทีเมื่อผู้เล่นเข้าร่วม คุณจะต้องบันทึกขั้นตอนแรกในอีเวนต์ PlayerAdded
บันทึกขั้นตอนแรกในอีเวนต์ PlayerAdded
local AnalyticsService = game:GetService("AnalyticsService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- เลขขั้นตอน
"Player Joined" -- ชื่อขั้นตอน
)
end)
ขั้นตอนที่ซ้ำกัน
หากผู้ใช้ทำซ้ำขั้นตอนในช่องเก็บข้อมูล ช่องเก็บข้อมูลจะพิจารณาเฉพาะตัวอย่างแรกของขั้นตอนเท่านั้น โดยเช่น หากผู้ใช้บันทึกขั้นตอนที่ 2 ของช่องเก็บข้อมูลสองครั้ง ช่องเก็บข้อมูลจะนับเ
ข้ามขั้นตอน
หากเนื่องจากเหตุผลใด ๆ คุณข้ามขั้นตอนในช่องเก็บของ ขั้นตอนก่อนหน้านี้จะเสร็จสิ้นอัตโนมัติ
เช่นเดียวกับหากคุณมีช่องระบายน้ำที่มีขั้นตอน 1, 2 และ 3 หากคุณบันทึกขั้นตอนที่ 3 โดยไม่บันทึกขั้นตอนที่ 1 หรือ 2 ช่องระบายน้ำจะพิจารณาขั้นตอนที่ 1 และ 2 เป็นสำเร็จ
การใช้ตัวกรอง Funnel
Roblox ให้กรองเพื่อช่วยให้คุณวิเคราะห์ข้อมูลของช่องของคุณ รวมถึงข้อมูลผู้เล่น ข้อมูลอุปกรณ์ และคุณสามารถส่งข้อมูลที่กําหนดเองได้ในบางกรณี สถานะของผู้เล่นอาจเปลี่ยนแปลงในช่อ
เพื่อหลีกเลี่ยงการนับจํานวนครั้งที่ซ้ํากัน funels ตรวจกรองจะใช้เสมอ เฉพาะขั้นตอนแรกของ funnel ของ funnel นี่หมายถึงว่าหากผู้เล่นเปลี่ยนอุปกรณ์ในระหว่าง funnel พวกเขาจะเป็นเพียงอุป
เช่นเดียวกัน ช่องระบายน้ำจะปรากฏตามลำดับรุ่น หมายถึง หากผู้เล่นเข้าสู่ช่องระบายน้ำในวันที่ 6/19 ช่องระบายน้ำจะได้รับการเป็นเจ้าของโดยรุ่น 6/19 แม้ว่าพวกเขาจะเสร็จสิ้นช่องระบ
การปรับแต่งช่องเหล่า
หลังจากที่คุณทำการปรับปรุงขั้นตอนของช่องเขาของคุณ สิ่งสำคัญคือต้องตั้งระยะเวลาที่ถูกต้องเพื่อดูช่องเขาล่าสุด หากวันที่ปัจจุบันคือ 6/21 และคุณปรับปรุ
อัปเดตคำเตือนจะปรากฏขึ้นบนขั้นตอนที่เกี่ยวข้อง:
การปกป้องช่องของคุณจากผู้โจมตี
เพื่อให้ข้อมูลของคุณสะอาด สิ่งสำคัญคือต้องเพิ่มระดับการตรวจสอบข้อมูลบางอย่างในโค้ดเซิร์ฟเวอร์ของคุณเพื่อป้องกันผู้โจมตีที่จะส่งข้อมูลที่ไม่ถูกต้องไปยังบริการวิเคราะห์ของคุณ
เช่น หากคุณมีช่องทางการต้อนรับด้วย 3 ขั้นตอนคุณสามารถใช้ RemoteEvent สำหรับลูกค้าเพื่อแจ้งให้เซิร์ฟเวอร์ทราบเมื่อผู้เล่นทุกขั้นตอนเสร็จสิ้นและเพิ่มการตรวจสอบเซิร์ฟเวอร
รหัสอีเมนต์ข้างลูกค้า
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local onboardingEvent = ReplicatedStorage:WaitForChild("OnboardingEvent")
local function fireOnboardingEvent(step: number)
onboardingEvent:FireServer({ step = step })
end
fireOnboardingEvent(1)
fireOnboardingEvent(2)
fireOnboardingEvent(10) -- invalid step
รหัสอีเมนต์ข้างเซิร์ฟเวอร์
local AnalyticsService = game:GetService("AnalyticsService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local onboardingEvent = ReplicatedStorage:WaitForChild("OnboardingEvent")
local maxStep = 3
local function onPlayerEventFired(player: Player, args: { step: number })
local step = args.step
if(step > maxStep) then
warn(`Invalid tutorial step {step} received from client.`)
return
end
print(`{player.Name} completed step: {step}`)
AnalyticsService:LogOnboardingFunnelStepEvent(player, step)
end
onboardingEvent.OnServerEvent:Connect(onPlayerEventFired)
ใช้ฟิลด์ที่กำหนดเอง
นอกจากนี้การส่งเหตุการณ์ยังช่วยให้คุณสามารถแบ่งย่อยในสนามที่กำหนดเองเพื่อสนับสนุนการเปรียบเทียบระหว่างระดับได้ง่ายขึ้น เช่น คุณสามารถติดตามว่ารุ่นรถยนต์ใดที่ให้ความคืบหน้ามากที่สุ
สำหรับข้อมูลเพิ่มเติม ดู ฟิลด์ที่กําหนดเอง
การใช้ช่องเพื่อเพิ่มประสบการณ์ของคุณ
หนึ่งในกระบอกที่สำคัญที่สุดที่จะติดตามคือการออนบอร์ดเพราะหลายประสบการณ์สู้เสียให้กับการเก็บรักษาผู้ใช้ใหม่และการมีส่วนร่วม
ในช่องเก็บของออนบอร์ดสำหรับ Plant ด้านล่าง ส่วนใหญ่ของการลดลงคือขั้นตอนที่ 2 ("Plant Seed")
ขึ้นอยู่กับข้อมูลนี้คุณสามารถ:
- เพิ่มตัวชี้วัดบริบทในการชี้นำผู้ใช้ไปยังการปลูกเมล็ดเมื่อพวกเขาเริ่มต้น
- ออกแบบประสบการณ์ผู้ใช้ใหม่ที่ต้องการให้ผู้ใช้ปลูกเมล็ดและปลูกต้นไม้ที่ประสบความสำเร็จก่อนสำรวจส่วนที่เหลือของประสบการณ์ คุณสามารถปรับปรุงเหตุการณ์นี้โดยการสร้าง รายละเอียดข้อเสนอแนะท