このガイドでは、既存の P-MAX ガイドに完全に対応するものです。これらのガイドでは、個別のリクエストで一度に 1 つずつエンティティを作成するのではなく、単一のアトミック リクエストでキャンペーン全体を作成することを前提としています。つまり、API レスポンスを取得するまで完全なリソース名はわからないため、一時 ID を使用してリソースを相互にリンクする必要があります。
そのためには、重複した一時 ID が作成されないようにコードを記述する必要があります。
let nextId = -1;
function getNextTempId() {
const ret = nextId;
nextId -= 1;
return ret;
}
getNextTempId
を連続して呼び出すたびに、前の値よりも 1 小さい数値が返されます。一時 ID はすべて負の値にする必要があるため、-1 から開始します。
これで、すべてのオペレーションを格納する配列を作成できます。
const operations = [];
お客様 ID はすべてのリソース名で必要になるため、多くの場合、キャンペーンを作成する顧客のお客様 ID が必要になります。
const customerId = AdsApp.currentAccount().getCustomerId();
新しいオペレーションを作成するたびに、このオブジェクトを後で参照し、作成したオブジェクトを配列に挿入できるように、リソース名に次の一時 ID を使用します。
const newOperation = {
[OPERATION_TYPE_VARIES]: {
create: {
resourceName: `customers/${customerId}/[EXACT_PATH_VARIES]/${getNextTempId()}`
// Other fields, relevant to the resource being created.
}
}
}
operations.push(newOperation);
オペレーションの詳細と例については、Google Ads API REST の変換に関するドキュメントをご覧ください。
すべてのオペレーションを作成したら、1 つのバッチで実行します。
AdsApp.mutateAll(operations);