Cara BigQuery membantu pemasar internet: beberapa trik dengan SQL dan visualisasi laporan di Google Data Studio

Igor Galichin, kepala pengembangan seluler di Axmor, memberi tahu blog Netology tentang bagaimana seorang pemasar dengan pengetahuan SQL (atau dengan sedikit bantuan dari sesama insinyur) dapat mengatasi masalah menyediakan perilaku pengguna di aplikasi Android.



Artikel ini berguna bagi mereka yang bekerja dengan aplikasi Android, meluncurkan kampanye iklan di dalamnya, menganalisis hasil, dan yang kesal karena Google Analytics tidak dapat lagi digunakan untuk ini. Artikel ini berisi petunjuk tentang cara menghubungkan BigQuery ke Firebase dan merender dengan indah di Data Studio.



Axmor telah mengembangkan aplikasi seluler sejak 2010. Pada 2016, salah satu maskapai penerbangan terbesar di Rusia memerintahkan kami untuk merevisi dan mengembangkan lebih lanjut aplikasi klien Android untuk penjualan tiket. Antara lain, tugas kami termasuk pengembangan alat untuk mengumpulkan analitik untuk promosi, yang secara teratur dilakukan di dalam aplikasi, dan menyediakan data dalam bentuk visual. 



Hingga tahun 2020, kami menggunakan Google Analytics untuk tujuan ini - serta di aplikasi kami yang lain. Namun pada 4 Februari, perusahaan tersebut menonaktifkan fitur ini dan merekomendasikan untuk beralih ke Firebase Analytics. Ternyata SDK ini (dari kit pengembangan perangkat lunak bahasa Inggris) tidak memberikan semua kemungkinan yang disediakan sebelumnya, khususnya, tidak memungkinkan pembuatan laporan non-standar.   



Apa batasan Firebase Analytics dan apa yang harus dilakukan dengannya



Untuk menggambarkan pengalaman kami dalam memecahkan masalah ini, mari kita buka aplikasi penjualan tiket pesawat. Saat Google Analytics dinonaktifkan dan Firebase Analytics menggantikannya, kami dihadapkan pada tugas untuk menjaga kedalaman analisis perilaku pengguna yang sama untuk pelanggan, meninggalkan kemampuan untuk dengan cepat menyiapkan laporan non-standar baru dan pada saat yang sama memberikan visualisasi yang indah dan dapat diakses. 



Di Google Analytics, kita dapat melihat layar mana yang dituju pengguna, tujuan mana mereka mencari tiket, dari kota mana mereka, berapa banyak dari mereka yang diberi otorisasi dalam aplikasi, dan berapa banyak yang anonim. Plus, kami selalu melihat berapa banyak tiket yang dibeli untuk setiap arah, bagaimana penjualan untuk arah tertentu meningkat setelah promosi, dan seterusnya. Dengan Firebase Analytics, bagian kedua dari statistik ini, tempat kami dapat menganalisis konversi secara mendetail, hanya tersedia dalam bentuk mentah, yang berarti kami memerlukan cara untuk memperkayanya. 



Inilah yang dapat kita lakukan di Firebase Analytics: 



  • mengatur acara pembelian;
  • dalam parameter kami menunjukkan nama produk - arah atau pengidentifikasi dan harganya;
  • kemudian, dalam laporan di website, kita bisa melihat berapa banyak tiket yang terjual untuk penerbangan mana, harga beli rata-rata, berapa total pembelian yang dilakukan. 


Informasi dalam ilustrasi tidak sesuai dengan yang asli; semua gambar telah diubah untuk kepentingan rahasia dagang. Ini tidak memengaruhi kebermaknaan dan kejelasan contoh, pada dasarnya kami hanya menunjukkan kemampuan Firebase.






Di sini kita bisa melihat ke arah mana berapa banyak tiket yang telah dibeli oleh berapa banyak pengguna. Pelanggan ingin tahu, misalnya, berapa harga pembelian tiket untuk rute Yekaterinburg-Moskow. Firebase Analytics tidak memberikan jawaban seperti itu. 







Isi informasi laporan dibatasi oleh kumpulan parameter standar - kami hanya melihat gambaran umum. 



Contoh lain dari analisis data, yang dalam kasus kami tidak dapat diterapkan sepenuhnya di Firebase Analytics: aplikasi menampilkan iklan internal untuk penerbangan dan petunjuk arah. Pelanggan ingin mengetahui berapa banyak pengguna yang melihat iklan tersebut yang kemudian membeli tiket. Dan, tentu saja, dengan perincian pendapatan berdasarkan komoditas, saham, dan sebagainya. Sekali lagi, alat standar tidak memberi kami kesempatan ini. 



Cara menggunakan BigQuery untuk menganalisis penjualan di dalam aplikasi Android



Kami mulai mencari cara untuk mendapatkan laporan visual cepat di berbagai bagian. Jika diperlukan analisis data yang lebih dalam, Google menyarankan untuk menghubungkan layanan web BigQuery. Tapi dalam pemahaman kami, itu seperti meriam di burung pipit, karena alat itu diklaim bekerja dengan data besar. Namun, setelah studi mendetail tentang alat tersebut, ternyata alat tersebut cocok bahkan untuk tugas-tugas yang memerlukan analisis data dalam jumlah yang relatif kecil, tetapi pada saat yang sama tidak standar. Yang pasti, selama beberapa tahun terakhir konsep Big Data telah berubah - sekarang yang tidak nyaman untuk diproses di Excel.



Koneksi BigQuery



Menghubungkan BigQuery ke Firebase Analytics itu sederhana. Di hampir setiap halaman Firebase Analytics, Google menyarankan untuk melakukan ini. Ada instruksi rinci untuk ini.



Satu-satunya peringatan adalah untuk menghubungkan BigQuery ke data peristiwa, Anda perlu beralih ke paket pembayaran Blaze di Firebase. Ini berarti Anda akan dikenakan biaya untuk layanan Firebase saat Anda menggunakannya. Menurut pengalaman kami, layanan BigQuery tidak mahal jika digunakan dengan hati-hati pada proyek kecil. 



Dengan paket gratis melalui BigQuery, Anda hanya dapat mengakses data Crashlytics, Predictions, Cloud Messaging, dan Performance Monitoring. 



Anda perlu memahami bahwa BigQuery bukan bagian dari Firebase Analytics. Ini adalah layanan Google terpisah yang dirancang untuk menangani data dalam jumlah besar. Dalam kasus ini, Firebase Analytics untuk BigQuery adalah salah satu sumber data yang memungkinkan. Menghubungkan BigQuery akan memungkinkan Anda menemukan korelasi dan lebih banyak wawasan. 



Apa yang terjadi setelah tersambung 



Setelah menghubungkan BigQuery ke Firebase Analytics, kami dapat melihat data yang dikumpulkan dalam bentuk mentah. Kami hanya mendapatkan akses ke data yang dikumpulkan setelah menghubungkan BigQuery ke proyek kami. Jika Anda menghubungkan BigQuery hari ini, maka Anda dapat memproses data yang diterima mulai hari ini, data kemarin tidak akan.



Jadi, kami menghubungkan semuanya, kami pergi ke halaman utama layanan. Kami melihat proyek kami dalam sumber daya. Ada satu tabel di data - events. Semua data dari Firebase Analytics dikumpulkan di sini. 







Faktanya, ini bukan satu tabel. Data untuk setiap hari ditempatkan dalam tabel dengan nama events_<>, misalnya events_20200308



Mari kita lihat datanya sendiri. Semua peristiwa dari Firebase Analytics dicatat dalam tabel events_*. Setiap baris dalam tabel adalah acara terpisah. Banyak kolom mewakili parameter peristiwa: tanggal, informasi perangkat, informasi pengguna, dan sebagainya. Meskipun datanya ditampilkan dalam tabel, itu tidak sepenuhnya biasa. Ini lebih merupakan representasi tabular dari struktur pohon. Di bawah ini adalah contoh struktur JSON dari baris tabel. Singkatnya, tidak semua data dimasukkan ke dalam struktur, tetapi gambaran keseluruhan dapat dipahami darinya:







Melihat struktur datanya, Anda dapat melihat bahwa itu berisi:



  • . , - . : event_date, event_timestamp, event_name.
  • -. , , event_params user_properties. โ€” . . โ€” --. ,
  • -. โ€” device. . โ€” device.category, device.operating_system device.operating_system_version.


Jika struktur datanya terlihat rumit pada awalnya, maka pemeriksaan lebih dekat itu menjadi lebih mudah. Pada akhirnya, kami memiliki informasi tentang semua peristiwa dari Firebase Analytics di tangan kami. Dan kami hanya perlu mengekstrak data yang kami butuhkan darinya. 

Mari kita coba membuat beberapa permintaan. Misalnya, mari kita tampilkan semua tanggal acara:

    

SELECT event_date

FROM `project_name.data_set.events_20200202`


Kita lihat hasilnya:







project_name.data_set.events_20200202dalam hal ini, nama tabel tertentu, yang terdiri dari nama proyek, nama kumpulan data, dan tabel harian dengan peristiwa dari Firebase Analytics. Artinya, dalam kueri ini kami mendapatkan tanggal acara dari tabel di mana ada acara untuk 2 Februari :) Tidak terlalu berguna, tetapi sebagai contoh kueri akan dilakukan. Pada kenyataannya, akan lebih berguna untuk mengambil sampel dari semua data yang tersedia. Dalam kasus ini, Anda dapat menentukan alih-alih tabel tertentu project_name.data_set.events_*. Mari tambahkan kegunaan ke permintaan dan cari tahu, misalnya, tanggal dan kota acara dengan nama "booking_purchase":

    

SELECT geo.city, event_date

FROM `project_name.data_set.events_*`

WHERE event_name = "booking_purchase" and geo.city != ""


Kita mendapatkan:







Yang menarik hanya bidang khusus dalam tabel - array. Mis event_params. Direkomendasikan untuk menggunakan operator UNNEST untuk bekerja dengan bidang seperti itu . Operator ini mengambil kolom array dan mengubahnya menjadi tabel. 

Mari tingkatkan kueri kita dan tampilkan nilai parameter "direction":

    

SELECT 
geo.city, 
event_date,
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = "direction") AS direction,
    	
FROM
`project_name.data_set.events_*`
    	
WHERE
event_name = "booking_purchase" and geo.city != ""


Hasil:







Jadi apa yang telah kami tambahkan. Kami telah menerapkan operator UNNEST ke lapangan event_params. Hasilnya, kami mendapat tabel di mana garis-garisnya adalah parameter acara, dan kolomnya adalah properti dari parameter ini. Parameter memiliki dua properti: kunci dan nilai. nilai - obyek dengan 4 bidang: string_value, int_value, float_valuedan double_value. Bidang-bidang ini diperlukan untuk tipe data yang berbeda, karena nilai parameternya bisa berupa string, int, float, double. Kemudian, melalui subkueri, kami mengeluarkan nilai string dari parameter dengan bidang keysama direction. Beginilah cara Anda bekerja dengan bidang array dalam tabel.



Mari kita dapatkan apa yang tidak bisa diberikan Firebase Analytics - uraian pendapatan untuk setiap produk yang dijual di aplikasi:



  1. Di Firebase Analytics, kami melewati peristiwa pembelian "booking_purchase"
  2. Di dalamnya, kami melewatkan dua parameter: "direction"dan "price". arah - pengenal produk, harga - harganya.


Saya ingin tahu berapa banyak produk yang terjual dan berapa jumlahnya. Permintaan untuk mencari tahu terlihat seperti ini:



SELECT
  	
direction,
  	
count(direction) as count,
  	
sum(price) as total_sum
FROM
(
    	
SELECT
      	
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = "direction") AS direction,
      	
(SELECT value.double_value FROM UNNEST(event_params) WHERE key = "price") AS price
    	
FROM
        	
`project_name.data_set.events_*`
    	
WHERE
      	
event_name = "booking_purchase"
      	
)
group by direction
order by total_sum desc


Hasil:







Kami mendapatkan data yang kami inginkan. 



Cara merender laporan di Data Studio



Misalkan seorang pelanggan ingin masuk dan melihat statistik penjualan kapan saja. Anda dapat menyimpan kueri dan memberi tahu pelanggan bahwa mereka dapat membuka konsol BigQuery, menjalankan kueri, dan melihat hasilnya. Tapi Google menawarkan solusi yang lebih baik. 



Hasil kueri dapat divisualisasikan di layanan Data Studio. Layanan tersebut memungkinkan Anda untuk menyajikan data dalam bentuk tabel, grafik, diagram, keindahan dan fungsionalitas yang tidak kalah dengan yang dari Firebase Analytics. Mari kita lihat bagaimana Anda bisa melakukan ini.



Untuk membuat laporan, Anda perlu pergi ke halaman utama layanan dan membuat dokumen baru. Pilih BigQuery sebagai sumber data:







Laporan dapat dibuat dari tabel, tampilan yang disimpan, atau langsung dengan kueri. Opsi terakhir memungkinkan Anda menggunakan parameter tanggal. Dengan menggunakan parameter ini, Anda dapat membatasi pemilihan data berdasarkan tanggal, sehingga mengoptimalkan jumlah data yang diproses. Hasilnya menyerupai antarmuka Google Analytics dan Firebase - tentang bentuk dan fungsi yang sama. Korporasi tampaknya telah mengambil praktik terbaiknya dalam hal visualisasi dan membuatnya tersedia untuk umum: 







Kami menambahkan kondisi sehingga pemilihan hanya untuk peristiwa yang terjadi di antara parameter DS_START_DATEdan DS_END_DATE. Parameter ini akan diteruskan ke permintaan langsung dari formulir laporan. Kami membuat laporan dan langsung melihat sesuatu seperti ini:







Selanjutnya, Anda dapat menambahkan pilihan rentang tanggal. Untuk melakukan ini, tambahkan

komponen yang sesuai ke formulir :







Tanggal yang dipilih dalam komponen ini akan langsung masuk ke kueri sebagai parameter DS_START_DATEdan DS_END_DATE. Hasilnya, dalam mode tampilan laporan akan terlihat seperti ini:







Dengan cara yang sama, Anda dapat menambahkan dan menyesuaikan komponen lain di formulir - grafik, bagan, gambar, teks, dan sebagainya. Setelah itu, laporan tersebut dapat dibagikan melalui berbagi tautan atau dengan memberikan akses ke akun yang diperlukan.  



BiqQuery adalah alat yang efektif untuk tidak ditakuti



Aplikasi seluler adalah alat penjualan dan pemasaran yang andal, terutama saat menggunakan pendekatan berdasarkan data. Anda tidak perlu takut dengan BiqQuery, dan menganggap alat ini rumit, dan secara umum, Big Data terlalu keren untuk Anda. BigQuery akan meningkatkan departemen analitik Anda ke level Spotify, Delivery Food, dan raksasa data lainnya serta memberikan kinerja yang sama dengan yang mereka nikmati dengan biaya yang lebih rendah dengan SQL paling sederhana yang harus dikuasai oleh setiap analis progresif, baik dalam pemasaran atau pemasaran. di dalam produk. 



Manfaat BigQuery:



  • Ini dikonfigurasi dengan cepat dan memungkinkan Anda memproses data dalam hitungan detik. Tidak ada server, tidak ada infrastruktur yang mahal dan tidak ada administrator. 
  • , , , : , , -, CRM.
  • , โ€” .  
  • SQL โ€” . 
  • Data Studio, .




  • - ยซSQLยป.
  • ยซ ยป. 
  • - ยซBig Data ยป. 
  • ยซ-ยป.



All Articles