Skip to main content

Measure Your Reach with Bloom Analytics

In a “customer interview,” a user communicated that:

It's sometimes confusing for clients like us to understand tagging and branding books. The documentation could be clearer. We suggested that it would be helpful to know what analytics fields are available so new clients know what the app can and can't report. Tagging isn’t about book genres like biography or fiction; it's about identifying who owns the books or who funded the project. In PNG, we have different projects like the Rise Project, and we need to differentiate the books in the database based on these projects. We currently rely on SIL-PNG to manage this, but clearer documentation would help us handle it better on our own.

Summary

Below is an overview of the statistics you will see when you view statistics for a collection:

  1. The analytics page opens with the Overview selected. For greater specificity, click the drop-down arrow to access a list of other analytics for your organization.
  2. By default, analytics are shown for ALL TIME. To see analytics for a particular date range, click the calendar button and choose a start and end date.
  3. To download a PNG image of the page, or a detailed CSV file, click the corresponding icon.

Events that we measure

  • All Bloom Player contexts (Bloom Library, Bloom Reader, BloomPub Viewer, RAB apps)
    • Pages read
    • Was the last (numbered) page in the book read? (This is some indication that the entire book was read. But note that it is possible just to flip past pages, or to move randomly through the book. So it wouldn’t be hard to cheat this system.)
    • Time spent
    • Comprehension Quizzes. This includes how many questions were present and how many answered correctly.
    • Duration of audio and video playback
    • Book branding
  • Bloom Library
    • Downloads
  • Bloom Reader specific events
    • Installations
  • No events at this time
    • Shared book
    • Shared bookshelf
    • Shared APK
    • Share Link to app on Play Store
    • ePUB

User information that we collect

  • Web
    • IP address (--> city / country?)
  • Bloom Reader only
    • Named device ids
      • ANALYTICS_DEVICE_PROJECT
      • ANALYTICS_DEVICE_ID
    • Location
      • latitude, longitude, locationSource, locationAccuracy, locationAgeDays
      • We record the locations available from each of the standard providers (network, gps, and passive) explicitly.  But for the standard location for this report, we mainly want the most recent location we can get; precision is not very important. However, we know from experience that in poor countries, IP address doesn't give us reliable location, and we expect that WiFi and other networks will be similarly unreliable as means of location. So if we have a reasonably recent high-precision location we will take that in preference to a lower-precision one that may be even more current. (Elsewhere we request one location per hour from GPS, if available, to ensure that the "last known location" for the GPS provider will be reasonably recent.)
    • Distribution Source
    • Hardware info
    • Android version?

How your project can get analytics

  • BloomLibrary bookshelves
    • /stats
    • CSV & PDF download
  • Advanced low level access to analytics data

Difficulties getting analytics

  • Getting analytics from devices that are normally offline
    • No internet (talk about Bloom Reader offline)
  • Effect of blocking cookies?
  • Firewalls
  • No events on EPUB

Privacy Issues

  • No emails
  • IP addresses?
  • Cookies
  • GPS resolution
  • GPS opt in/out
  • Device hardware IDs
  • Named Device IDs

Analytics Fields

Analytics Fields

Internet Connection Issues

How much bandwidth?

These are the most common analytics events sent by Bloom Reader:

  • Bloom Reader started
  • Bloom Reader backgrounded
  • Book Opened
  • Book Closed

Each event is less than 3KB. So a person who runs Bloom Reader, reads 2 books, then quits will send less than 18KB.

What if the user is not connected to the internet?

If the user is not connected to the internet, Bloom Reader will cache their events. The cache is limited to 1000 events.

To prompt Bloom Reader to send all of its events right now, open the menu:

At the bottom of this screen, you will see Bloom Reader’s progress in sending the events: