Strategi Mutasi

Panduan ini akan disajikan untuk membuat analog yang sama persis dengan panduan Performa Maksimal yang ada, yang mengasumsikan bahwa Anda akan membuat seluruh kampanye dalam satu permintaan atomik, bukan membuat setiap entitas satu per satu dalam permintaan terpisah. Artinya, Anda harus menggunakan ID sementara untuk menautkan resource satu sama lain, karena Anda tidak akan mengetahui nama resource lengkap hingga 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 berturut-turut ke getNextTempId akan menampilkan angka satu lebih kecil dari sebelumnya. Karena semua ID sementara harus negatif, mulai dari -1.

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

const operations = [];

Anda akan sering kali memerlukan ID pelanggan untuk pelanggan tempat Anda membuat kampanye, karena ID tersebut diperlukan di setiap nama resource.

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

Setiap kali ingin membuat operasi baru, Anda akan menggunakan ID sementara berikutnya di nama resource, sehingga Anda dapat mereferensikan objek ini nanti, dan menyisipkan 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);