Missing events compared to other service

Hey all,

I’m trying to figure out some missing events. In our app you can play small games and with analytics, we track which game is started and ended (with some additional data).

This is all working as expected for the last couple of years and we can see all data coming in.

Recently, we released a game for a limited period tied to an external competition. We wanted to have some additional analytics, but we didn’t wanted to tie it to any of our existing events, as the data would only be there for a week.

As our app is also tied to a backend with a database, we decided to sent that data to our backend.

Both events are sent in the same scripts, right after each other. First the Unity Event, right after the backend event, so as far as I would expect, both of them should end up being sent.

However, we are seeing more events in our backend than we can see in the analytics and it’s not duplicate data… I can see 19 events in our backend and 7 in unity analytics. This is a pretty big difference.

I have checked the event browser and don’t see any failed events. In the backend I can also see there aren’t any duplicates. In both cases there should be a proper connection, as the backend event is sent last and shows up.

Might also be worth noting that we do the same thing when a game starts. So far we have 107 events on our backend and 37 with Unity Analytics.

I read it can take 5-15 minutes for an event to show up in the Unity Analytics page, but is there also some time limit before the events are actually sent? As it is the end of the game where these events are sent, I can imagine players might have already closed the game and they are being cached?

Any other possible explanations?

I just caught an event that was invalid due to the event timestamp being out of boundaries (not for this particular game, but as events are only kept for 48 hours, it might have slipped past me over the weekend).

I’m sure there is a reason for displaying data etc, but I would’ve loved to see some sort of correction for this, as we are losing a lot of still valuable data due to this where the date is not relevant at all.

Something with “corrected timestamp when event was processed on the server” when the event was submitted would be a lot better than completely discarding it.

Events can be rejected if the eventTimestamp is more than 30 days old or more than 1 day into the future. This can occur if the device clock is not set correctly on the player’s device, or if they were playing offline 30 days ago or more then returned and uploaded old cached events.

If we were to accept events that were more than 30 days old, we would need to re-calculate all KPI for your game and this specific player, for every day since the eventTimestamp on the late arriving event. This would greatly increase processing costs for little gain.

With regards to your missing events, can you confirm that every event you sent to Unity Analytics has a corresponding entry in the Event Manager tool? Also, be aware that Unity Analytics uploads events at one-minute intervals unless you use the Flush() method to force an upload. So, if you close the app too quickly you may not have uploaded your last events.

If you need us to dig into your specific case, please submit an Analytics support ticket and include your project ID along with a copy of the data from your backend so we can compare. Source code or access to a build of your app may also help identify what is causing the differences.

Thanks for the clarification, that makes sens.

Yes, they have. We do get the events in some cases, they just don’t add up to what we see in our backend.

This might explain it. At the start of the game, there are some prerequisites that players might realize they don’t have and quit the game before the Unity event is sent.

Same goes for the end, once they’re done, they have little reason to stay (unless they want to continue playing) and it is very possible they quit the game once they collected the reward.

Alsongside with possible timeevent discards, it could potentially explain the missing events.

Thanks again for the clarification!