Acara saluran memungkinkan Anda melacak kemajuan pengguna Anda melalui tahap kunci pengalaman Anda. Ini termasuk:
- Onboarding - Di mana pengguna menjatuhkan saat memulai dengan pengalaman Anda?
- Kemajuan - Di mana pengguna berhenti maju melalui pengalaman Anda?
- Toko - Di mana pengguna meninggalkan pembelian?
Setelah pengalaman Anda mulai melacak acara Funnel, Anda akan membuka halaman Funnel dashboard Analytics di Pusat Kreator.Anda dapat menambahkan tab ke dasbor untuk hingga sepuluh funnel.
Lacak peristiwa saluran funnel
Untuk melacak peristiwa saluran, pertama-tama identifikasi saluran paling penting dalam pengalaman Anda dan segmente menjadi langkah.Alur onboarding Anda adalah tempat yang bagus untuk memulai, karena di sinilah Anda mungkin kehilangan sebagian besar pengguna Anda.
Lacak saluran satu kali funnel
Monitor saluran satu kali memantau peristiwa konversi yang hanya terjadi sekali per pengguna.
Contoh umum adalah saluran onboarding yang penting untuk memahami cara meningkatkan retensi pengguna baru dan waktu sesi pengalaman Anda .Contoh berikut adalah saluran onboarding untuk Tanaman , pengalaman tycoon di mana pengguna baru memasuki pertanian, menanam benih, air tanaman, dan banyak lagi dalam urutan berurutan:
Pelacakan Langkah Onboarding di Tanaman
local AnalyticsService = game:GetService("AnalyticsService")-- Catat langkah pertama dari FTUEAnalyticsService:LogOnboardingFunnelStepEvent(player,1, -- Nomor langkah"In Farm" -- Nama langkah)-- Catat langkah keduaAnalyticsService:LogOnboardingFunnelStepEvent(player,2, -- Nomor langkah"Plant Seed" -- Nama langkah)
Lacak funnel berulang
Sebuah saluran berulang memantau peristiwa konversi yang terjadi beberapa kali per pengguna.
Contoh umum adalah saluran toko yang penting untuk memahami cara meningkatkan konversi pembayar pengalaman Anda, Pendapatan rata-rata per pengguna berbayar, dan pendapatan .Contoh berikut adalah saluran toko di mana pengguna membuka toko, melihat item, menambahkan item ke keranjang, dan banyak lagi.
Gunakan funnelSessionId untuk membedakan antara sesi berbeda dari pengguna yang sama di saluran berulang, seperti membuka toko beberapa kali dalam satu sesi.
Melacak Langkah Toko
local AnalyticsService = game:GetService("AnalyticsService")local HttpService = game:GetService("HttpService")funnelSessionId = HttpService:GenerateGUID()-- Catat saat pengguna membuka tokoAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Nama saluran digunakan untuk mengumpulkan langkah bersamafunnelSessionId, -- ID sesi saluran untuk sesi pembayaran unik ini1, -- Nomor langkah"Opened Store" -- Nama langkah)-- Catat saat pengguna melihat itemAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Nama saluran digunakan untuk mengumpulkan langkah bersamafunnelSessionId, -- ID sesi saluran untuk sesi pembayaran unik ini2, -- Nomor langkah"Viewed Item" -- Nama langkah)-- Catat saat pengguna melihat menambahkan ke keranjangAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Nama saluran digunakan untuk mengumpulkan langkah bersamafunnelSessionId, -- ID sesi saluran untuk sesi pembayaran unik ini3, -- Nomor langkah"Added to Cart" -- Nama langkah)
Implementasikan funnelSessionId
Saat melaksanakan funnel, funnelSessionId dapat membantu Anda melacak acara Anda tetapi mungkin tidak diperlukan di setiap kejadian. Gunakan panduan berikut:
- Funnel Satu Kali - Anda tidak perlu menggunakan funnelSessionId untuk funnel satu kali karena hanya terjadi sekali per pengguna.
- Toko Funnels - Gunakan funnelSessionId untuk membedakan antara sesi berbeda dari pengguna yang sama di saluran berulang, seperti membuka toko beberapa kali dalam satu sesi di contoh sebelumnya .Dalam kasus seperti ini, di mana pemain dapat membuka toko beberapa kali dalam satu sesi, disarankan untuk menggunakan GUID sebagai funnelSessionId .
- Peningkatan Item - Gunakan funnelSessionId untuk membedakan antara berbagai jalur peningkatan item, umumnya selama periode waktu yang lebih lama daripada satu sesi bermain.Daripada menggunakan GUID seperti dalam kasus saluran toko, Anda sering dapat membuat kunci unik berdasarkan item yang ditingkatkan, misalnya: <playerId>-<itemId> .
Langkah awal
Selokan dimulai ketika langkah pertama dicatat.Jika Anda ingin memulai saluran segera setelah pemain bergabung, Anda perlu melogkan langkah pertama pada acara PlayerAdded .
Mencatat langkah pertama dalam acara PlayerAdded
local AnalyticsService = game:GetService("AnalyticsService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Nomor langkah
"Player Joined" -- Nama langkah
)
end)
Langkah yang diulang
Jika pengguna mengulangi langkah di saluran, saluran hanya mempertimbangkan instans pertama dari langkah.Sebagai contoh, jika pengguna mencatat langkah 2 dari funnel dua kali, funnel hanya menghitung instans pertama dari langkah 2.
Langkah terlewatkan
Jika untuk beberapa alasan Anda melewatkan langkah di saluran, langkah sebelumnya secara otomatis selesai.
Sebagai contoh, jika Anda memiliki saluran dengan langkah 1, 2, dan 3.Jika Anda melogikan langkah 3 tanpa melogikan langkah 1 atau 2, saluran akan menganggap langkah 1 dan 2 selesai.
Gunakan filter saluran
Roblox menyediakan filter untuk membantu Anda menganalisis data saluran Anda.Ini termasuk data pemain, data perangkat, dan Anda juga dapat mengirim data khusus.Dalam beberapa kasus, status pemain dapat berubah selama saluran, seperti ketika pemain beralih perangkat dari seluler ke desktop.
Untuk menghindari funnel menghitung ganda, filter selalu hanya berlaku untuk langkah pertama dari funnel.Ini berarti bahwa jika seorang pemain beralih perangkat selama saluran, saluran hanya akan diberikan ke perangkat mereka saat mereka memasuki saluran.
Demikian pula, saluran ditampilkan berdasarkan kohort, artinya jika seorang pemain memasuki saluran pada 6/19, saluran akan diberikan ke kohort 6/19 bahkan jika mereka menyelesaikan saluran pada 6/20.
Modifikasi saluran
Setelah Anda melakukan pembaruan pada langkah-langkah funnel Anda, penting untuk menetapkan rentang tanggal yang benar untuk melihat funnel terbaru.Jika tanggal saat ini adalah 6/21 dan Anda memperbarui langkah 2 dari funnel onboarding Anda pada 6/14, Anda harus menetapkan rentang tanggal ke 6/14 - 6/21 untuk melihat funnel terbaru.
Jika Anda memilih rentang tanggal yang termasuk pembaruan langkah saluran, peringatan ditampilkan pada langkah yang relevan:

Lindungi saluran Anda dari pengeksploiter
Untuk menjaga data Anda tetap bersih, penting untuk menambahkan beberapa tingkat validasi data di kode server Anda untuk mencegah penyerang mengirim data tidak valid ke layanan analitik Anda.
Sebagai contoh, jika Anda memiliki saluran Onboarding dengan 3 langkah, Anda dapat menggunakan RemoteEvent untuk klien untuk memberi tahu server ketika pemain telah menyelesaikan setiap langkah dan menambahkan pemeriksaan server untuk memastikan bahwa nomor langkah valid sebelum melogging peristiwa:
kodeacara sisi klien
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
kodeacara sisi server
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)
Gunakan bidang khusus
Peristiwa saluran juga memungkinkan pecah pada bidang khusus untuk mendukung perbandingan lebih mudah antara segmen.Sebagai contoh, Anda dapat melacak mobil pemula mana yang memberi pemain kemajuan terbaik, atau menempelkan peta yang berbeda untuk melihat apakah peta tertentu memiliki loop permainan yang lebih baik daripada yang lain.

Untuk informasi lebih lanjut, lihat bidang khusus.
Gunakan funnel untuk menumbuhkan pengalaman Anda
Salah satu funnel paling penting untuk dilacak adalah onboarding karena banyak pengalaman berjuang dengan retensi dan keterlibatan pengguna baru.
Dalam saluran onboarding untuk Tanaman di bawah ini, penurunan terbesar adalah langkah 2 ("Tanaman Benih").

Berdasarkan data ini, Anda bisa:
- Tambahkan indikator konteks untuk lebih baik mengarahkan pengguna langsung untuk menanam benih saat mereka mulai.
- Desain pengalaman pengguna baru yang memerlukan pengguna untuk menanam benih dan menumbuhkan tanaman yang sukses sebelum menjelajahi sisa pengalaman.Anda dapat meningkatkan acara ini dengan membuat elemen umpan balas positif atau teknik desain permainan lainnya.
