Analytic Service Error: Funnel Events Not Displaying Properly in Dashboard

Here’s the revised bug report with the “Leave Game” step removed:


Bug Report: Funnel Events Not Displaying Properly in Dashboard

Summary

I have set up funnel events for my FNAF Nightmare game. While I have confirmed that my function to save recurring funnels is firing correctly, the expected data is not appearing in the Roblox Analytics Dashboard.

Steps to Reproduce

  1. Implement the following recurring funnel tracking function:

    local function recurring(plr, FunnelName, StepNumber)
        local userData = plrsData[plr.UserId]
        local funnelData = userData[FunnelName]
        local stepName = funnelData["Steps"][StepNumber]
        local currentStep = funnelData["Current"]
        local FunnelId
    
        if StepNumber ~= currentStep then
            funnelData["Current"] = StepNumber
            userData["CurrentPrimaryPath"] = FunnelName
    
            if StepNumber == 1 then
                funnelData["Id"] = HttpService:GenerateGUID()
            end
    
            AnalyticsService:LogFunnelStepEvent(plr, FunnelName, funnelData["Id"], StepNumber, stepName)
        end
    end
    
  2. Connect the function to a PlayerAdded event:

    game.Players.PlayerAdded:Connect(function(plr)
        plrsData[plr.UserId] = {
            ["CurrentPrimaryPath"] = nil,
            ["Donation"] = {
                ["Steps"] = {
                    [1] = "Hovered On Donate",
                    [2] = "Opened Donation Menu",
                    [3] = "Hovered on Buy",
                    [4] = "Purchased"
                },
                ["Current"] = 0,
                ["Id"] = nil
            }
        }
    end)
    
  3. Observe the Roblox Analytics Dashboard for missing or incomplete funnel data.

Expected Results

  • Each step name should be correctly recorded in the dashboard.
  • Funnel steps should appear in the View Events section immediately and in Charts within a day.

Actual Results

  • Some steps (Step 1, Step 2, and Step 4) are blank and missing step names.
  • Event logging prints correctly in the console, but does not fully populate in analytics.
  • The “View Events” page shows fewer steps than expected.

Troubleshooting Attempted

:heavy_check_mark: Confirmed that funnel event logs are printing in real-time.
:heavy_check_mark: Ensured that all funnel step numbers are between 1-100 (per documentation constraints).
:heavy_check_mark: Verified that the issue occurs in live game sessions, not just in Studio testing.
:heavy_check_mark: Checked if the issue persists across multiple sessions and different accounts.
:heavy_check_mark: Removed unnecessary steps, but the issue persists.

Screenshots

Missing Step Names in Analytics Dashboard

Fewer Steps Recorded Than Expected

Output Displaying Records

Conclusion

It appears that Roblox’s analytics system is not properly processing all funnel events, despite correct implementation. Since the function logs successfully in-game but does not fully register in the dashboard, this suggests a potential issue with Roblox’s Analytics Service rather than a scripting error.

1 Like

Hi! On first glance I’m not seeing anything that can cause this. Can you check when events are triggered in studio are you getting any success/error logs from AnalyticsService? E.g. something like AnalyticsService: LogFunnelStepEvent event fired (especially for the missing steps).

Thanks for the response. Here is the function I used to debug it:

  1. Implement recurring funnel tracking
local function recurring(plr, FunnelName, StepNumber)
	
	print("loading recurring for " .. FunnelName)
	
	local userData = plrsData[plr.UserId]
	local funnelData = userData[FunnelName]
	local stepName = funnelData["Steps"][StepNumber]
	local currentStep = funnelData["Current"]
	local FunnelId

	if StepNumber ~= currentStep then

		-- set current to step
		funnelData["Current"] = StepNumber
		
		-- generate an id if nessessary
		if StepNumber == 1 then
			funnelData["Id"] = HttpService:GenerateGUID()
		end

		-- save
		print("Logging Funnel Step:", FunnelName, funnelData["Id"], StepNumber, stepName)
		AnalyticsService:LogFunnelStepEvent(plr, FunnelName, funnelData["Id"], StepNumber, stepName)
	end
end

As you can see there is the print line which gives the detailed information. As mentioned before, it produces this output

  1. Connect the function to playeradded
game.Players.PlayerAdded:Connect(function(plr)
	plrsData[plr.UserId] = {
		
		["Donation"] = {
			["Steps"] = {
				[1] = "Hovered On Donate",
				[2] = "Opened Donation Menu",
				[3] = "Hovered on Buy",
				[4] = "Purchased",
			},
			["Current"] = 0,
			["Id"] = nil
		},

		["Non Automatic Gameplay"] = {
			["Steps"] = {
				[1] = "Hovered on Play",
				[2] = "Started Gameplay",
				[3] = "Reached Halfway Point",
				[4] = "Completed Night",
			},

			["Current"] = 0,
			["Id"] = nil

		},

		["Automatic Gameplay"] = {
			["Steps"] = {
				[1] = "Started Loading",
				[2] = "Started Gameplay",
				[3] = "Reached Halfway Point",
				[4] = "Completed Night",
			},
			["Current"] = 0,
			["Id"] = nil
		}}
end)

There are multiple issues I see within Roblox’s dashboard:

  1. Incorrect funnel name: The funnel in the outputs is “Non Automatic Gameplay” while the funnel being recorded shows “Automatic Gameplay”

  2. Missing steps, despite successful calls (as shown the in output)

  3. Incorrect number of users corresponding with actual data:
    image

  4. Let me know if you need my specific game file or anything. I recommend boosting it in the algorithm since its a well made game, which I hoped adding funnels would do.

Hey I was debugging it further and I tried going specifically into the run-time game, where I discovered an error in my local scripts which were sending requests to the server.

For some reason I was referencing the serverstorage which was causing the scripts to fail instead of sending the proper results. By the way, since I have currently fixed it, how would I delete the current data I see?

Thanks for the update! Glad that this is working for you now.

By the way, since I have currently fixed it, how would I delete the current data I see?

You can use the date picker to select only the dates after your fix has been released. This will exclude all the data before then.

Feel free to reach out if you are still experiencing any issues!

Can you enable developers to delete unwanted data directly from dashboard?

We are still exploring options regarding that, but no timeline yet. For now the best option would be to exclude the dates manually. (For unused funnels in the tabs, they will automatically fall off after 90 days.)

Thanks for the response. I’m happy to hear its being considered. Fortunately, its not a complex feature. it just add a button with a trash can, while also providing users critical control over their funnels

I hope to see the feature as it would greatly enhance the usability of funnels!

maybe like under the copy icon or maybe when u extend it you can. Funnels should also boost games in the algorithm because it shows the developer cares about the game and is looking to Improve it while also showing its a legitimate game that knows how to develop

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.