Hi everyone,
I'm experiencing an issue with Firebase Analytics integration in my OutSystems mobile app and hoping someone can help.
Setup:
Problem: In Google Analytics, I'm seeing screen views where the page_title shows as "(not set)" even though I'm consistently providing the screenname parameter in my setCurrentScreen calls.(see screenshot)
What I've tried:
Has anyone else experienced this issue with OutSystems Firebase Analytics where some screen views show "(not set)" for the page title?Thanks.Ben
The "(not set)" issue with `setCurrentScreen` in Firebase Analytics is quite common across platforms (including OutSystems mobile apps). Here are the most likely causes & quick fixes people usually try:
- Make sure you're calling `SetCurrentScreen` after the screen is fully loaded / visible (e.g. in On Render or a small JS Timer ~300–500ms delay after navigation).
- Pass both parameters correctly:
- ScreenName → your meaningful page title (e.g. "Home", "ProductDetail")
- ScreenClassOverride → usually the same value as ScreenName or the screen's technical name (some versions need this to avoid ignoring the name)
Many similar cases (Flutter, native Android, etc.) get resolved by:
- Calling the action on resume / after navigation (not too early)
- Avoiding duplicate calls with identical name + class (Firebase sometimes ignores them)
You can check these related discussions for more context:
- Stack Overflow thread about similar "not set" behavior: https://stackoverflow.com/questions/50952080/firebase-screen-name-is-showing-not-set
- Another one emphasizing calling it in onResume style: https://stackoverflow.com/questions/48546883/firebase-analytics-not-tracking-the-name-of-my-app-screens-screen-name-not-set
Hi Bernard,
Just to confirm, are you using the supported Analytics Plugin (Firebase) component or the unsupported Firebase Mobile component that is also available in the Forge?Best regards,Alex
Hi,
Thanks for the suggestions so far. I'd like to share an approach I'm going to try.
Since the screen name is dynamic (fetched from the database), I can't call SetCurrentScreen earlier than OnAfterDataFetch — the data simply isn't available yet. However, the timing issue remains: Firebase may not yet consider the screen active at that point.
Since OnRender is triggered again after a successful fetch updates a reactive variable, IsDataFetched will be True at that point — meaning the screen is fully active and the dynamic name is available. No extra local variable needed.
I'll test this and share the outcome here.BTW is use the supported Forge component.Regards,
Ben