変更戦略

このガイドは、既存の P-MAX ガイドとまったく同じように作成されます。このガイドでは、各エンティティを個別のリクエストで 1 つずつ作成するのではなく、キャンペーン全体を 1 つのアトミック リクエストで作成することを前提としています。つまり、API レスポンスを取得するまで完全なリソース名がわからないため、リソースを相互にリンクするには一時 ID を使用する必要があります。

これを行うには、重複する一時 ID が作成されないように、コードを記述する必要があります。

let nextId = -1;

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

getNextTempId を呼び出すたびに、前回よりも 1 少ない数が返されます。すべての一時 ID は負の値にする必要があるため、-1 から開始します。

これで、すべてのオペレーションを保持する配列を作成できるようになりました。

const operations = [];

キャンペーンを作成するお客様のお客様 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 mutate のドキュメントで例をご覧ください。

すべてのオペレーションを構築したら、1 つのバッチで実行します。

AdsApp.mutateAll(operations);