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. - Bulk mutates: Endpoint
GoogleAdsService.Mutatemenggabungkan urutan operasi mutasi di beberapa jenis resource (dan operasi tindakan yang didukung seperti pemesanan atau penawaran harga kampanye) dalam satu permintaan sinkron. - Tugas batch asinkron: Untuk mutasi skala besar atau workload yang berjalan lama,
BatchJobServicemenjalankan operasi secara asinkron tanpa risiko waktu tunggu permintaan sinkron. Tidak sepertiGoogleAdsService.Mutate,BatchJobServiceselalu dijalankan dalam 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 Mutate untuk panduan
penerapan):
- Tindakan yang dikelompokkan di berbagai layanan resource: Meskipun 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 parent entity 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 commit operasi yang valid
secara independen.