Acara corong memungkinkan Anda melacak kemajuan pengguna Anda melalui tahap-tahap kunci dalam permainan Anda. Ini termasuk:
- Onboarding — Di mana pengguna berhenti saat mulai bermain permainan Anda?
- Progresi — Di mana pengguna berhenti maju dalam permainan Anda?
- Toko — Di mana pengguna meninggalkan pembelian?
Setelah permainan Anda mulai melacak acara corong, Anda membuka halaman Corong di dasbor Analitik di Pusat Pembuat. Anda dapat menambahkan tab ke dasbor untuk hingga sepuluh corong.
Lacak acara corong
Untuk melacak acara corong, pertama-tama identifikasi corong yang paling penting dalam permainan Anda dan bagi menjadi langkah-langkah. Karena tujuannya adalah untuk memahami perilaku pemain, langkah-langkah ini biasanya sesuai dengan beberapa tindakan atau pencapaian.
Dalam sebuah RPG, Anda mungkin memiliki langkah untuk bergabung dengan permainan, satu untuk memilih kelas, satu lagi untuk keluar dari ruang awal, dan seterusnya. Anda biasanya memanggil LogFunnelStepEvent() atau LogOnboardingFunnelStepEvent() setelah pemain menyelesaikan langkah, tetapi yang paling penting adalah konsisten tentang kapan Anda memanggil metode ini dan menggunakan nama yang mudah dipahami.
Alur onboarding Anda adalah tempat yang bagus untuk mulai melacak acara corong, karena ini kemungkinan besar di mana Anda kehilangan sebagian besar pengguna Anda.
Lacak corong sekali jalan
Corong sekali jalan memantau acara konversi yang hanya terjadi sekali per pengguna.
Contoh umum adalah corong onboarding, yang sangat penting untuk memahami cara meningkatkan retensi pengguna baru dan waktu sesi permainan Anda. Contoh berikut adalah corong onboarding untuk Plant, sebuah permainan tycoon di mana pengguna baru masuk ke sebuah pertanian, menanam benih, menyiram tanaman, dan lebih banyak lagi dalam urutan yang berurutan:
Melacak Langkah Onboarding di Plantlocal AnalyticsService = game:GetService("AnalyticsService")-- Log langkah pertama dari FTUEAnalyticsService:LogOnboardingFunnelStepEvent(player,1, -- Nomor langkah"Di Pertanian" -- Nama langkah)-- Log langkah keduaAnalyticsService:LogOnboardingFunnelStepEvent(player,2, -- Nomor langkah"Menanam Benih" -- Nama langkah)
Lacak corong berulang
Corong berulang memantau acara konversi yang terjadi beberapa kali per pengguna.
Contoh umum adalah corong toko, yang dapat membantu Anda memahami cara meningkatkan konversi pembayar permainan Anda, ARPPU, dan pendapatan. Contoh berikut adalah corong toko di mana pengguna membuka toko, melihat item, menambahkan item ke keranjang, dan lebih banyak lagi.
Gunakan funnelSessionId untuk membedakan antara sesi yang berbeda dari pengguna yang sama dalam corong berulang, seperti membuka toko beberapa kali dalam satu sesi.
Melacak Langkah Tokolocal AnalyticsService = game:GetService("AnalyticsService")local HttpService = game:GetService("HttpService")local funnelSessionId = HttpService:GenerateGUID()-- Log saat pengguna membuka tokoAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Nama corong yang digunakan untuk mengelompokkan langkah-langkahfunnelSessionId, -- ID sesi corong untuk sesi checkout unik ini1, -- Nomor langkah"Membuka Toko" -- Nama langkah)-- Log saat pengguna melihat itemAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Nama corong yang digunakan untuk mengelompokkan langkah-langkahfunnelSessionId, -- ID sesi corong untuk sesi checkout unik ini2, -- Nomor langkah"Melihat Item" -- Nama langkah)-- Log saat pengguna menambahkan ke keranjangAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Nama corong yang digunakan untuk mengelompokkan langkah-langkahfunnelSessionId, -- ID sesi corong untuk sesi checkout unik ini3, -- Nomor langkah"Ditambahkan ke Keranjang" -- Nama langkah)
Implementasikan funnelSessionId
Saat mengimplementasikan corong, funnelSessionId dapat membantu Anda melacak acara Anda tetapi mungkin tidak diperlukan dalam setiap kasus. Gunakan pedoman berikut:
- Corong sekali jalan - Anda tidak perlu menggunakan funnelSessionId untuk corong sekali jalan karena hanya terjadi sekali per pengguna.
- Corong toko - Gunakan funnelSessionId untuk membedakan antara sesi yang berbeda dari pengguna yang sama dalam corong 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 jalur peningkatan item yang berbeda, biasanya dalam jangka waktu yang lebih lama daripada sesi permainan tunggal. Alih-alih menggunakan GUID seperti dalam kasus corong toko, Anda sering kali dapat membangun kunci unik berdasarkan item yang ditingkatkan, misalnya: <playerId>-<itemId>.
Langkah awal
Corong dimulai saat langkah pertama dicatat. Jika Anda ingin memulai corong segera setelah pemain bergabung, catat 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
"Pemain Bergabung" -- Nama langkah
)
end)
Langkah yang Diulang
Jika pengguna mengulang langkah dalam corong, corong hanya mempertimbangkan instance pertama dari langkah tersebut. Misalnya, jika seorang pengguna mencatat langkah 2 dari corong dua kali, corong hanya menghitung instance pertama dari langkah 2. Anda tidak perlu mengambil tindakan khusus untuk menangani corong sekali jalan bagi pemain yang terputus dan menyambung kembali, dan funnelSessionId menangani corong berulang.
Langkah yang diulang diabaikan oleh corong, tetapi masih dicatat dan berkontribusi terhadap batas laju global.
Langkah yang Dilewati
Jika karena alasan tertentu Anda melewatkan langkah dalam corong, langkah-langkah sebelumnya secara otomatis dianggap selesai. Misalnya, jika Anda memiliki corong dengan langkah 1, 2, dan 3 dan Anda mencatat langkah 3 tanpa mencatat langkah 1 atau 2, corong menganggap langkah 1 dan 2 sudah selesai.
Gunakan filter corong
Roblox menyediakan filter untuk membantu Anda menganalisis data corong Anda. Ini termasuk data pemain dan data perangkat, dan Anda juga dapat mengirim data kustom. Dalam beberapa kasus, status pemain mungkin berubah selama corong, seperti ketika pemain beralih perangkat dari mobile ke desktop.
Untuk menghindari penghitungan ganda corong, filter hanya berlaku untuk langkah pertama dari corong. Ini berarti bahwa jika seorang pemain beralih perangkat selama corong, corong hanya akan dikaitkan dengan perangkat mereka pada saat mereka memasuki corong.
Demikian juga, corong ditampilkan berdasarkan kohort, yang berarti bahwa jika seorang pemain memasuki corong pada 6/19, corong akan dikaitkan dengan kohort 6/19 bahkan jika mereka menyelesaikan corong pada 6/20.
Modifikasi corong
Setelah Anda membuat pembaruan pada langkah corong Anda, penting untuk menetapkan rentang tanggal yang tepat untuk melihat corong terbaru. Jika tanggal saat ini adalah 6/21 dan Anda memperbarui langkah 2 dari corong onboarding Anda pada 6/14, Anda harus menetapkan rentang tanggal ke 6/14 – 6/21 untuk melihat corong terbaru.
Jika Anda memilih rentang tanggal yang mencakup pembaruan langkah corong, peringatan ditampilkan di langkah yang relevan:

Lindungi corong Anda dari penyalahguna
Untuk menjaga data Anda tetap bersih, penting untuk menambahkan beberapa tingkat validasi data di kode server Anda untuk mencegah penyalahguna mengirim data tidak valid ke layanan analitik Anda.
Misalnya, jika Anda memiliki corong onboarding dengan tiga 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 langkahnya valid sebelum mencatat acara:
Kode acara 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) -- langkah tidak valid
Kode acara 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(`Langkah tutorial tidak valid {step} diterima dari klien.`)
return
end
print(`{player.Name} menyelesaikan langkah: {step}`)
AnalyticsService:LogOnboardingFunnelStepEvent(player, step)
end
onboardingEvent.OnServerEvent:Connect(onPlayerEventFired)
Gunakan bidang kustom
Acara corong juga memungkinkan pemecahan bidang kustom untuk mendukung perbandingan yang lebih mudah antara segmen. Misalnya, Anda dapat melacak mobil starter mana yang memberikan pemain kemajuan terbaik, atau melampirkan peta berbeda untuk melihat apakah peta tertentu memiliki siklus permainan yang lebih baik daripada yang lain.

Untuk informasi lebih lanjut, lihat bidang kustom.
Gunakan corong untuk mengembangkan permainan Anda
Salah satu corong yang paling penting untuk dilacak adalah onboarding karena banyak permainan yang kesulitan dengan retensi dan keterlibatan pengguna baru.
Dalam corong onboarding untuk Plant di bawah ini, penurunan terbesar adalah langkah 2 ("Menanam Benih").

Berdasarkan data ini, Anda bisa:
- Menambahkan indikator kontekstual untuk lebih baik mengarahkan pengguna untuk menanam benih saat mereka mulai.
- Mendesain pengalaman pengguna baru yang meminta pengguna untuk menanam benih dan menumbuhkan tanaman yang sukses sebelum menjelajahi sisa permainan. Anda dapat meningkatkan acara ini dengan menciptakan elemen umpan balik positif atau menggunakan teknik desain permainan lainnya.
