Migrasi

Infrastruktur skrip Google Ads baru didasarkan pada Google Ads API. Karena arsitektur API yang berbeda, Anda mungkin perlu mengupdate skrip yang ada. Kami telah melakukan segala upaya untuk memastikan kompatibilitas mundur sebanyak mungkin, sehingga perubahan ini harus kecil.

Laporan

Banyak laporan AWQL akan terus berfungsi. Di balik layar, jika menggunakan infrastruktur baru, skrip akan mengonversi kueri AWQL Anda ke GAQL (bahasa kueri baru untuk Google Ads API), menjalankannya untuk backend baru, lalu mengonversi hasilnya kembali ke format yang awalnya digunakan oleh laporan AWQL. Kueri dengan GAQL akan diteruskan apa adanya.

Karena overhead ini, sebaiknya periksa skrip dan perbarui kueri AWQL ke GAQL jika memungkinkan. Anda dapat menggunakan alat migrasi kueri yang menggunakan logika yang sama dengan skrip untuk menentukan kueri GAQL untuk kueri AWQL tertentu, atau menggunakan builder kueri interaktif untuk membantu membuat kueri.

Berikut adalah beberapa pembatasan untuk terjemahan otomatis AWQL ke GAQL:

  • Tidak semua kueri AWQL diterjemahkan dengan baik ke kueri GAQL. Dalam kasus ini, pesan error yang berisi beberapa detail tentang masalah yang terjadi akan dicatat dalam log untuk membantu Anda memperbaikinya secara manual.
  • Tidak semua jenis laporan dari AWQL didukung di GAQL.
  • GAQL tidak memiliki dukungan untuk "baris tayangan nol". Penetapan bahwa laporan harus menyertakan nol tayangan akan menghasilkan error.
  • Beberapa kolom ambigu tidak dapat digunakan dalam filter. Misalnya, "Judul" dapat mereferensikan sejumlah bidang iklan yang berbeda.
  • Beberapa kolom dapat menampilkan hasil dalam format yang berbeda, misalnya, membagi satu hasil menjadi banyak kolom.

Mengatur pemilih

Saat mengambil resource menggunakan skrip, cukup umum menggunakan panggilan withCondition dan orderBy untuk membatasi atau mengurutkan hasil di iterator. Kolom dalam panggilan ini sekarang menggunakan nama Google Ads API baru. Misalnya, untuk memfilter berdasarkan nama kampanye, sebelumnya Anda harus menggunakan:

.withCondition('CampaignName = "SOME_CAMPAIGN_NAME"')

Sekarang, Anda harus menggunakan nama kolom baru untuk kondisi ini jika memungkinkan:

.withCondition('campaign.name = "SOME_CAMPAIGN_NAME"')

Dengan demikian, kami telah berupaya untuk menyertakan pemetaan nama lama ke nama baru. Jadi, jika skrip Anda masih menggunakan CampaignName, skrip tersebut akan otomatis diganti dengan campaign.name saat runtime untuk memastikan skrip masih berfungsi. Jika Anda mengalami masalah dengan nama gaya lama, perbarui skrip Anda agar menggunakan nama gaya baru sebagai langkah pertama pemecahan masalah.

Batas

Banyak batasan yang sama seperti batasan pada infrastruktur lama, dan perubahan yang dibuat di sini umumnya akan membantu meningkatkan performa.

  • Batas waktu sama. Skrip dapat dijalankan selama 30 menit.
  • Iterator tunggal menampilkan 50.000 entity secara default, tetapi ini dapat diganti. Sebelumnya, batas 50.000 ini tidak dapat disesuaikan.
  • Satu pemilih dapat menangani maksimal 10.000 ID (tidak berubah).
  • Infrastruktur baru tidak memiliki batasan jumlah entity yang dapat diproses dalam satu skrip. Sebelumnya batasnya 250.000.
  • Infrastruktur baru ini tidak membatasi jumlah kata kunci atau iklan yang dapat dibuat per eksekusi. Sebelumnya batasnya 250.000.
  • Output logging terpotong pada 100 kb (tidak berubah).
  • Kuota untuk layanan Apps Script (SpreadsheetApp, MailApp, dll.) tidak berubah.
  • Kuota untuk Google Ads akan diberlakukan seolah-olah Anda menggunakan API. Artinya, skrip Anda akan tunduk pada pembatasan kapasitas API, tetapi hal ini memungkinkan fleksibilitas yang lebih besar untuk mengakses lebih banyak laporan atau membuat lebih banyak perubahan per eksekusi.

Perubahan lainnya

ExecutionInfo tidak lagi mengekspos getRemainingCreateQuota() atau getRemainingGetQuota() karena kuota tersebut tidak lagi berlaku di versi baru.