ส่งเหตุการณ์

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

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

  • การต้อนรับ - ผู้ใช้จะลงทะเบียนเมื่อเริ่มต้นกับประสบการณ์ของคุณ?
  • ความคืบหน้า - ผู้ใช้หยุดก้าวไปข้างหน้าผ่านประสบการณ์ของคุณที่ไหน?
  • ร้านค้า - ผู้ใช้ทำซื้ออยู่ที่ไหน?

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

ติดตามการเหตุการณ์ของ Funnel

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

ติดตามช่องทางเดียว

ระบบระเบิดเดียวจะตรวจสอบเหตุการณ์การแปลงที่เกิดขึ้นเเค่ครั้งเดียวต่อผู้ใช้

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

ติดตามขั้นตอนการออกแบบในพืช

local AnalyticsService = game:GetService("AnalyticsService")
-- บันทึกขั้นตอนแรกของ FTUE
AnalyticsService: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 และคุณปรับปรุ

อัปเดตคำเตือนจะปรากฏขึ้นบนขั้นตอนที่เกี่ยวข้อง:

A warning displays on the funnel dashboard indicating a name change within the selected date range.

การปกป้องช่องของคุณจากผู้โจมตี

เพื่อให้ข้อมูลของคุณสะอาด สิ่งสำคัญคือต้องเพิ่มระดับการตรวจสอบข้อมูลบางอย่างในโค้ดเซิร์ฟเวอร์ของคุณเพื่อป้องกันผู้โจมตีที่จะส่งข้อมูลที่ไม่ถูกต้องไปยังบริการวิเคราะห์ของคุณ

เช่น หากคุณมีช่องทางการต้อนรับด้วย 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)

ใช้ฟิลด์ที่กำหนดเอง

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

A dropdown indicating the three custom fields you can compare across, along with standard breakdowns like age, gender, operating system and more.

สำหรับข้อมูลเพิ่มเติม ดู ฟิลด์ที่กําหนดเอง

การใช้ช่องเพื่อเพิ่มประสบการณ์ของคุณ

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

ในช่องเก็บของออนบอร์ดสำหรับ Plant ด้านล่าง ส่วนใหญ่ของการลดลงคือขั้นตอนที่ 2 ("Plant Seed")

Funnels chart for Plant experience showing a 70% drop-off between In Farm, step 1, and Plant Seed, step 2.

ขึ้นอยู่กับข้อมูลนี้คุณสามารถ:

  • เพิ่มตัวชี้วัดบริบทในการชี้นำผู้ใช้ไปยังการปลูกเมล็ดเมื่อพวกเขาเริ่มต้น
  • ออกแบบประสบการณ์ผู้ใช้ใหม่ที่ต้องการให้ผู้ใช้ปลูกเมล็ดและปลูกต้นไม้ที่ประสบความสำเร็จก่อนสำรวจส่วนที่เหลือของประสบการณ์ คุณสามารถปรับปรุงเหตุการณ์นี้โดยการสร้าง รายละเอียดข้อเสนอแนะท
In-experience view of Plant experience showing prompts to plant seeds above the flowerpots.