Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

Definitions: Granularity| How fine the measurements can get. From keyboard tap to is the app open? Depth| How much data can we get from each event? Data Mobility| How easy is it to move data from that service/platform? Implementation| What do we have to deal with? Integrstions| What other services are available using this method?

Segment.io

Overview

Analytics API with widespread support although still building out react-native. Accessed through analytics-react-native package. Great libraries, community and tools available. Can also send the messages to our own server in options object https://www.npmjs.com/package/analytics-react-native

Granularity

From docs at face value it seems like we can track anything we like, it's just an API call with a string, can't find any limits like Firebase

Depth

We are fully responsible for the data sent to log the event so depth is adaptable based on needs.

Data Mobility

We are in control of it from the beginning, we can send it to our own database when we send it to Segment as well https://segment.com/docs/guides/getting-started/data-export-options/

Implementation

Build from scratch. Data structure is totally up to us so design is important. Can have multiple instances for tracking different types of events (e.g. ads or invites)

Integrations

Very many, full list https://segment.com/docs/destinations/ can customize which events get sent to which integrations.

Precautions

None found yet

Google Analytics

Overview

Bridge to native so you get additional metadata from device not available from app. Comes with built in Google Analytics events for users, sessions, and hits (visited pages/screens). Can customize for event fires, timing, exceptions, and purchases. Uses Google Analytics so syncs with web app. Uses react-native-google-analytics-bridge package.

Granularity

Manually build events for each page so we can get as much detail as we like.

Depth

Can track instant events (taps) as well as timing (how long they watch an invite) and purchases (however that transaction might happen, again customizable)

Data Mobility

Exportable to CSV only on premium plan.

Implementation

Basic funcionality out of the box and we can build out additional events based on priority. It will take significant time to get robust tracking but individual events should be quick coding.

Integrations

Google Tag Manager

Precautions

iOSprerequisite https://github.com/idehub/react-native-google-analytics-bridge/blob/master/README.md#settrackuncaughtexceptionsenabled.

Google Analytics w/ Firebase

Overview

A better version of classic Google Analytics, they are both present as they are implemented in different ways. https://medium.com/exploring-android/exploring-firebase-on-android-ios-analytics-8484b61a21ba

Granularity

Can specify our own events so can be as fine or broad as necessary.

Depth

Can create up to 500 unique events to track with 24 options each.

Data Mobility

Exporting from Firebase seems sketchy. It is not available through the API. They want you to connect to BigQuery which then requires a Blaze plan (pay as you go, BigQuery is free for 1TB/month other services like notifications also have reasonable free tiers) After this we can download to a local machine and then manually import into a database to make it accessible by API for common consumption. https://groups.google.com/forum/m/#!topic/firebase-talk/S0Mrwq_UsgU

Implementation

16 coming straight out of the box. Additional preconfigured events we can add easily to ease into creating our own event types https://support.google.com/firebase/answer/6317498?hl=en&ref_topic=6317484 . All Firebase services accessible through online GUI as well.

Integrations

Firebase remote config (adaptive UI based on defined user groups), firebase crash reporting, and firebase notification service.

Precautions

Haven't found anything on using firebase data with other services hassle free.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment