Modificación de la estrategia

Se presentará esta guía para crear una análoga exacta de las guías existentes de las campañas de máximo rendimiento, en las que se supone que crearás toda la campaña en una sola solicitud atómica, en lugar de crear cada entidad una a la vez en solicitudes separadas. Esto significa que deberás usar IDs temporales para vincular recursos entre sí, ya que no sabrás los nombres completos de los recursos hasta que obtengas la respuesta de la API.

Para ello, tendrás que 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 uno menos que el anterior. Dado que todos los IDs temporales deben ser negativos, comienza en -1.

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

const operations = [];

Con frecuencia, necesitarás el ID de cliente del cliente en el que crearás la campaña, ya que es obligatorio en todos los nombres de recursos.

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

Cada vez que desees crear una operación nueva, usarás el siguiente ID temporal en el nombre del recurso para que puedas hacer referencia a este objeto más tarde e 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 obtener más información y ver una operación de ejemplo en la documentación sobre cambios de REST de la API de Google Ads.

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

AdsApp.mutateAll(operations);