Integrasi
Integrasi Google Sheets untuk custom metric
Integrasi Google Sheets di AdOps bersifat baca saja. AdOps menunjuk satu spreadsheet lewat file ID, satu sheet lewat nama, satu kolom lookup yang dicocokkan dengan campaign yang sedang dievaluasi, dan satu kolom nilai. Barisnya disimpan di memori selama 2 menit dan dicadangkan ke database sendiri.
Akses read-only ke satu spreadsheet lewat ID, nama sheet, kolom pencarian, dan kolom nilai, supaya rule bisa membandingkan metrik Meta dengan angka Anda sendiri.
Dalam angka
Angka di balik koneksi ini
- Jendela cache di memori
- 2 menit sejak set baris terakhir dibaca Jendelanya dihitung dari pembacaan terakhir, bukan dari waktu pengambilan, jadi set yang dibaca terus-menerus tetap tinggal di memori.
- Stempel refresh cermin data
- 2 menit setelah pengambilan CSV export, 5 menit setelah fallback Sheets API
- Timeout unduh CSV
- 30 detik
- Urutan pengambilan
- CSV export dulu, klien Sheets API kedua, cermin di database terakhir
- Akses
- Sebuah service account Google yang memegang scope Drive dan Spreadsheets
- Tempat custom metric bisa dipakai
- Metrik kondisi, metrik pembanding, besaran budget, dan token nama campaign
Pertukarannya
Apa yang dibaca AdOps, dan apa yang ditulisnya.
Dua daftar, tanpa ringkasan di antaranya. Apa pun yang tidak ada di kolom tulis berarti tidak bisa diubah AdOps di sistem ini.
Yang dibaca AdOps
Setiap field yang diminta engine, dan tidak lebih.
- Satu spreadsheet, dialamatkan lewat file ID yang diambil dari URL-nya
- Satu sheet di dalam spreadsheet itu, dialamatkan lewat nama sheet
- Kolom pencarian, dicocokkan dengan campaign ID yang sedang dievaluasi
- Kolom nilai, dibaca dari baris pertama yang kolom pencariannya cocok
- Seluruh baris sheet, diunduh sebagai CSV dari endpoint export Google dengan timeout 30 detik
- Gid internal sheet, diselesaikan sekali per nama sheet lalu di-cache
Yang ditulis AdOps
Setiap perubahan yang mampu dilakukan engine.
- Tidak ada. AdOps tidak pernah menulis sel, baris, sheet, atau file kembali ke Google Sheets
- Satu-satunya penyimpanan terjadi di dalam AdOps: baris yang diambil dicerminkan ke databasenya sendiri, dengan kunci unik file ID dan nama sheet
Data contoh AdOps membaca Google Sheets supaya sebuah rule bisa bertindak berdasarkan angka yang tidak pernah dilihat Meta. Satu custom metric menyimpan spreadsheet ID, nama sheet, kolom pencarian, dan kolom nilai; saat evaluasi, AdOps mencocokkan baris pertama yang kolom pencariannya sama dengan campaign ID lalu membaca kolom nilai baris itu sebagai nilai metriknya.
Integrasi ini sebenarnya untuk apa?
Target ROAS per lini produk, margin riil per SKU, level stok, angka revenue offline, tabel fee. Semua itu hidup di spreadsheet back-office yang memang sudah diurus seseorang, dan Meta tidak tahu apa-apa soal itu. Mengikatnya ke sebuah custom metric membuat rule bisa membandingkan metrik Meta live dengan angka tersebut, sehingga otomasi bisa mem-pause campaign yang Purchase ROAS-nya jatuh di bawah target produk itu sendiri, bukan di bawah satu angka yang dipatok sama rata untuk seluruh akun.
Begitu didefinisikan, custom metric berperilaku seperti metrik lain di builder. Ia bisa jadi sisi kiri sebuah kondisi, jadi metrik pembanding, jadi besaran yang ditulis action budget, dan jadi token di dalam template nama campaign.
Bagaimana AdOps mengambil sebuah sheet?
Tiga lapis, dicoba berurutan. Pertama endpoint CSV export langsung, dengan timeout 30 detik, dibaca parser yang paham tanda kutip: koma di dalam sel berkutip tetap utuh, kutip ganda ditangani, nama header dirapikan, dan baris yang jumlah kolomnya tidak cocok dengan header dibuang, jadi export yang berantakan tidak bisa menggeser nilai ke kolom yang salah. Kalau itu gagal, AdOps mencoba lewat klien Google Sheets yang diautentikasi dengan service account Google pemegang scope Drive dan Spreadsheets. Kalau Google sama sekali tidak bisa dihubungi, AdOps memakai baris terakhir yang dicerminkannya ke database sendiri.
Baris yang sudah diambil di-cache di memori dengan kunci file ID dan nama sheet. Entrinya tetap dilayani selama masih dibaca minimal sekali tiap 2 menit dan dibuang setelah 2 menit tanpa pembacaan, artinya satu batch berisi ratusan campaign yang menunjuk sheet yang sama hanya menghabiskan satu kali unduhan. Cermin yang tersimpan diberi stempel refresh 2 menit setelah pengambilan CSV dan 5 menit setelah fallback API yang lebih lambat.
Batasan apa yang perlu Anda tahu?
Ada dua, dan kami sebut terang-terangan. Jendela cache dihitung dari pembacaan terakhir, jadi sheet yang diakses terus-menerus tidak diunduh ulang pada jadwal tetap: rule yang jalan beruntun melihat satu snapshot sepanjang batch. Lalu, karena cermin di database adalah fallback terakhir, error dari Google tidak selalu terlihat oleh rule. Kalau akses ke spreadsheet dicabut tapi salinan lama masih ada, evaluasi lanjut memakai baris terakhir yang diketahui, bukan berhenti.
Custom metric juga membaca satu baris per baris formula, yaitu baris pertama yang kolom pencariannya cocok, bukan menjumlahkan semua baris yang cocok. Kalau satu nilai pencarian muncul dua kali di sheet, hanya kemunculan pertama yang dibaca.
Bagaimana cara menyiapkan sebuah metric?
Di Custom Metrics, buat metric dengan nama, deskripsi opsional, dan Google Spreadsheet ID dari URL sheet, lalu pilih Google Sheets sebagai sumber data dan isi nama sheet, kolom pencarian, serta kolom nilai. Proses simpan memvalidasi ke sheet yang hidup: kalau nama kolom tidak ada, simpan ditolak dan AdOps menampilkan kolom yang ditemukannya.
Pertanyaan
Yang sering ditanyakan soal koneksi ini.
Jawaban langsung, lengkap dengan angkanya.
Seberapa segar angka yang dibaca rule dari Google Sheet?
Satu set baris yang sudah diambil ditahan di memori dan tetap dilayani selama masih dibaca minimal sekali tiap 2 menit; set itu baru dibuang dan diambil ulang setelah 2 menit berlalu tanpa pembacaan. Pada batch besar yang membuat ratusan campaign membaca sheet yang sama secara beruntun, semua campaign dalam batch itu melihat snapshot yang sama.
Apa yang terjadi kalau Google Sheets tidak bisa dihubungi?
AdOps memakai baris terakhir yang dicerminkannya untuk file ID dan nama sheet itu, jadi rule tetap berjalan alih-alih gagal. Fallback yang sama berlaku ketika Google mengembalikan error izin atau not found sementara salinan lama masih ada, artinya spreadsheet yang aksesnya dicabut bisa tetap dievaluasi memakai baris terakhir yang diketahui.
Apakah AdOps mengubah spreadsheet saya?
Tidak. Integrasi ini read-only. AdOps mengunduh baris sheet dan tidak pernah menulis sel, menambah baris, mengganti nama tab, atau membuat file. Tidak ada bagian produk yang menyunting spreadsheet.
Apa yang sebenarnya dihitung sebuah custom metric?
Ia mencocokkan baris pertama yang kolom pencariannya sama dengan campaign ID lalu membaca kolom nilai baris itu sebagai angka. Satu metric bisa memuat lebih dari satu baris formula, dan hasil tiap barisnya dijumlahkan.
Bagaimana saya tahu nama kolomnya benar sebelum menyimpan?
Proses simpan membaca sheet lebih dulu dan memeriksa bahwa kolom pencarian dan kolom nilai benar-benar ada. Kalau salah satu tidak ketemu, AdOps menolak simpan dan menampilkan panel validasi berisi daftar kolom yang ditemukan plus checklist perbaikannya.
Bisakah beberapa rule memakai satu spreadsheet yang sama?
Bisa. Baris di-cache berdasarkan file ID dan nama sheet, bukan per rule, jadi banyak rule dan banyak campaign dalam satu batch berbagi satu kali pembacaan sheet yang sama.
Coba koneksi ini di akun Anda sendiri.
Semua integrasi di halaman ini termasuk dalam semua paket. Hubungkan, biarkan rule pertama Anda berstatus draft, lalu baca log-nya setelah run pertama.