I have an app that sends data to Google Analytics. I am interested in accessing and storing this data on a Hadoop cluster. I am guessing this raw data will be in the form of logs. In particular, I would like to see the user_id, the searches made by the user and the search option that he/she decided to pay for on the app.
How can I do this? I am completely new to GA and I was not the one who set up GA for the app. I am just trying to see if there is a way through which I can access this raw data.
Would like to add that I cannot use Big Query since we do not have access to it. And the folks who set up GA are not interested in upgrading to Universal Analytics.
Any help/thoughts/suggestions are appreciated.
In addition to benefiting from the advanced features of the paid platform, Google Analytics 360 users can export raw hit- and session-level data from Google Analytics to Google BigQuery via native integration. There are two export options you can choose between: Data exported continuously.
In any analytics report, click the 'email' button at the top of the screen. Set up the email to go to your address (or a new address on your server) and change the format to csv or xml. Then, you can use php (or another language) to check the email account, parse the email and import the attachment to your system.
There are a couple of ways for users to export more than 5,000 rows: Change the number from 5,000 at the end of the URL to 50,000 or other number to get larger reports — except that doesn't work anymore. Install the Google Analytics Sheets Add-On to pull 10,000 rows.
There is no way to get the logs, but ..
The Google Analytics API will let you extract your data out of the system.
There are limits to what you can do:
It may be good to note that a professional Google Analytics customer could export the raw data from GA to Big Query. Exporting data from BigQuery is free of charge, but storage and query processing is priced based on usage.
Premium analytics at a reasonable price for one flat annual fee of $150,000
since we're supposed to answer the original question, there is no way to get actual raw Google Analytics logs other than by duplicating the server call system.
In other words, you need to use a modified copy of the analytics.js script to point to a hosted webserver that can collect server calls.
Long story short, you want your site to capture hits to http://www.yourdatacollectionserver.com/collect?v=1&t=pageview[...] instead of http://www.google-analytics.com/collect?v=1&t=pageview[...]
This is easily deployed using a tag manager such as Google's GTM, along with normal Google Analytics tags.
That will effectively create log entries in your web server which you can process using an ETL or Snowplow or Splunk or your favorite Python/perl/Ruby text parsing engine.
It is then up to you to process the actual raw logs into something manageable. And before you ask, this is not retroactive.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With