Wydarzenia w kanałach

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Przepustka wydarzeń pozwala śledzić postępy użytkownika poprzez kluczowe etapy swojego doświadczenia. To obejmuje:

  • Onboarding - Gdzie użytkownicy składają się, gdy zaczynają z Twoim doświadczeniem?
  • Postęp - Gdzie użytkownicy kończą swoją podażę poprzez twoje doświadczenie?
  • Sklep - Gdzie użytkownicy porzucają zakupy?

Gdy doświadczenie zacznie śledzić wydarzenia Funnel, odblokujesz stronę Funnel na pasku narzędzi na środku twórcy. Możesz dodać zakładki do dashboardu dla do 10 funeli.

Śledzenie wydarzeń w kanale

Aby śledzić wydarzenia w funelu, najpierw zidentyfikuj najważniejsze funele w swoim doświadczeniu i podziel je na kroki. Twoja integracja z użytkownikami jest wielkim miejscem do rozpoczynać, ponieważ to jest miejsce, w którym możesz tracić większość swoich użytkowników.

Śledzenie jednorazowych kanałów

Jednorazowe wączki monitorują wydarzenia konwersji, które następują tylko raz na użytkownika.

Zwykłym przykładem jest funnel onboardingowy, który jest krytyczny, aby zrozumieć, jak poprawić nową retencję użytkowników i czas sesji. Poniższy przykład to funnel onboardingowy dla Plant, gdzie nowi użytkownicy wchodzą do farmy, sadzą nasiona roślin, wodę roślinną i wiele więcej w kolejności:

Śledzenie kroków onboardingu w roślinie

local AnalyticsService = game:GetService("AnalyticsService")
-- Zapisz pierwszy krok FTUE
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Krok numer
"In Farm" -- Nazwa kroku
)
-- Zapisz drugi krok
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
2, -- Krok numer
"Plant Seed" -- Nazwa kroku
)

Śledzenie powtarzających się kanałów

Przywracające się wydarzenia kanałów monitorują przekształcenia, które następują wiele razy na użytkownika.

Zwykłym przykładem jest sklep funnel , który jest krytyczny, aby zrozumieć, jak poprawić twoją eksperyencję's payer konwersji, ARPPU i przychodów. Poniższy przykład to sklep funnel, w którym użytkownicy otwierają sklep, widzą przedmiot, dodają przedmiot do koszyka i wiele więcej.

Użyj funnelSessionId , aby odróżnić różne sesje tego samego użytkownika w tym samym funelu, takie jak otwarcie sklepu wiele razy w jednej sesja.

Śledzenie kroków sklepu

local AnalyticsService = game:GetService("AnalyticsService")
local HttpService = game:GetService("HttpService")
funnelSessionId = HttpService:GenerateGUID()
-- Zapisz, gdy użytkownik otwiera sklep
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- Nazwa kanału używana do grupowania kroków
funnelSessionId, -- Przekaż ID sesji dla tego unikalnego sesjapłatności
1, -- Krok numer
"Opened Store" -- Nazwa kroku
)
-- Zapisz, gdy użytkownik ogląda przedmiot
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- Nazwa kanału używana do grupowania kroków
funnelSessionId, -- Przekaż ID sesji dla tego unikalnego sesjapłatności
2, -- Krok numer
"Viewed Item" -- Nazwa kroku
)
-- Zapisz, gdy użytkownik dodaje produkt do koszyka
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- Nazwa kanału używana do grupowania kroków
funnelSessionId, -- Przekaż ID sesji dla tego unikalnego sesjapłatności
3, -- Krok numer
"Added to Cart" -- Nazwa kroku
)

Realizacja funkcji sessionId

Podczas wdrożenia funeli, funnelSessionId może pomóc Ci śledzić swoje wydarzenia, ale może nie być wymagane w każdym instancja. Użyj następujących zasadnic:

  • Jednorazowe kanały - Nie musisz używać funnelSessionId dla jednorazowych kanałów, ponieważ pojawiają się tylko raz na użytkownika.
  • Sklepowe kanały przepływu - Użyj funnelSessionId , aby odróżnić różne sesje tego samego użytkownika w tym samym funelu, takich jak otwarcie sklepu wielokrotnie w jednej sesjaw wcześniejszym przykładzie . W przypadkach takich, gdy gracz może ot
  • Ulepszenia przedmiotów - Użyj funnelSessionId , aby odróżnić różne drogi ulepszeń przedmiotów, zwykle przez dłuższy czas niż pojedyncza sesja gry. Zamiast używać GUID, tak jak w przypadku funnelu w sklepie, możesz często budować unikalny klucz na podstawie przedmiotu ulepszanego, na przykład

Pierwszy krok

Kanały zaczynają się, gdy pierwszy krok zostanie zapisany. Jeśli chcesz uruchomić kanał natychmiastowo po dołączeniu gracza, będziesz musiał zapisać pierwszy krok na wydarzeniu PlayerAdded.

Zapisywanie pierwszego kroku w wydarzeniu PlayerAdded

local AnalyticsService = game:GetService("AnalyticsService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Krok numer
"Player Joined" -- Nazwa kroku
)
end)

Powtarzające się kroki

Jeśli użytkownik powtarza krok w funnalu, funnel bierze pod uwagę tylko pierwszy przypadek kroku. Na przykład, jeśli użytkownik zapisuje krok 2 funnaru dwa razy, funnel bierze pod uwagę tylko pierwszy przypadek kroku 2.

Pomiń kroki

Jeśli z jakiegoś powodu zignorujesz krok w funnelu, wcześniejsze kroki zostaną automatycznie ukończone.

Na przykład, jeśli masz kanał z krokami 1, 2 i 3. Jeśli zapiszesz krok 3 bez zapisu kroków 1 lub 2, kanał będzie rozważać kroki 1 i 2 jako zakończone.

Używanie filtrów funelowych

Roblox oferuje filtry, aby pomóc Ci z分析 Twoich danych kanału. W tym są dane gracza, dane urządzenia i możesz również wysyłać dane niestandardowe. W niektórych przypadkach status gracza może się zmienić podczas funnel, tak jak gdy gracz przełącza urządzenia z mobilnych na komputer stacjonarny.

Aby uniknąć podwójnego liczenia kanałów, filtry zawsze są stosowane tylko do pierwszego kroku kanału. Oznacza to, że jeśli gracz zmienia urządzenie podczas kanału, kanał będzie przypisany tylko do ich urządzenia w momencie wejścia do kanału.

Podobnie, funele wyświetlają się według kohortu, co oznacza, że jeśli gracz wejdzie do funelu 6/19, funel będzie przypisany do kohortu 6/19, nawet jeśli zakończy funel 6/20.

Modyfikowanie kanałów

Po dokonaniu aktualizacji kroków swojego funela, ważne jest ustawienie poprawnej rangi czasowej, aby zobaczyć najnowszy funel. Jeśli obecna data to 6/21 i aktualizowałeś krok 2 swojego funela onboardingowego 6/14, powinieneś ustawić rangę czasową na 6/14 – 6/21, aby zobaczyć najnowszy funel.

Jeśli wybierzesz zasięg daty, w którym znajduje się aktualizacja kroku funelowego, na odpowiednim kroku pojawi się ostrzeżenie:

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

Chronienie twoich kanałów przed oszustami

Aby utrzymać twoje dane czyste, ważne jest, aby dodać pewny poziom poprawności danych w kodzie serwera, aby zapobiec oszukującym wysyłaniu nieprawidłowych danych do twojego usługi analitycznego.

Na przykład, jeśli masz funel onboardingu z 3 krokami, możesz użyć RemoteEvent dla klienta, aby poinformować serwer, gdy gracz ukończy każdy krok i dodać serwer check, aby upewnić się, że numer kroku jest poprawny przed zapisem wydarzenia:

kodwydarzenia strony klienta

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
kodwydarzenia strony serwera

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)

Używanie niestandardowych pola

Kanałowe wydarzenia umożliwiają również łatwiejszy porównywanie elementów pomiędzy segmentami. Na przykład możesz śledzić, który pojazd startowy daje graczom najlepszy postęp, lub załączyć różne mapy, aby zobaczyć, czy pewna mapa ma lepszy cykl gry niż inne.

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

Dla więcej informacji, see pola niestandardowe .

Używanie kanałów, aby zwiększyć swoje doświadczenie

Jednym z najważniejszych funeli do śledzenia jest onboarding, ponieważ wiele doświadczeń walczy z nową retencją użytkowników i zaangażowanie.

W funelu onboardingowym dla Plant poniżej największym drop-offem jest krok 2 ("Plant Seed").

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

Na podstawie tych danych możesz:

  • Dodaj wskaźniki kontekstowe, aby lepiej kierować użytkowników, którzy dopiero zaczynają.
  • Projektuj nową doświadczenie użytkownika, w której użytkownicy muszą zasadzić nasiona i uprawić udaną roślinę, zanim zbędą poznawać resztę doświadczenia. Możesz poprawić ten wydarzenie, tworząc pozytywne elementy opisu lub inne techniki projektowania gry.
In-experience view of Plant experience showing prompts to plant seeds above the flowerpots.