Lọc sự kiện cho phép bạn theo dõi tiến trình của người dùng qua các mốc quan trọng trong trải nghiệm của bạn. Điều này bao gồm:
- Hướng dẫn người dùng - Nơi người dùng thả khi bắt đầu với trải nghiệm của bạn?
- Tiến độ - Người dùng dừng tiến về phía trước trong trải nghiệm của bạn ở đâu?
- Cửa hàng - Nơi người mua bỏ rơi mua hàng?
Khi kinh nghiệm của bạn bắt đầu theo dõi sự kiện Funnel, bạn sẽ mở trang Funnel trên bảng điều khiển Analytics trên Creator Hub. Bạn có thể thêm các tab vào trang dashboard lên đến mười funnel.
Theo dõi sự kiện hành lang
Để theo dõi sự kiện hầm thông thường, xác định trước tiên các hầm quan trọng nhất trong trải nghiệm của bạn và phân chúng thành các bước. Flux của bạn là một nơi tuyệt vời để bắt đầu, vì đây là nơi bạn có thể mất hầu hết người dùng của bạn.
Theo dõi các kênh một lần
Một sự kiểm tra đơn giản hóa chỉ xảy ra một lần cho mỗi người dùng.
Một ví dụ thông thường là một hầm onboarding which is critical to understand how to improve your experience's new user retention and session time. The following example is an onboarding funnel for Plant, một kinh nghiệm tycoon nơi người dùng mới nhập vào một nông trại, trồng hạt giống, nước trồng cây và nhiều hơn nữa trong
Theo dõi các bước onboarding trong cây
local AnalyticsService = game:GetService("AnalyticsService")-- Ghi lại bước đầu tiên của FTUEAnalyticsService:LogOnboardingFunnelStepEvent(player,1, -- Số bước"In Farm" -- Tên bước)-- Ghi lại bước thứ haiAnalyticsService:LogOnboardingFunnelStepEvent(player,2, -- Số bước"Plant Seed" -- Tên bước)
Theo dõi các đường dẫn lặp lại
Một sự kiểm tra chuỗi lại những sự kiểm tra biến đổi xảy ra nhiều lần cho mỗi người dùng.
Một ví dụ thông thường là một cửa hàng funnel which is critical to understand how to improve your experience's payer conversion, ARPPU, và doanh thu. Các ví dụ sau đây là một cửa hàng funnel where users open store, view vật phẩm, add item to cart, và nhiều hơn.
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 trong một funnel tương tự, chẳng hạn như mở cửa hàng nhiều lần trong một phiên.
Theo dõi các bước của cửa hàng
local AnalyticsService = game:GetService("AnalyticsService")local HttpService = game:GetService("HttpService")funnelSessionId = HttpService:GenerateGUID()-- Nhận xét khi người dùng mở cửa hàngAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Tên đường ống được sử dụng để tập hợp các bướcfunnelSessionId, -- Tạo một ID phiên bản cho phiên bản độc nhất của trang thanh toán này1, -- Số bước"Opened Store" -- Tên bước)-- Nhận xét khi người dùng xem một vật phẩmAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Tên đường ống được sử dụng để tập hợp các bướcfunnelSessionId, -- Tạo một ID phiên bản cho phiên bản độc nhất của trang thanh toán này2, -- Số bước"Viewed Item" -- Tên bước)-- Nhận Log khi người dùng nhìn vào giỏ hàngAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Tên đường ống được sử dụng để tập hợp các bướcfunnelSessionId, -- Tạo một ID phiên bản cho phiên bản độc nhất của trang thanh toán này3, -- Số bước"Added to Cart" -- Tên bước)
Thực hiện funnelSessionId
Khi thực hiện các hào kiện, một funnelSessionId có thể giúp bạn theo dõi sự kiện của bạn nhưng có thể không cần thiết trong mọi trường ví dụ / trường hợp. Sử dụng các hướng dẫn sau đây:
- Hầm nhánh một lần - Bạn không cần phải sử dụng funnelSessionId cho hầm nhánh một lần vì chúng chỉ xảy ra một lần mỗi người dùng.
- Lưu dữ liệu bên trong hầm chứa - Sử dụng funnelSessionId để phân biệt giữa các phiên của cùng một người trong một hầm chứa lặp lại, ví dụ như mở cửa hàng nhiều lần trong một phi
- Nâng cấp mục tử - Sử dụng funnelSessionId để phân biệt giữa các con đường nâng cấp mục tử khác nhau, thường có qua một thời gian dài hơn một phiên chơi duy nhất. Thay vì sử dụng một GUID như trong trư
Bước Đầu
Hành lang bắt đầu khi bước đầu tiên được ghi nhận. Nếu bạn muốn ngay lập tức bắt đầu một hành lang khi người chơi tham gia, bạn sẽ cần phải ghi nhận bước đầu tiên trên sự kiện PlayerAdded .
Ghi nhận 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
"Player Joined" -- Tên bước
)
end)
Các Bước Lặp Lại
Nếu một người lặp lại một bước trong một hành lang, hành lang chỉ xem xét bản đầu tiên của bước. Ví dụ, nếu một người ghi nhận bước 2 trong một hành lang hai lần, hành lang chỉ đếm bản đầu tiên của bước 2.
Bỏ các bước
Nếu vì lý do nào đó bạn bỏ qua một bước trong hành lang, các bước trước đó sẽ tự động hoàn thành.
Ví dụ, nếu bạn có một hầm như với các bước 1, 2 và 3. Nếu bạn ghi nhận bước 3 mà không ghi nhận bước 1 hoặc 2, hầm sẽ xem xét bước 1 và 2 như hoàn thành.
Sử dụng lọc dòng chảy
Roblox cung cấp các lọc để giúp bạn phân tích dữ liệu của hầm nhà bạn. Các lọc này bao gồm dữ liệu người chơi, dữ liệu thiết bị và bạn cũng có thể gửi dữ liệu tùy chỉnh. Ở một số trường hợp, một người chơi có thể thay đổi trạng thái của mình trong hầm nhà, ch�
Để tránh đếm đôi các ống thông gió, các lọc luôn luôn chỉ áp dụng cho bước đầu tiên của ống thông gió . Điều này có nghĩa là nếu một người chuyển thiết bị trong khi funnel, funnel sẽ chỉ được gắn với thiết bị của họ tại thời điểm họ nhập vào funnel.
Tương tự như vậy, các hành lang hiển thị theo nhóm, có nghĩa là nếu một người chơi nhập vào hành lang vào ngày 6/19, hành lang sẽ được gắn với nhóm 6/19 ngay cả khi họ hoàn thành hành lang vào ngày 6/20.
Đang chỉnh sửa các ống
Sau khi bạn thực hiện một số bước của các bước chuẩn bị của bạn, nó là quan trọng để thiết lập phạm vi ngày chính xác để xem các bước chuẩn bị cuối cùng của bạn trên 6/14. Nếu ngày hiện tại là 6/21 và bạn đã cập n
Nếu bạn chọn một khoảng thời gian bao gồm cập nhật của một bước thoát, một cảnh báo hiển thị trên bước liên quan:
Bảo vệ các khe của bạn khỏi những kẻ tấn công
Để giữ cho dữ liệu của bạn sạch, nó là quan trọng để thêm một số cấp độ xác minh dữ liệu trong mã máy chủ của bạn để ngăn chặn những kẻ gửi dữ liệu không hợp lệ vào dịch vụ phân tích của bạn.
Ví dụ, nếu bạn có một hành lang Onboarding với 3 bước, bạn có thể sử dụng một RemoteEvent cho 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 máy chủ để đảm bảo rằng số kiểm tra là hợp lệ trước khi ghi nhận sự kiện:
Mã sự kiện bên kia khách mã
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
Mã sự mã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(`Invalid tutorial step {step} received from client.`)
return
end
print(`{player.Name} completed step: {step}`)
AnalyticsService:LogOnboardingFunnelStepEvent(player, step)
end
onboardingEvent.OnServerEvent:Connect(onPlayerEventFired)
Sử dụng các trường tùy chỉnh
Các sự kiện hầm cũng cho phép bạn phá vỡ trên các trường tùy chỉnh để hỗ trợ so sánh dễ dàng giữa các phần. Ví dụ, bạn có thể theo dõi những gì xe khởi đầu cho người chơi tốt nhất, hoặc kết hợp các bản đồ khác nhau để xem có phải một bản đồ nào đó có một vòng trò chơi t
Để biết thêm thông tin, xem trường tùy chỉnh .
Sử dụng hành lang để tăng trưởng kinh nghiệm của bạn
Một trong những hành lang quan trọng nhất để theo dõi là onboarding vì nhiều trải nghiệm chiến đấu với tỷ lệ giữ người dùng mới và kết tương tác.
Trong ống thú vị trên máy bay cho Hạt giống dưới, lớp lớn nhất là bước 2 ("Hạt giống").
Dựa trên dữ liệu này, bạn có thể:
- Thêm các chỉ số ngữ cảnh để hướng dẫn người dùng tốt hơn khi họ bắt đầu.
- Thiết kế một trải nghiệm người dùng mới mà yêu cầu người dùng trồng hạt và nuôi một cây trồng thành công trước khi khám phá phần còn lại của trải nghiệm. 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 các kỹ thuật thiết kế trò chơi khác