변형 전략

이 가이드에서는 개별 요청으로 한 번에 하나씩 항목을 생성하는 대신 단일 원자 요청으로 전체 캠페인을 만든다고 가정하는 기존 실적 최대화 캠페인 가이드와 매우 유사한 내용을 구성합니다. 즉, 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 변형 문서에서 자세한 내용과 연산 예를 확인할 수 있습니다.

모든 작업을 구성한 후에는 단일 배치로 실행합니다.

AdsApp.mutateAll(operations);