ID

La mayoría de las entidades de Google Ads exponen un método getId() que muestra su identificador. Aunque no es estrictamente necesario en la mayoría de los casos, los IDs pueden ser útiles cuando

Trabajas con informes
Los IDs proporcionan una buena manera de vincular una fila de informe con la entidad real de Google Ads.
Mantienes una asignación con un almacén de datos externo
Es posible que ya tengas información basada en IDs almacenada en tu propia base de datos.
Buscas un poco de aumento de rendimiento

La recuperación por IDs suele ser más rápida que las alternativas. El código para recuperar una sola entidad también es un poco más fácil:

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

Unicidad

Los IDs de campaña y los IDs de grupo de anuncios son únicos: ninguna campaña ni grupo de anuncios compartirán el mismo ID. Sin embargo, los anuncios y las palabras clave tienen IDs compuestos: un identificador único de una palabra clave es una combinación de su ID de grupo de anuncios y su ID de palabra clave. Del mismo modo, un identificador único de un anuncio es una combinación de su ID de grupo de anuncios y su ID de anuncio. Esto tiene implicaciones en la forma en que se llama a selector.withIds().

Para las campañas y los grupos de anuncios, selector.withIds() espera un array de números:

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

Sin embargo, para los anuncios y las palabras clave, selector.withIds() necesita un array de arrays de dos elementos, en el que el primer elemento es el ID del grupo de anuncios. El siguiente fragmento recupera tres palabras clave de un grupo de anuncios:

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

La misma construcción se aplica cuando se recuperan anuncios.

IDs temporales

Cuando trabajes con una solicitud de mutación con varias operaciones, ocasionalmente deberás usar IDs temporales para vincular recursos entre sí, ya que los nombres de recursos completos no estarán disponibles hasta que obtengas la respuesta de la API. Los IDs temporales deben ser números negativos que comiencen con -1 y no se pueden repetir dentro de la misma solicitud de mutación. Para usar los IDs temporales de manera eficaz, deberás escribir código para asegurarte de no crear IDs temporales duplicados:

let nextId = -1;

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

Cada llamada sucesiva a getNextTempId mostrará un número inferior al anterior. Dado que todos los IDs temporales deben ser negativos, comienza con -1.

Los IDs temporales no se recuerdan en los trabajos ni en las solicitudes de mutación. Para hacer referencia a un recurso creado en una solicitud de mutación anterior, usa su nombre de recurso real.