curiouslearning / FeedTheMonsterJS

Javascript and HTML canvas exploration
MIT License
0 stars 4 forks source link

[FTM] Make sure ftm_language, app_version_number, json_version_number, profile_number, and cr_user_id is attached to all Firebase events #987

Open burrage opened 7 months ago

burrage commented 7 months ago

User Story As a developer, I want to add the ftm_language, app_version_number, json_version_number, profile_number, and cr_user_id (per our event audit) So that our Feed The Monster web data collection spec are sync'd with what we are collecting.

Acceptance Criteria Given that I have generated a list of all possible events from BigQuery, When I query each event type, Then I should see values for ftm_language, app_version_number, json_version_number, profile_number, and cr_user_id.

Given that I have the Feed The Monster web data collection spec, When I query each event type, Then what's written in the spec and the implementation should match.

Nikhil77sutara commented 6 months ago

Hy @burrage , I hope you are doing good. I wanted to provide an update regarding the ftm task to add user properties to all Firebase events. While we have successfully implemented the user properties and verified their presence in Firebase Debug View, we have encountered an issue when attempting to view this data in BigQuery.

Upon investigation, it appears that the user properties are only present for the very first event (session_start) in BigQuery. This behavior is specific to Firebase events and is not due to any shortcomings in the Firebase SDK, as our testing and research indicate.

Despite trying alternative approaches, such as using Firebase plugins instead of node modules, the user properties are still not reflected in BigQuery for all firebase events. Also for FTM only the user properties are not reflecting in the BigQuery; for CR container events, the user properties are correctly captured (maybe using different API's could be a possible reason behind it).

I researched on this matter, and it seems that the root cause lies on the Google Analytics side(here are some related issues that i found Link1 Link2). Unfortunately, this means that the limitations we are experiencing are beyond the control of the Firebase SDK or any adjustments we can make within our project configurations.

I wanted to bring this issue to your attention and discuss possible strategies or next steps to address this challenge.

By running the below query we are getting all the user properties but only in session_start.

image

Here is one video of firebase debug view where we are getting all the user properties. https://github.com/curiouslearning/FeedTheMonsterJS/assets/134049291/a1dd4489-f550-4c9e-87e8-5c29db3cfc0e

As a potential workaround, can we consider treating all FTM events as custom events to ensure the inclusion of user properties. However, we understand that this approach may not be feasible due to its potential impact on the project's structure and implementation.

burrage commented 6 months ago

Responded in Slack but this is great learning! I have a few things to discuss with Jeff but this is really important information about how we might standardize our data collection across all the different apps. I'll be in contact at the latest by Thursday (my day) / Friday (your day) after that conversation.

Good work finding this out!

burrage commented 6 months ago

Putting this on hold (and moving to the Product Backlog) while we re-evaluate-- @Nikhil77sutara