идентификаторы

Большинство объектов Google Ads предоставляют метод getId() , который возвращает их идентификатор. Хотя в большинстве случаев идентификаторы не являются строго необходимыми, они могут пригодиться, когда...

Работа с отчетами
Идентификаторы — это удобный способ связать строку отчета с конкретным объектом Google Ads.
Поддержание сопоставления с внешним хранилищем данных.
Возможно, у вас уже есть информация, основанная на идентификаторах, хранящаяся в вашей собственной базе данных.
Ищете способ немного повысить производительность?

Получение данных по идентификаторам часто происходит быстрее, чем альтернативные варианты. Код для получения одной сущности тоже немного проще:

let campaigns = AdsApp.campaigns()
   .withIds([678678])
   .get();
// versus
let campaigns = AdsApp.campaigns()
   .withCondition("Name='My Campaign'")
   .get();

Уникальность

Идентификаторы кампаний и групп объявлений уникальны: ни одна кампания или группа объявлений не будет иметь одинаковый идентификатор. Однако объявления и ключевые слова имеют составные идентификаторы: уникальный идентификатор ключевого слова представляет собой комбинацию идентификатора группы объявлений и идентификатора самого ключевого слова. Аналогично, уникальный идентификатор объявления представляет собой комбинацию идентификатора группы объявлений и идентификатора объявления. Это влияет на способ вызова функции selector.withIds() .

Для кампаний и групп объявлений метод selector.withIds() ожидает массив чисел:

let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);

Однако для объявлений и ключевых слов selector.withIds() требует массив из двух элементов, первый из которых — идентификатор группы объявлений. Следующий фрагмент кода извлекает три ключевых слова из группы объявлений:

let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
    [adGroupId, 234234],
    [adGroupId, 345345],
    [adGroupId, 456456]
]);

Аналогичный принцип применяется и при получении рекламы.

Временные удостоверения личности

При работе с запросом на изменение, содержащим несколько операций, иногда может потребоваться использование временных идентификаторов для связывания ресурсов друг с другом, поскольку полные имена ресурсов станут доступны только после получения ответа от API. Временные идентификаторы должны быть отрицательными числами, начиная с -1, и не могут повторяться в одном и том же запросе на изменение. Для эффективного использования временных идентификаторов необходимо написать код, предотвращающий создание дубликатов временных идентификаторов:

let nextId = -1;

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

Каждый последующий вызов функции getNextTempId будет возвращать число на единицу меньше предыдущего. Поскольку все временные идентификаторы должны быть отрицательными, начните с -1.

Временные идентификаторы не сохраняются между заданиями или запросами на изменение. Чтобы сослаться на ресурс, созданный в предыдущем запросе на изменение, используйте его фактическое имя ресурса.