Google Ads API menyediakan beberapa cara untuk mengubah resource, bergantung pada kasus penggunaan Anda:
- Mutasi layanan resource: Setiap
resource yang dapat diubah memiliki layanan khusus yang menjalankan operasi untuk
jenis resource tertentu tersebut. Misalnya, resource
Campaignmenggunakan endpointCampaignService.MutateCampaignsuntuk membuat, memperbarui, atau menghapus kampanye. - Mutasi massal: Endpoint
GoogleAdsService.Mutatemembungkus urutan operasi mutasi di beberapa jenis resource (dan, di v23 dan yang lebih baru, operasi tindakan yang didukung seperti kampanye pemesanan atau penawaran harga) dalam satu permintaan sinkron. - Pekerjaan batch asinkron: Untuk
mutasi skala besar atau beban kerja yang berjalan lama,
BatchJobServicemenjalankan operasi secara asinkron tanpa risiko waktu tunggu permintaan sinkron. Tidak sepertiGoogleAdsService.Mutate,BatchJobServiceselalu dieksekusi dengan semantik kegagalan parsial dan tidak mendukung modevalidate_onlyatau operasi tindakan (book_campaigns_operation,quote_campaigns_operation). Karena kegagalan parsial selalu aktif,BatchJobServicemenolak operasi resource yang layanan dasarnya tidak mendukung kegagalan parsial (sepertiCustomerOperation,CampaignConversionGoalOperation,ConversionGoalCampaignConfigOperation,CustomConversionGoalOperation, danCustomerConversionGoalOperation) denganMutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE.
Manfaat mutasi massal
Penggunaan GoogleAdsService.Mutate memberikan manfaat berikut
(lihat Praktik terbaik mutasi untuk panduan
penerapan):
- Tindakan yang dikelompokkan di berbagai layanan resource: Jika panggilan layanan resource individual hanya menerima operasi untuk satu jenis resource,
GoogleAdsService.Mutatememungkinkan Anda mengubah beberapa jenis resource dalam satu panggilan. - Nama resource sementara: Anda dapat menetapkan ID bilangan bulat negatif (seperti
customers/CUSTOMER_ID/campaigns/-1) ke entitas induk yang baru dibuat dan mereferensikan ID sementara tersebut dalam operasi turunan dalam permintaan yang sama.
Dengan kemampuan ini, Anda dapat menggunakan GoogleAdsService.Mutate untuk
membuat seluruh hierarki kampanye secara atomik sehingga semua operasi berhasil atau
gagal bersama-sama, atau menetapkan partial_failure ke true untuk melakukan operasi yang valid
secara independen.