Stream raw hit-level Google Analytics data into BigQuery
gcloud config set project your-project
your-project
), dataset_id (from step 2
), table_id in bqloader.pygcloud app deploy app.yaml
ok
)<script async src="http://ga-tracker-dot-[your-project].appspot.com/js/gabq.js"></script>
after GA code and ga('require', 'gabqplugin');
after ga('create',..)
Note: Ecomerce data is currently not supported, it will be added soon
In case you have more than 1000 events per minute you may duplicate number of cron workers by copy pasting them in cron.yaml, e.g. something like this:
cron:
- description: process queue
url: /tasks/process_queue
schedule: every 1 mins
- description: process queue
url: /tasks/process_queue
schedule: every 1 mins
- description: process queue
url: /tasks/process_queue
schedule: every 1 mins
- description: process queue
url: /tasks/process_queue
schedule: every 1 mins
- description: process queue
url: /tasks/process_queue
schedule: every 1 mins
Take in mind that there is an limit - you can not lease more than 1000 rows from queue at once, so we are scaling this by number of cronjobs, so now each minute we will be able to proccess 5000 events. While playing around we have noticed that there is an limit to number of cronjobs at 60 - so with this in mind, you may grow up to 60 000 per minute.
If you don't see your pull-queue
queue in the Cloud Tasks underneath Pull queues display on the developer console, try deploying the queue config explicitly:
gcloud app deploy queue.yaml