Mendapatkan Data Google Analytics via Python

Google Analytics merupakan web aplikasi yang digunakan untuk mengetahui behaviour user di website. Hal ini berguna untuk mengetahui halaman apa yang paling sering dikunjungi, berapa total visitor, siapa audience kita dan lainnya.

Dapat dikatakan bahwa Google Analytics merupakan salah satu jenis data source. Karena merupakan data source, maka kita butuh alat yang bisa mengolah data tersebut. Dan Google Data Studio dapat dikatakan merupakan alat visualiasasi terbaik bagi Google Analytics.

Namun, Google Data Studio mempunyai kelemahan yaitu tidak bisa melakukan operasi lain yang lebih kompleks misalnya melakukan join dengan database lain, atau melakukan predictive analytics.

Oleh karena itu, kita perlu mengekstrak data Google Analytics dan menyimpannya ke suatu tempat, dengan harapan kita bisa melakukan operasi kompleks setelahnya.

Fortunately, Google menyediakan API agar kita bisa mengekstrak data Google Analytics. Proses pengambilan data google analytics secara lengkap bisa dilihat di github ini.

Berikut merupakan langkah-langkah pengambilan data Google Analytics via Python

1. Set up Credential

API yang digunakan untuk mengambil data Google Analytics adalah Google API. Berikut merupakan langkahnya

  1. Masuk ke https://console.cloud.google.com/apis lalu buat project baru
  2. Klik Enable APIS and Services
  3. Cari API bernama Google Analytics API kemudian Klik Enable
  4. Pada menu Credentials, pilih Manage Service Accounts
  5. Create Service Account
  6. Pada Service Account klik alamat email
  7. Create new key dalam bentuk json, kemudian download

2. Import Credentials to Python

Setelah selesai setup credential, maka tibalah saatnya melakukan proses pengambilan data via pyhton. Credential yang berbentuk json akan digunakan dalam tahapan ini.

KEY_FILE_LOCATION merupakan lokasi file json yang berisi credential API tersebut. Sedangkan VIEW_ID merupakan View-ID Google Analytics.

3. Setup Metrik & Dimensi

Untuk mendapatkan data di google analytics sesuai yang diharapkan, tentunya kita perlu mengetahui metrik dan dimensi-nya. Secara sederhana metrik adalah variabel sedangkan dimensi merupakan jenis aggregate. Contohnya adalah

  • Total visitor bulanan dari tahun 2020 s.d 2021. Artinya metrik = total visitor, dimensi = date
  • Total revenue setiap channel. Artinya metrik = total revenue, sedangkan dimensi = channel

Google telah menyediakan list metrik dan dimensi di sini.

Dalam mengambil data, kadangkala kita hanya perlu metrik, perlu metrik dan dimensi maupun perlu fasilitas filtering. Agar bisa mendapatkan data google analytics sesuai keinginan, maka kita perlu mengetahui

  1. struktur body
  2. nama metrik
  3. nama dimensi
  4. filter dimensi
  5. filter metrik

Berikut ini merupakan variasi pengambilan data berdasarkan kebutuhannya

3.1 Just Metrik

Kadangkala kita cuma butuh satu metrik saja misal total penjualan, total visitor, dan bounce rates tanpa adanya aggregasi. Berikut ini contoh fungsi untuk mendapatkan total visitor. Parameter yang digunakan yaitu hanya daterange dan metrics.

3.2 Metrik with Dimensions

Kadangkala juga kita perlu melakukan aggregasi terhadap suatu metrik, misal total penjualan tiap bulan, total pengunjung tiap halaman dan lainnya. Berikut ini adalah contoh penerapan metrik dan dimensi yaitu mengambil data total visitor bulanan selama tahun 2020.

3.3 Using Filtering

Kita bisa menggunakan filtering pada metrik maupun dimensi. Berikut merupakan contoh penggunaan filtering pada metrik dan dimensinya.

3.4 Filtering Combining OR, AND

Kadangkala kita butuh filtering yang cukup kompleks menggunakan statement OR maupun AND.

Berikut merupakan contoh body yang merupakan perpaduan statement OR & AND.

4. Data Cleaning

Data yang kita dapatkan pada proses sebelumnya dalam format json. Oleh karena itu kita perlu melakukan transformasi data dari json ke dataframe.

5. Its Time for Advance Operation

Setelah data cleaning selesai dilakukan, maka kita sudah bisa melakukan operasi kompleks seperti melakukan join dengan tabel lain, disimpan ke database MySQL, maupun melakukan predictive modelling.

Refference

  1. https://github.com/arofiqimaulana/Grab-Google-Analytics-Data-Via-API
  2. https://developers.google.com/analytics/devguides/reporting/core/v4/basics
  3. https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet#dynamicsegment
  4. https://www.youtube.com/watch?v=Xpx--7g6FKk&ab_channel=TobiasWillmann
  5. https://www.jcchouinard.com/google-analytics-api-using-python/
  6. https://ga-dev-tools.web.app/dimensions-metrics-explorer/

--

--

Data Scientist Jagoan Hosting. Visit my website at www.arofiqimaulana.com

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store