Skrip Iklan Google untuk Mengelola Anggaran Kampanye
Diterbitkan: 2021-10-23Saat ini, sebagai pengiklan yang menggunakan Google Ads, mengelola anggaran tertentu berdasarkan kampanye merupakan perjuangan universal. Opsi Anda di UI bersifat tunggal: tetapkan aturan yang mengecualikan setiap jam. Pertanyaan saya kenapa? Bukankah bagus untuk memiliki skrip untuk dikelola di tingkat kampanye, melalui lembar pada tahun 2019? Butuh beberapa waktu tetapi saya menemukan jawabannya, yang akan Anda lihat di bawah. Kemampuan untuk mengelola anggaran dalam satu skrip dengan satu lembar di beberapa kampanye.
Sebelum kita melanjutkan ke skrip, jika Anda menetapkan aturan untuk tidak mengatakan bahwa aturan itu tidak bagus untuk pengelolaan anggaran, berikut adalah contoh cara membuat aturan yang memiliki batasan pengaturan waktu untuk menjeda atau mengaktifkan kampanye Anda berdasarkan anggaran untuk kampanye. Anda dapat menemukan detail tambahan di sini dengan aturan otomatis .
- Masuk ke akun Google Ads Anda.
- Buka halaman Kampanye , Grup Iklan , atau Kata Kunci .
- Klik ikon 3 titik di atas tabel statistik.
- Pilih Buat aturan otomatis .
- Pilih Jeda atau Aktifkan dari tarik-turun “Jenis aturan”.
- Pilih Jenis Kampanye yang mana
- Untuk menambahkan kondisi, klik +TAMBAHKAN , di bawah “Kondisi”.
- Tentukan frekuensi aturan Anda yaitu Sekali, Harian, Mingguan, atau Bulanan .
- Pilih jenis pembaruan email yang ingin Anda terima terkait masalah yang memengaruhi aturan Anda.
- Beri nama aturan Anda.
- Klik Pratinjau untuk memastikan Anda telah menyiapkan aturan agar berjalan seperti yang Anda inginkan. Pratinjau hanya untuk verifikasi dan tidak membuat perubahan permanen pada akun Anda.
- Setelah selesai, klik Simpan aturan .
Ada manfaat aturan, dalam pikiran saya demi anggaran, tidak terlalu berharga. Sehingga membuat kita harus membayar alat & atau memiliki pengembang atau insinyur untuk membuat beberapa skrip mewah atau platform internal yang bekerja dengan API Google. Bagaimana jika saya tidak memiliki akses ke sumber daya tersebut dan yang ingin saya lakukan hanyalah menjadi pengiklan? Saya tidak bisa, saya harus belajar coding dan hal-hal API untuk menyertakan tetap up-to-date pada semua perubahan dan peningkatan UI, yang dapat Anda temukan di PPC Hero Library.
Mengapa Anda membaca dan bagaimana skrip bekerja.
Skrip ini mengelola anggaran Anda di tingkat kampanye per jam melalui lembar google, sehingga Anda dapat menskalakan. Sepengetahuan saya dan saya telah menjelajahi web, ini adalah yang pertama untuk umum. Saya tidak menulis naskah aslinya. Yang dapat ditemukan di sini oleh Google. Saya hanya menghapus banyak hal dengan banyak percobaan dan kesalahan selama periode waktu 1 tahun dan mengerjakan kembali beberapa hal untuk membuatnya mengelola anggaran, bukan tawaran.
Script memungkinkan Anda fleksibilitas pengaturan anggaran Anda dan melupakannya dengan alasan. Jika Anda ingin menjadi gila, Anda dapat melakukan apa yang saya lakukan dan menggunakan skrip ini dengan skrip mondar-mandir dengan beberapa lembar google kustom sehingga Anda memiliki alat manajemen anggaran dan penawar sendiri. Saya pikir jika seseorang dapat membuat alat untuk melakukan hal ini dan menghasilkan jutaan dolar, pasti ada cara gratis untuk melakukannya.
Saya yakin, hampir positif ada cara yang lebih baik untuk menulis skrip ini dan lebih dari pasti ada cara untuk melakukannya di tingkat PKS untuk mengelola banyak akun. Saya belum mengetahuinya. Akan sangat bagus bagi mereka yang melihat ini yang merupakan pengembang, dan atau insinyur, untuk membuat penyesuaian pada skrip ini dan membagikan versi gratis di tingkat PKS dengan peningkatan Anda sendiri.
Cara mengatur skrip
Sebelum Anda menjalankan skrip, berikut adalah beberapa hal yang perlu Anda ubah.
- Buat Google Spreadsheet baru. Di sinilah skrip akan mengetahui kampanye mana yang akan Dijeda atau Dibatalkan, setelah Anda membuat lembar baru, salin URL-nya.
- Pastikan nama Tab Anda disetel ke "Aturan" jika tidak, pastikan Anda memperbarui baris ini di mana "Aturan diubah menjadi apa pun Nama Tab Anda: var spreadsheetAccess = new SpreadsheetAccess(SPREADSHEET_URL, " Rules ")
- Masih bekerja di Google Sheets, perbarui Baris 2 dengan nomor akun Anda "000-000-0000" ganti dengan nomor Anda sendiri.
- Baris 3 adalah referensi jangka waktu untuk menjalankan skrip Anda, jika Anda ingin mengeksekusi setelah 7 hari, 1 minggu atau sebulan. Rujuk tabel di bawah ini untuk masukan yang valid untuk baris ini karena berkaitan dengan tujuan Anda dalam mengontrol anggaran.
- Mulai dari baris 6, kolom C, Anda ingin menambahkan anggaran untuk periode tersebut
- Terakhir, di baris 6, kolom D, Anda ingin mencantumkan kampanye Anda.
Saya harap ini membantu Anda semua dalam mengontrol anggaran Anda dengan lebih baik. Hampir lupa, Anda dapat mengubah campaign.pause dalam script untuk campaign.enable dan menyesuaikan rumus sederhana jika Anda ingin menduplikasi script dan membuat script lain untuk mengaktifkan kampanye.
Naskah
var SPREADSHEET_URL = "[https://docs.google.com/spreadsheets/d/1AbldNxsSPHkE0WcOY01AoM7EimF2_7XDrvI5FeLcarY/edit#gid=0]"; var spreadsheetAccess = new SpreadsheetAccess(SPREADSHEET_URL, "Rules"); var totalColumns; function main() { var columns = spreadsheetAccess.sheet.getRange(5, 2, 5, 100).getValues()[0]; for (var i = 0; i < columns.length; i ++) { if (columns[i].length == 0 || columns[i] == 'Results') { totalColumns = i; break; } } if (columns[totalColumns] != 'Results') { spreadsheetAccess.sheet.getRange(5, totalColumns + 2, 1, 1).setValue("Results"); } // clear the results column spreadsheetAccess.sheet.getRange(6, totalColumns + 2, 1000, 1).clear(); var row = spreadsheetAccess.nextRow(); while (row != null) { var budget; try { budget = parseBudget(row); } catch (ex) { logError(ex); row = spreadsheetAccess.nextRow(); continue; } var selector = AdWordsApp.campaigns(); for (var i = 2; i < totalColumns; i ++) { var header = columns[i]; var value = row[i]; if (!isNaN(parseFloat(value)) || value.length > 0) { if (header.indexOf("'") > 0) { value = value.replace(/\'/g,"\\'"); } else if (header.indexOf("\"") > 0) { value = value.replace(/"/g,"\\\""); } var condition = header.replace('?', value); selector.withCondition(condition); } } var campaigns = selector.get(); try { campaigns.hasNext(); } catch (ex) { logError(ex); row = spreadsheetAccess.nextRow(); continue; } var fetched = 0; var changed = 0; while (campaigns.hasNext()) { var campaign = campaigns.next(); var oldCost = campaign.getStatsFor("THIS_MONTH").getCost(); var action = row[0]; var newStatus; fetched ++; if (budget <= oldCost) { campaign.pause(); changed++ } } logResult("Fetched " + fetched + "\nChanged " + changed); row = spreadsheetAccess.nextRow(); } var now = new Date(Utilities.formatDate(new Date(), AdWordsApp.currentAccount().getTimeZone(), "MMM dd,yyyy HH:mm:ss")); } function parseBudget(row) { if (row[1].length == 0) { return null; } var limit = parseFloat(row[1]); if (isNaN(limit)) { throw "Bad Argument: must be a number."; } return limit; } function logError(error) { spreadsheetAccess.sheet.getRange(spreadsheetAccess.currentRow(), totalColumns + 2, 1, 1) .setValue(error) .setFontColor('#c00') .setFontSize(8) .setFontWeight('bold'); } function logResult(result) { spreadsheetAccess.sheet.getRange(spreadsheetAccess.currentRow(), totalColumns + 2, 1, 1) .setValue(result) .setFontColor('#444') .setFontSize(8) .setFontWeight('normal'); } function SpreadsheetAccess(spreadsheetUrl, sheetName) { this.spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl); this.sheet = this.spreadsheet.getSheetByName(sheetName); this.cells = this.sheet.getRange(6, 2, this.sheet.getMaxRows(), this.sheet.getMaxColumns()).getValues(); this.rowIndex = 0; this.nextRow = function() { for (; this.rowIndex < this.cells.length; this.rowIndex ++) { if (this.cells[this.rowIndex][0]) { return this.cells[this.rowIndex++]; } } return null; } this.currentRow = function() { return this.rowIndex + 5; } }