View Single Post
Old 12-27-2011, 08:23 AM   #1
novou
Pointed Pontification.
novou rocks like Gibraltar!novou rocks like Gibraltar!novou rocks like Gibraltar!novou rocks like Gibraltar!novou rocks like Gibraltar!novou rocks like Gibraltar!novou rocks like Gibraltar!novou rocks like Gibraltar!novou rocks like Gibraltar!novou rocks like Gibraltar!novou rocks like Gibraltar!
 
Posts: 64
Karma: 100000
Join Date: Sep 2011
Device: Kobo Touch (Black)
Arrow KT's Google Analytics integration, and how to disable it.

Scroll down for instructions to disable tracking.

Almost definitely true, non-sensational facts about Kobo's use of Google Analytics. tl;dr:
  • KT Usage data is being sent to Google-Analytics (If/when your KT is online and Google Analytics is accessible.)
  • This is not a new part of .16. It's probably been there since launch.
  • Usage data includes stuff such as 'home screen loaded @time', 'book view opened for X minutes @time,' 'device put to sleep @time'
  • If you keep your KT in airplane mode your data is not sent (if you disable it to update over WiFi, some stats probably are sent.)
  • A session lasts until power-off/reboot (or 500 GA actions, no idea if the Kobo then makes a new session or pauses logging.)
  • Unsent data is cleared at each reboot.
  • Randomly assigned user ID's are not kept across sessions. They are consistent within sessions.
  • This is not sending your credit card number, pet's name, side-loaded books, or email address to Google. (You're probably doing that already.)
  • Kobo cannot see your IP or practically associate your actions with your KoboBooks account.
    Google can see, and is undoubtedly logging IP's.
  • Traffic is not 'redirected through Google Analytics'
  • This has nothing to do with the built-in browser.
  • devices.kobo.com is an illusion.

The GAQueue variable in .kobo/Kobo/Kobo eReader.conf stores the Google-Analytics callbacks until the next time you connect the KT to the Internet. The GAQueue is cleared on each reboot.

If you want to decode the entries in the GAQueue variable, go ahead.
The documentation is right here: Most values, GA's cookies, the utms parameter.

Here's a dissection for nerds, of what data is sent/stored:
http://pastie.org/3079390

The KT reports URL's like 'http://devices.kobo.com/ReadingView/Book' to GA. 'devices.kobo.com' doesn't exist. It's not a real subdomain, and not because of some sinister 'hide the evidence' motive either. (If that were the case, the configuration file would be obfuscated and Kobo's CEO would have way more money than he does now.)

Google Analytics provides a handy, free of charge, platform and lots of pre-built tools for monitoring websites. All Kobo has done is made KT send stats to GA as if the device is a website you're browsing. They're using the GA for mobile devices approach described here.

As Lunchtray said, a device tracking usage metrics is not surprising. But I disagree with them about whether stats of the detail they described using for their games (tracking individual option usage, etc.) are necessary, or even that useful.

I'd known about the KT's GA integration for a while, but after just now looking into the implementation, I am concerned by the detail of the stats. I'm happy to see that Kobo has made an effort to avoid much of the highly intrusive, and useless, tracking the a tool like GA affords. They don't tie metrics to accounts and clear UID's and unsent callbacks across sessions (meaning they don't track devices across reboots.)

But aiming to report each time you load the home-screen, or read a book for X minutes nonetheless seems like overkill to me. Their metrics are not super-invasive, and an extremely far cry from stuff like CarrierIQ, or individual menu button tracking.

That said, for me at least, they still do cross the line into 'creepy,' especially since the callbacks are being sent to Google, where those stats will be be saved and analyzed as a part of Google's hoard of personal data. (If it were Kobo infrastructure, I'd still be concerned, but much less so. Kobo isn't a business built on harvesting personal data.)

Marco Arment describes the creepy threshold in mobile analytics better than I could. (49mins in, past all the coffee talk)

How to disable Google Analytics on the Kobo Touch

What this does: it edits the hosts file of the Kobo Touch so www.google-analytics.com is translated to the loopback IP address of your device: 127.0.0.1. This means the device can't talk to Google Analytics, thus breaking stats tracking.

The exact line I'm adding to the /etc/hosts file is '127.0.0.1 www.google-analytics.com ssl.google-analytics.com google-analytics.com' I encourage you to open up the KoboRoot.tgz file and verify this yourself.

Directions:
Save this file in your KT's '.kobo' directory.
Eject & disconnect.
Watch 0.5 seconds of the upgrade animation.
Be happy.


(KoboRoot.tgz is deleted after the upgrade. Don't worry.)

The tweak should persist across upgrades, unless the devs ship a hosts file in an update, but that's very unlikely.

I was able to whip this up thanks to the Kobo's accessible system, research done by Stef70 and the Hacking into the KT & Manually upgrading KT firmware threads. Much love.

Last edited by novou; 01-06-2012 at 06:59 PM. Reason: added 'scroll down' messages
novou is offline   Reply With Quote