変更戦略

このガイドでは、既存の 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);