通道事件 讓您可以跟蹤您的用戶在體驗中的進度。這包括:
- 入門教學 - 用戶在開始體驗您的時候會在哪裡掉落?
- 進度 - 用戶在您的體驗中停止前進時,在哪裡?
- 商店 - 用戶在哪裡放棄購買?
您的體驗開始追蹤導管事件後,就會解鎖創作者中心的分析資料監視器頁面。 您可以在監視器頁面上添加標籤,最多達到 10 個導管。
追蹤管道事件
要追蹤障礙事件,請先識別您體驗中最重要的障礙,然後將它們分為步驟。 您的 onboarding 流程是一個很好的啟動,因為這是您可能會失去大多數用戶的地方。
追蹤一次性通道
一次性通道監視轉換事件,只會對每個使用者發生一次。
一個常見的例子是一個 onboarding funnel ,這是了解如何改善您的體驗新用戶保留和會話時間的關鍵。以下示例是對 Plant 的 onboarding funnel 的示例,這是一個體驗 Tycoon 的體驗,在新用戶進入農場、種植種子、水植和更多順序的示例:
在植物上追蹤 onboarding 步驟
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, -- 為此獨特的查看會作業ID提供通道1, -- 步驟號"Opened Store" -- 步驟名稱)-- 當使用者檢視一個道具時記錄AnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- 使用管道名稱來團結步驟funnelSessionId, -- 為此獨特的查看會作業ID提供通道2, -- 步驟號"Viewed Item" -- 步驟名稱)-- 載入時記錄使用者觀看車輛的時間AnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- 使用管道名稱來團結步驟funnelSessionId, -- 為此獨特的查看會作業ID提供通道3, -- 步驟號"Added to Cart" -- 步驟名稱)
實現 funnelSessionId
當實現障礙時,funnelSessionId 可以幫助您追蹤您的事件,但可能不是所有情況下都需要。使用以下指南:
- 一次性通道 - 您不需要使用 funnelSessionId 對於一次性通道,因為它們只會對每個使用者發生一次。
- 商店階層 - 使用 funnelSessionId 來區分不同的階層,例如在 以前的範例 中打開商店多次。在這些情況下,玩家可以在單個階作業上打開商店多次,建議使用0>funnelSessionId0>作
- 物品升級 - 使用 funnelSessionId 來區分不同的物品升級路徑,通常在單個遊戲會作業期間長於一個更長時間。而不是使用商店的 funnel 案例中使用的 GUID,您通常可以在物品升級中建立獨一無二的鑰匙,例如: <playerId>-<itemId>
初始步驟
隨著第一個步驟被記錄,礦井就會開始。如果您想要在玩家加入時立即開始礦井,您需要在 PlayerAdded 事件上記錄第一個步驟。
在 PlayerAdded 事件中記錄第一個步驟
local AnalyticsService = game:GetService("AnalyticsService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- 步驟號
"Player Joined" -- 步驟名稱
)
end)
重複步驟
如果使用者在 funnel 中重複一個步驟, funnel 只會考慮第一個 instance 的步驟。例如,如果使用者在 funnel 中重複兩次步驟 2, funnel 只會計算第一個 instance 的步驟 2。
跳過步驟
如果因為某種原因而跳過階段,較早的階段將自動完成。
舉例來說,如果你有 1、2、3 個步驟的煙囪。如果你在記錄步驟 3 時沒有記錄步驟 1 或 2,煙囪將考慮步驟 1 和 2 已完成。
使用管道過濾器
Roblox 提供過濾器來幫助您分析您的 funnel 資料。這些包括玩家資料、裝置資料和您可以發送自訂資料。在一些情況下,玩家的狀態可能會在 funnel 中變更,例如玩家從移動到桌面上切換裝置。
為了避免雙重計數管道,過濾器總是會 僅對玩家在 funnel 的第一個步驟應用 。這意味著如果玩家在 funnel 中切換裝置,則 funnel 只會在他們進入 funnel 時歸屬於他們的裝置。
同樣地,煙囪會依照組別顯示,也就是說,如果玩家在 6/19 日進入煙囪,煙囪將會屬於 6/19 組別,即使他們在 6/20 日完成煙囪。
修改管道
在你更新你的銷售步驟後,重要的是設定正確的日期範圍,以便查看最新的銷售階層。如果目前的日期是 6/21 並且你在 6/14 上傳了步驟 2 的銷售階層,你應該設定日期範圍為 6/14 – 6/21 以查看最新的銷售階層。
如果您選擇包含階段更新的日期範圍,警告會顯示在相關步驟:
保護您的隧道免受惡意者
為了保護您的資料清潔,您應該在服務器代碼中添加一些數據驗證程序來防止惡意搞作者向您的分析服務發送無效數據。
舉例來說,如果你有 3 個步驟的 Onboarding funnel,你可以使用 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)
使用自訂字段
您還可以使用營銷活動來檢查自訂字段,以便在不同區域之間提供更簡單的比較。例如,您可以跟蹤哪一個新手車輛給玩家最好的進度,或者附加不同的地圖來確認某個地圖是否有更好的遊戲循環。
了解更多資訊,請參閱 自訂字段。
使用熱銷機制增加您的經驗
追蹤的重要銷售 funnel 之一是 onboarding,因為許多體驗都在新用戶保留和互動與方面有困難。
在 Plant 以下的 onboarding funnel 中,最大的 drop-off 是步驟 2 ("Plant Seed")。
基於這些資料,您可以:
- 添加上下文提示,以幫助用戶更好地指導種子植入時。
- 設計一個需要用戶種植種子並在探索其他體驗的同時成長成功的植物的新用戶體驗。你可以改善這個事件創建 正面意見元素 或其他遊戲設計技術來提升這個事件的設計。