Sự kiện phễu

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Sự kiện phễu cho phép bạn theo dõi quá trình tiến bộ của người dùng qua các giai đoạn chính của trò chơi. Điều này bao gồm:

  • Giới thiệu - Người dùng bỏ qua ở đâu khi bắt đầu với trò chơi của bạn?
  • Tiến triển - Người dùng dừng lại ở đâu khi tiến triển trong trò chơi của bạn?
  • Cửa hàng - Người dùng bỏ dở việc mua hàng ở đâu?

Khi trò chơi của bạn bắt đầu theo dõi sự kiện phễu, bạn sẽ mở khóa trang Phễu của bảng điều khiển Phân tích trên Creator Hub. Bạn có thể thêm tab vào bảng điều khiển cho tối đa mười phễu.

Theo dõi sự kiện phễu

Để theo dõi sự kiện phễu, trước tiên hãy xác định những phễu quan trọng nhất trong trò chơi của bạn và phân đoạn chúng thành các bước. Vì mục tiêu là hiểu hành vi của người chơi, những bước này thường tương ứng với một hành động hoặc thành tựu nào đó.

Trong một trò chơi RPG, bạn có thể có một bước để tham gia trò chơi, một bước để chọn lớp, một bước để thoát khỏi phòng khởi đầu, và nhiều bước khác. Bạn thường gọi LogFunnelStepEvent() hoặc LogOnboardingFunnelStepEvent() sau khi một người chơi hoàn thành một bước, nhưng điều quan trọng nhất là phải nhất quán về thời điểm bạn gọi những phương thức này và sử dụng các tên dễ hiểu.

Luồng giới thiệu của bạn là một nơi tuyệt vời để bắt đầu theo dõi sự kiện phễu, vì đây có thể là nơi bạn mất đi phần lớn người dùng của mình.

Theo dõi phễu một lần

Một phễu một lần theo dõi các sự kiện chuyển đổi chỉ xảy ra một lần cho mỗi người dùng.

Một ví dụ phổ biến là phễu giới thiệu, điều này rất quan trọng để hiểu cách cải thiện việc giữ chân người dùng mới và thời gian phiên của trò chơi của bạn. Ví dụ sau đây là một phễu giới thiệu cho Plant, một trò chơi tycoon nơi người dùng mới vào một trang trại, trồng hạt, tưới cây và hơn thế nữa theo thứ tự liên tiếp:

Theo dõi các bước giới thiệu trong Plant

local AnalyticsService = game:GetService("AnalyticsService")
-- Ghi lại bước đầu tiên của FTUE
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Số bước
"Trong Trang Trại" -- Tên bước
)
-- Ghi lại bước thứ hai
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
2, -- Số bước
"Trồng Hạt" -- Tên bước
)

Theo dõi phễu định kỳ

Một phễu định kỳ theo dõi các sự kiện chuyển đổi xảy ra nhiều lần cho mỗi người dùng.

Một ví dụ phổ biến là phễu cửa hàng, điều này có thể giúp bạn hiểu cách cải thiện việc chuyển đổi người chơi, ARPPU và doanh thu của trò chơi. Ví dụ sau đây là một phễu cửa hàng nơi người dùng mở cửa hàng, xem mặt hàng, thêm mặt hàng vào giỏ hàng và hơn thế nữa.

Sử dụng funnelSessionId để phân biệt giữa các phiên khác nhau của cùng một người dùng trong một phễu định kỳ, chẳng hạn như mở cửa hàng nhiều lần trong một phiên duy nhất.

Theo dõi các bước cửa hàng

local AnalyticsService = game:GetService("AnalyticsService")
local HttpService = game:GetService("HttpService")
local funnelSessionId = HttpService:GenerateGUID()
-- Ghi lại khi người dùng mở cửa hàng
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- Tên phễu được sử dụng để nhóm các bước lại với nhau
funnelSessionId, -- ID phiên phễu cho phiên thanh toán độc nhất này
1, -- Số bước
"Mở Cửa Hàng" -- Tên bước
)
-- Ghi lại khi người dùng xem một mặt hàng
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- Tên phễu được sử dụng để nhóm các bước lại với nhau
funnelSessionId, -- ID phiên phễu cho phiên thanh toán độc nhất này
2, -- Số bước
"Xem Mặt Hàng" -- Tên bước
)
-- Ghi lại khi người dùng thêm vào giỏ hàng
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- Tên phễu được sử dụng để nhóm các bước lại với nhau
funnelSessionId, -- ID phiên phễu cho phiên thanh toán độc nhất này
3, -- Số bước
"Thêm vào Giỏ Hàng" -- Tên bước
)

Triển khai funnelSessionId

Khi triển khai các phễu, một funnelSessionId có thể giúp bạn theo dõi các sự kiện của mình nhưng có thể không cần thiết trong mọi trường hợp. Sử dụng các hướng dẫn sau:

  • Phễu một lần - Bạn không cần sử dụng funnelSessionId cho phễu một lần vì chúng chỉ xảy ra một lần cho mỗi người dùng.
  • Phễu cửa hàng - Sử dụng funnelSessionId để phân biệt giữa các phiên khác nhau của cùng một người dùng trong một phễu định kỳ, chẳng hạn như mở cửa hàng nhiều lần trong một phiên duy nhất trong ví dụ trước. Trong các trường hợp như thế này, nơi người chơi có thể mở cửa hàng nhiều lần trong một phiên duy nhất, bạn nên sử dụng một GUID làm funnelSessionId.
  • Nâng cấp mặt hàng - Sử dụng funnelSessionId để phân biệt giữa các con đường nâng cấp mặt hàng khác nhau, thường là trong khoảng thời gian dài hơn so với một phiên chơi đơn. Thay vì sử dụng một GUID như trong trường hợp phễu cửa hàng, bạn thường có thể xây dựng một khóa duy nhất dựa trên mặt hàng được nâng cấp, ví dụ: <playerId>-<itemId>.

Bước đầu tiên

Các phễu bắt đầu khi bước đầu tiên được ghi lại. Nếu bạn muốn bắt đầu một phễu ngay lập tức khi người chơi tham gia, hãy ghi lại bước đầu tiên trong sự kiện PlayerAdded.

Ghi lại bước đầu tiên trong sự kiện PlayerAdded

local AnalyticsService = game:GetService("AnalyticsService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Số bước
"Người Chơi Đã Tham Gia" -- Tên bước
)
end)

Các bước lặp lại

Nếu một người dùng lặp lại một bước trong một phễu, phễu chỉ xem xét lần đầu tiên xuất hiện của bước đó. Ví dụ, nếu một người dùng ghi lại bước 2 của một phễu hai lần, phễu chỉ tính lần đầu tiên của bước 2. Bạn không cần thực hiện bất kỳ hành động nào đặc biệt để xử lý các phễu một lần cho những người chơi bị ngắt kết nối và kết nối lại, và funnelSessionId xử lý các phễu định kỳ.

Các bước lặp lại sẽ bị phễu bỏ qua, nhưng chúng vẫn được ghi lại và góp phần vào giới hạn tỷ lệ toàn cầu.

Các bước bị bỏ qua

Nếu vì lý do nào đó bạn bỏ qua một bước trong phễu, các bước trước đó sẽ tự động hoàn thành. Ví dụ, nếu bạn có một phễu với các bước 1, 2 và 3 và bạn ghi lại bước 3 mà không ghi lại các bước 1 hoặc 2, phễu sẽ coi bước 1 và 2 đã hoàn thành.

Sử dụng bộ lọc phễu

Roblox cung cấp các bộ lọc để giúp bạn phân tích dữ liệu phễu của mình. Các bộ lọc này bao gồm dữ liệu người chơi và dữ liệu thiết bị, và bạn cũng có thể gửi dữ liệu tùy chỉnh. Trong một số trường hợp, trạng thái của người chơi có thể thay đổi trong suốt phễu, chẳng hạn như khi người chơi chuyển đổi thiết bị từ di động sang máy tính để bàn.

Để tránh việc tính sai phễu, các bộ lọc chỉ áp dụng cho bước đầu tiên của phễu. Điều này có nghĩa là nếu một người chơi chuyển đổi thiết bị trong suốt phễu, phễu sẽ chỉ được ghi nhận trên thiết bị của họ tại thời điểm họ tham gia phễu.

Tương tự, các phễu hiển thị theo nhóm, có nghĩa là nếu một người chơi tham gia phễu vào ngày 6/19, phễu sẽ được ghi nhận vào nhóm 6/19 ngay cả khi họ hoàn thành phễu vào ngày 6/20.

Sửa đổi phễu

Sau khi bạn thực hiện một bản cập nhật cho các bước phễu của mình, điều quan trọng là đặt đúng khoảng thời gian để xem phễu mới nhất. Nếu ngày hiện tại là 6/21 và bạn đã cập nhật bước 2 của phễu giới thiệu vào ngày 6/14, bạn nên đặt khoảng thời gian từ 6/14 đến 6/21 để xem phễu mới nhất.

Nếu bạn chọn một khoảng thời gian có bao gồm một bản cập nhật bước phễu, một cảnh báo sẽ hiển thị trên bước liên quan:

Một cảnh báo hiển thị trên bảng điều khiển phễu chỉ ra sự thay đổi tên trong khoảng thời gian đã chọn.

Bảo vệ phễu của bạn khỏi những kẻ khai thác

Để giữ cho dữ liệu của bạn sạch sẽ, điều quan trọng là thêm một mức độ xác thực dữ liệu nào đó trong mã máy chủ của bạn để ngăn chặn những kẻ khai thác gửi dữ liệu không hợp lệ đến dịch vụ phân tích của bạn.

Ví dụ, nếu bạn có một phễu giới thiệu với ba bước, bạn có thể sử dụng một RemoteEvent cho phía khách hàng để thông báo cho máy chủ khi người chơi đã hoàn thành mỗi bước và thêm một kiểm tra từ máy chủ để đảm bảo rằng số bước là hợp lệ trước khi ghi lại sự kiện:

Mã sự kiện phía khách hàng

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) -- bước không hợp lệ
Mã sự kiện phía máy chủ

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(`Bước hướng dẫn không hợp lệ {step} đã nhận từ khách hàng.`)
return
end
print(`{player.Name} đã hoàn thành bước: {step}`)
AnalyticsService:LogOnboardingFunnelStepEvent(player, step)
end
onboardingEvent.OnServerEvent:Connect(onPlayerEventFired)

Sử dụng trường tùy chỉnh

Sự kiện phễu cũng cho phép phân tích thêm dữ liệu theo các trường tùy chỉnh để hỗ trợ việc so sánh dễ dàng hơn giữa các phân đoạn. Ví dụ, bạn có thể theo dõi chiếc xe khởi động nào giúp người chơi có được tiến bộ tốt nhất, hoặc gán các bản đồ khác nhau để xem liệu một bản đồ nhất định có quy trình chơi tốt hơn không.

Một menu kéo xuống cho biết ba trường tùy chỉnh mà bạn có thể so sánh, cùng với các phân tích tiêu chuẩn như tuổi, giới tính, hệ điều hành và nhiều hơn nữa.

Để biết thêm thông tin, xem trường tùy chỉnh.

Sử dụng phễu để phát triển trò chơi của bạn

Một trong những phễu quan trọng nhất để theo dõi là giới thiệu vì nhiều trò chơi gặp khó khăn trong việc giữ chân và tương tác với người dùng mới.

Trong phễu giới thiệu cho Plant dưới đây, tỷ lệ bỏ rơi lớn nhất là bước 2 ("Trồng Hạt").

Biểu đồ phễu cho trò chơi Plant cho thấy tỷ lệ bỏ rơi 70% giữa Trong Trang Trại, bước 1, và Trồng Hạt, bước 2.

Dựa trên dữ liệu này, bạn có thể:

  • Thêm các chỉ dẫn ngữ cảnh để hướng người dùng tốt hơn để trồng hạt khi họ bắt đầu.
  • Thiết kế một trải nghiệm người dùng mới yêu cầu người dùng phải trồng hạt và phát triển một cây thành công trước khi khám phá phần còn lại của trò chơi. Bạn có thể cải thiện sự kiện này bằng cách tạo ra các yếu tố phản hồi tích cực hoặc sử dụng các kỹ thuật thiết kế trò chơi khác.
Giao diện trong trò chơi của trò chơi Plant cho thấy các gợi ý để trồng hạt trên các chậu hoa.
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.