Modificación de la estrategia

Esta guía se presentará para construir un análogo exacto de las guías existentes de las campañas de máximo rendimiento, que suponen que crearás toda la campaña en una sola solicitud atómica, en lugar de crear cada entidad de a una por vez en solicitudes separadas. Esto significa que deberás usar IDs temporales para vincular recursos entre sí, ya que no conocerás los nombres completos de los recursos hasta que obtengas la respuesta de la API.

Para ello, 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 devolverá un número inferior en uno al anterior. Dado que todos los IDs temporales deben ser negativos, comienza con -1.

Con esto, ahora puedes crear un array para contener todas las operaciones:

const operations = [];

Con frecuencia, necesitarás el ID de cliente del cliente para el que creas la campaña, ya que se requiere en cada nombre de recurso.

const customerId = AdsApp.currentAccount().getCustomerId();

Cada vez que quieras crear una operación nueva, usarás el siguiente ID temporal en el nombre del recurso para poder hacer referencia a este objeto más adelante y, luego, insertar el objeto creado en el array:

const newOperation = {
    [OPERATION_TYPE_VARIES]: {
        create: {
            resourceName: `customers/${customerId}/[EXACT_PATH_VARIES]/${getNextTempId()}`
            // Other fields, relevant to the resource being created.
        }
    }
}
operations.push(newOperation);

Puedes leer más y ver un ejemplo de operación en la documentación de la operación de mutación de la API de REST de Google Ads.

Una vez que hayas construido todas nuestras operaciones, ejecútalas en un solo lote:

AdsApp.mutateAll(operations);