Strategi Mutasi

Panduan ini akan disajikan untuk membuat analog yang tepat dengan panduan Performa Maksimal yang ada, yang mengasumsikan bahwa Anda akan membuat seluruh kampanye dalam satu permintaan atomik, bukan membuat setiap entity satu per satu dalam permintaan terpisah. Ini berarti Anda harus menggunakan ID sementara untuk menautkan resource satu sama lain, karena Anda tidak akan tahu nama resource lengkap sampai Anda mendapatkan respons API.

Untuk melakukannya, Anda harus menulis beberapa kode untuk memastikan bahwa Anda tidak membuat ID sementara duplikat:

let nextId = -1;

function getNextTempId() {
    const ret = nextId;
    nextId -= 1;
    return ret;
}

Setiap panggilan yang berurutan ke getNextTempId akan menampilkan angka satu lebih kecil dari sebelumnya. Karena semua ID sementara harus negatif, mulailah dari -1.

Dengan penerapan ini, Anda kini dapat membuat array untuk menyimpan semua operasi:

const operations = [];

Anda akan sering memerlukan ID pelanggan untuk pelanggan yang Anda buatkan kampanye, karena ID ini diperlukan di setiap nama resource.

const customerId = AdsApp.currentAccount().getCustomerId();

Setiap kali ingin membuat operasi baru, Anda harus menggunakan ID sementara berikutnya dalam nama resource, sehingga Anda dapat mereferensikan objek ini nanti, dan memasukkan objek yang dibuat ke dalam array:

const newOperation = {
    [OPERATION_TYPE_VARIES]: {
        create: {
            resourceName: `customers/${customerId}/[EXACT_PATH_VARIES]/${getNextTempId()}`
            // Other fields, relevant to the resource being created.
        }
    }
}
operations.push(newOperation);

Anda dapat membaca selengkapnya dan melihat contoh operasi di dokumentasi mutasi REST Google Ads API.

Setelah Anda membuat semua operasi, jalankan dalam satu batch:

AdsApp.mutateAll(operations);