대부분의 Google Ads 항목은 식별자를 반환하는 getId() 메서드를 노출합니다. 대부분의 경우 엄격하게 필요한 것은 아니지만 ID는 다음과 같은 경우에 유용할 수 있습니다.
- 보고서 작업
- ID는 보고서 행을 실제 Google Ads 항목에 연결하는 좋은 방법입니다.
- 외부 데이터 저장소와의 매핑 유지
- 이미 자체 데이터베이스에 ID 기반 정보가 저장되어 있을 수 있습니다.
- 성능 향상을 꾀하는 경우
ID로 가져오는 것이 대안보다 빠른 경우가 많습니다. 단일 항목을 가져오는 코드도 약간 더 쉽습니다.
let campaigns = AdsApp.campaigns() .withIds([678678]) .get(); // versus let campaigns = AdsApp.campaigns() .withCondition("Name='My Campaign'") .get();
고유성
캠페인 ID와 광고그룹 ID는 고유합니다. 두 캠페인 또는 광고그룹이 동일한 ID를 공유하지 않습니다. 그러나 광고와 키워드에는 복합 ID가 있습니다. 키워드의 고유 식별자는 광고그룹 ID와 키워드 ID의 조합입니다.
마찬가지로 광고의 고유 식별자는 광고그룹 ID와 광고 ID의 조합입니다. 이는 selector.withIds()가 호출되는 방식에 영향을 미칩니다.
캠페인 및 광고그룹의 경우 selector.withIds()는 숫자 배열을 예상합니다.
let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);
그러나 광고 및 키워드의 경우 selector.withIds()에는 2개 요소 배열의 배열이 필요하며 첫 번째 요소는 광고그룹 ID입니다. 다음 스니펫은 광고그룹에서 세 개의 키워드를 가져옵니다.
let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
[adGroupId, 234234],
[adGroupId, 345345],
[adGroupId, 456456]
]);
광고를 가져올 때도 동일한 구조가 적용됩니다.
임시 ID
여러 작업이 포함된 변경 요청 으로 작업할 때는 API 응답을 받을 때까지 전체 리소스 이름을 사용할 수 없으므로 리소스를 서로 연결하기 위해 임시 ID를 사용해야 하는 경우가 있습니다. 임시 ID는 -1로 시작하는 음수여야 하며 동일한 변경 요청 내에서 반복될 수 없습니다. 임시 ID를 효과적으로 사용하려면 중복된 임시 ID를 만들지 않도록 코드를 작성해야 합니다.
let nextId = -1;
function getNextTempId() {
const ret = nextId;
nextId -= 1;
return ret;
}
getNextTempId에 대한 각 연속 호출은 이전 호출보다 1이 작은 숫자를 반환합니다. 모든 임시 ID는 음수여야 하므로 -1부터 시작합니다.
임시 ID는 작업 또는 변경 요청 간에 기억되지 않습니다. 이전 변경 요청에서 생성된 리소스를 참조하려면 실제 리소스 이름을 사용하세요.