Pertimbangkan panduan berikut saat menggunakan BatchJobService.
Meningkatkan throughput
- Lebih sedikit tugas yang lebih besar lebih disukai daripada banyak tugas yang lebih kecil. 
- Mengurutkan operasi yang diupload menurut jenis operasi. Misalnya, jika tugas Anda berisi operasi untuk menambahkan kampanye, grup iklan, dan kriteria grup iklan, urutkan operasi dalam upload Anda sehingga semua operasi kampanye dilakukan terlebih dahulu, diikuti dengan semua operasi grup iklan, dan terakhir semua operasi kriteria grup iklan. 
- Dalam operasi dengan jenis yang sama, performa dapat ditingkatkan dengan mengelompokkannya menurut resource induk. Misalnya, jika Anda memiliki serangkaian objek - AdGroupCriterionOperation, akan lebih efisien untuk mengelompokkan operasi menurut grup iklan, daripada mencampuradukkan operasi yang memengaruhi kriteria grup iklan di grup iklan yang berbeda.
Menghindari masalah konkurensi
- Saat mengirimkan beberapa tugas serentak untuk akun yang sama, coba kurangi kemungkinan tugas beroperasi pada objek yang sama pada saat yang sama, sambil mempertahankan ukuran tugas yang besar. Banyak tugas yang belum selesai, yang memiliki status - RUNNING, mencoba memutasi kumpulan objek yang sama, yang dapat menyebabkan kondisi seperti kebuntuan yang mengakibatkan perlambatan parah dan bahkan kegagalan tugas.
- Jangan mengirimkan beberapa operasi yang mengubah objek yang sama dalam tugas yang sama, karena hasilnya tidak dapat diprediksi. 
Mengambil hasil secara optimal
- Jangan terlalu sering melakukan polling status tugas atau Anda berisiko mengalami error pembatasan kapasitas. 
- Jangan mengambil lebih dari 1.000 hasil per halaman. Server dapat menampilkan lebih sedikit dari itu karena beban atau faktor lain. 
- Urutan hasil akan sama dengan urutan upload. 
Panduan penggunaan tambahan
- Anda dapat menetapkan batas atas durasi tugas batch diizinkan berjalan sebelum dibatalkan. Saat membuat tugas batch baru, tetapkan kolom - metadata.execution_limit_secondske batas waktu pilihan Anda, dalam detik. Tidak ada batas waktu default jika- metadata.execution_limit_secondstidak ditetapkan.
- Sebaiknya tambahkan tidak lebih dari 1.000 operasi per - AddBatchJobOperationsRequestdan gunakan- sequence_tokenuntuk mengupload operasi lainnya ke tugas yang sama. Bergantung pada konten operasi, terlalu banyak operasi dalam satu- AddBatchJobOperationsRequestdapat menyebabkan error- REQUEST_TOO_LARGE. Anda dapat mengatasi error ini dengan mengurangi jumlah operasi dan mencoba lagi- AddBatchJobOperationsRequest.
Batasan
- Setiap - BatchJobmendukung hingga satu juta operasi.
- Setiap akun dapat memiliki hingga 100 tugas aktif atau tertunda secara bersamaan. 
- Tugas tertunda yang sudah lebih dari 7 hari akan otomatis dihapus. 
- Mulai v22, setiap permintaan - AddBatchJobOperationsmemiliki batas 10.000 operasi perubahan per permintaan.
- Mulai v22, untuk kolom - page_sizedi- ListBatchJobResultsRequest:- Jika page_sizetidak disetel atau 0, nilai defaultnya adalah maksimum 1.000.
- Jika page_sizemelebihi 1.000, atau kurang dari 0, API akan menampilkan errorINVALID_PAGE_SIZE.
 
- Jika 
- Setiap - AddBatchJobOperationsRequestmemiliki ukuran maksimum 10.484.504 byte. Jika melebihi batas ini, Anda akan menerima- INTERNAL_ERROR. Anda dapat menentukan ukuran permintaan sebelum mengirimkannya dan mengambil tindakan yang sesuai jika terlalu besar.- Java- static final int MAX_REQUEST_BYTES = 10_484_504; ... (code to get the request object) int sizeInBytes = request.getSerializedSize();- Python- from google.ads.googleads.client import GoogleAdsClient MAX_REQUEST_BYTES = 10484504 ... (code to get the request object) size_in_bytes = request._pb.ByteSize()- Ruby- require 'google/ads/google_ads' MAX_REQUEST_BYTES = 10484504 ... (code to get the request object) size_in_bytes = request.to_proto.bytesize- PHP- use Google\Ads\GoogleAds\V16\Resources\Campaign; const MAX_REQUEST_BYTES = 10484504; ... (code to get the request object) $size_in_bytes = $campaign->byteSize() . PHP_EOL;- .NET- using Google.Protobuf; const int MAX_REQUEST_BYTES = 10484504; ... (code to get the request object) int sizeInBytes = request.ToByteArray().Length;- Perl- use Devel::Size qw(total_size); use constant MAX_REQUEST_BYTES => 10484504; ... (code to get the request object) my $size_in_bytes = total_size($request);