Fonksiyon etkinlikleri deneyiminizin anahtar aşamaları aracılığıyla kullanıcınızın ilerlemesini izlemenizi sağlar. Bunun içinde şunlar bulunur:
- Eğitim - Deneyiminize başlarken kullanıcılar nerede bırakır?
- İlerleme - Kullanıcılar deneyiminizde ilerlemeyi nerede bırakır?
- Dükkan - Kullanıcılar satın alımlarını nereden bırakır?
Deneyiminiz Funnel etkinliklerini izlemeye başladığında, Yaratıcı Merkez'deki Analitik panosundaki Tünel sayfasının kilidini açacaksınız.Tabloları, on tane funnel'a kadar panoya ekleyebilirsiniz.
Haznenin etkinliklerini izle
Funnel etkinliklerini izlemek için, önce deneyiminizdeki en önemli funnelleri tanımlayın ve bunları adımlara ayırın.Onboarding akışınız başlatiçin harika bir yerdir, çünkü burada kullanıcılarınızın çoğunu kaybedebilirsiniz.
Tek seferlik funilleri izle
Tek seferlik bir funil, sadece kullanıcı başına bir kez gerçekleşen dönüşüm olaylarını izler.
Yaygın bir örnek, deneyiminizin yeni kullanıcı tutma oranını ve oturum süresini nasıl geliştireceğinizi anlamak için kritik olan bir eğitim kanalı dır.Aşağıdaki örnek, Bitki için bir entegrasyon kanalıdır, yeni kullanıcıların bir çiftlik, tohum, su bitkisi ve daha fazlasını sıralı bir şekilde girdiği bir tycoon deneyimi:
Tesiste Eğitim Adımlarını Takip Etme
local AnalyticsService = game:GetService("AnalyticsService")-- FTUE'nun ilk adımını kaydetAnalyticsService:LogOnboardingFunnelStepEvent(player,1, -- Adım numarası"In Farm" -- Adım adı)-- İkinci adımı kaydetAnalyticsService:LogOnboardingFunnelStepEvent(player,2, -- Adım numarası"Plant Seed" -- Adım adı)
Tekrarlayan funilleri izle
Tekrarlayan bir boru, kullanıcı başına çok kez meydana gelen dönüşüm olaylarını izler.
Yaygın bir örnek, deneyiminizin ödeme dönüşümünü, ARPPU'yu ve gelirini nasıl geliştireceğinizi anlamak için kritik olan bir mağaza funeli dir.Aşağıdaki örnek, kullanıcıların mağazayı açtığı, öğegörüntülediği, sepetine eşya eklediği ve daha fazlasını yaptığı bir dükkan kanalıdır.
Aynı kullanıcının tekrarlayan bir funnelde farklı oturumlarını ayırmak için funnelSessionId kullanın, örneğin tek bir oturumda mağazayı birden fazla kez açmak.
Dükkan Adımlarını Takip Etme
local AnalyticsService = game:GetService("AnalyticsService")local HttpService = game:GetService("HttpService")funnelSessionId = HttpService:GenerateGUID()-- Kullanıcı mağazayı açtığında günlük açılmasıAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Adımları bir araya getirmek için kullanılan tünel adıfunnelSessionId, -- Bu benzersiz ödeme seansı için funnel oturum kimliği1, -- Adım numarası"Opened Store" -- Adım adı)-- Kullanıcı bir öğeyi görüntülediğinde günlük kaydedinAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Adımları bir araya getirmek için kullanılan tünel adıfunnelSessionId, -- Bu benzersiz ödeme seansı için funnel oturum kimliği2, -- Adım numarası"Viewed Item" -- Adım adı)-- Kullanıcı görüşleri sepete eklendiğinde kaydetAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Adımları bir araya getirmek için kullanılan tünel adıfunnelSessionId, -- Bu benzersiz ödeme seansı için funnel oturum kimliği3, -- Adım numarası"Added to Cart" -- Adım adı)
FunnelSessionId'i uygulayın
Funnel'ları uygularken, bir funnelSessionId etkinliklerinizi izlemenize yardımcı olabilir, ancak her durumda gerekli olmayabilir. Aşağıdaki talimatları kullanın:
- Tek Seferlik Fonlar - Tek seferlik funiller için funnelSessionId kullanmanıza gerek yok çünkü sadece kullanıcı başına bir kez meydana geliyorlar.
- Depo Tünelleri - Aynı kullanıcının farklı oturumlarını ayırmak için funnelSessionId 'yi kullanın daha önceki örnekte mağazayı tek bir oturumda birden fazla kez açarak .Oyuncu tek bir oturumda çok kez mağazayı açabilir durumlarda, bir GUID'i funnelSessionId olarak kullanmak önerilir.
- Eşya Yükseltmeleri - Farklı eşya yükseltme yollarını ayırmak için funnelSessionId kullanın, genellikle tek bir oyun oturumundan daha uzun bir süre boyunca.Mağaza akışı durumunda olduğu gibi bir GUID kullanmak yerine, yükseltilen öğeye dayanarak genellikle benzersiz bir anahtar oluşturabilirsiniz, örneğin: <playerId>-<itemId> .
Başlangıç adımı
Tüneller ilk adım kaydedildiğinde başlar.Oyuncu katılımında hemen bir funnel başlatmak istiyorsanız, ilk adımı PlayerAdded etkinliğine kaydetmeniz gerekecektir.
OyuncuEklendi etkinliğinde ilk adımı kaydetme
local AnalyticsService = game:GetService("AnalyticsService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Adım numarası
"Player Joined" -- Adım adı
)
end)
Tekrarlanan adımlar
Bir kullanıcı bir funyonda bir adımı tekrarlarsa, funil sadece adımın ilk örneğini dikkate alır.Örneğin, bir kullanıcı iki kez bir funnel'ın adımı 2'yi kaydederse, funnel sadece adım 2'nin ilk örneğini sayar.
Atlanan adımlar
Eğer bir nedenden dolayı funilde bir adım atlarsanız, önceki adımlar otomatik olarak tamamlanır.
Örneğin, 1, 2 ve 3 adımlı bir funiliniz varsa.Adım 3'ü adım 1 veya 2'yi kaydetmeden kaydederseniz, boru adımları 1 ve 2'yi tamamlanmış olarak görür.
Funnel filtrelerini kullan
Roblox, tünel verilerinizi analiz etmenize yardımcı olmak için filtreler sağlar.Bunlar oyuncu verileri, cihaz verileri ve özel veriler de gönderebilirsiniz.Bazı durumlarda, oyuncunun durumu tünel boyunca değişebilir, örneğin oyuncu mobil cihazdan masaüstüne geçtiğinde.
Katı sayımın çifte olmasını önlemek için, filtreler daima sadece tünelin ilk adıma uygulanır .Bu, bir oyuncunun tünel sırasında cihazları değiştirmesi durumunda, tünelin sadece tünele girdikleri anda cihazlarına atfedileceği anlamına gelir.
Benzer şekilde, borular bir kohort tarafından gösterilir, yani bir oyuncu 6/19'da funnel'e girerse, funnel 6/19 kohortuna atfedilecektir, ancak funnel'i 6/20'de bitirseler bile.
Havuzları değiştirin
Funnel adımlarınıza bir güncelleme yaptıktan sonra, en son funnel'i görmek için doğru tarih aralığını ayarlamak önemlidir.Mevcut tarih 6/21 ve onboarding funnel'ınızın adımı 6/14'te güncellendiyse, en son funnel'i görmek için tarih aralığını 6/14 - 6/21 olarak ayarlamanız gerekir.
Bir funnel adım güncellemesi içeren bir tarih aralığı seçerseniz, ilgili adımda bir uyarı görüntülenir:

Kanallarınızı saldırganlardan koruyun
Verilerinizi temiz tutmak için, hilecilerin analiz hizmetinize geçersiz veriler göndermesini engellemek için sunucu kodunuza bazı veri doğrulama seviyeleri eklemek önemlidir.
Örneğin, eğer 3 adımlı bir entegrasyon kanalınız varsa, oyuncunun her adımı tamamladığında sunucuya bildirilmesi için bir RemoteEvent kullanabilir ve olayı kaydetmeden önce adım numarasının geçerli olmasını sağlamak için bir sunucu kontrolü ekleyebilirsiniz:
Müşteri tarafı etkinlik kodu
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
Sunucu tarafı etkinlik kodu
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)
Özel alanlar kullanın
Funnel etkinlikleri ayrıca özel alanlara bölünerek segmentler arasındaki daha kolay karşılaştırma desteği sağlar.Örneğin, hangi başlangıç arabasının oyunculara en iyi ilerlemeyi sağladığını izleyebilir veya belli bir haritanın diğerlerinden daha iyi bir oyun döngüsüne sahip olup olmadığını görmek için farklı haritalar ekleyebilirsiniz.

Daha fazla bilgi için, özel alanlar bakın.
Deneyiminizi büyütmek için borular kullanın
Takip edilmesi gereken en önemli funillerden biri onboarding'dir, çünkü birçok deneyim yeni kullanıcıların tutulması ve etkileşimiyle mücadele eder.
Aşağıdaki Bitki için eğitim sürecindeki en büyük bırakma, adım 2 ("Bitki Tohumu") dir.

Bu verilere dayanarak, şunları yapabilirsiniz:
- Kullanıcıları başlangıçta tohum ekmeye yönlendirmek için kontekstik göstergeler ekleyin.
- Deneyimin geri kalanını keşfeden önce kullanıcıların tohum ekmesi ve başarılı bir bitki yetiştirmesi gereken yeni bir kullanıcı deneyimi tasarlayın.Bu olayı geliştirebilirsiniz, pozitif geri bildirim elemanları veya diğer oyun tasarım teknikleri oluşturarak.
