Peristiwa saluran

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

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 FTUE
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Nomor langkah
"In Farm" -- Nama langkah
)
-- Catat langkah kedua
AnalyticsService: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 toko
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- Nama saluran digunakan untuk mengumpulkan langkah bersama
funnelSessionId, -- ID sesi saluran untuk sesi pembayaran unik ini
1, -- Nomor langkah
"Opened Store" -- Nama langkah
)
-- Catat saat pengguna melihat item
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- Nama saluran digunakan untuk mengumpulkan langkah bersama
funnelSessionId, -- ID sesi saluran untuk sesi pembayaran unik ini
2, -- Nomor langkah
"Viewed Item" -- Nama langkah
)
-- Catat saat pengguna melihat menambahkan ke keranjang
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- Nama saluran digunakan untuk mengumpulkan langkah bersama
funnelSessionId, -- ID sesi saluran untuk sesi pembayaran unik ini
3, -- 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:

A warning displays on the funnel dashboard indicating a name change within the selected date range.

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.

A dropdown indicating the three custom fields you can compare across, along with standard breakdowns like age, gender, operating system and more.

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").

Funnels chart for Plant experience showing a 70% drop-off between In Farm, step 1, and Plant Seed, step 2.

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.
In-experience view of Plant experience showing prompts to plant seeds above the flowerpots.