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 una a la vez en solicitudes separadas. Esto significa que deberás usar IDs temporales para vincular los recursos entre sí, ya que no conocerás los nombres de los recursos completos hasta que obtengas la respuesta de la API.

Para ello, deberás escribir código para asegurarte de no crear ningún ID temporal duplicado:

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, ahora puedes crear un array para contener todas las operaciones:

const operations = [];

A menudo, necesitarás el ID de cliente para el que creas la campaña, ya que es obligatorio 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 obtener más información y ver una operación de ejemplo en la documentación de la API de Google Ads para la mutación de REST.

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

AdsApp.mutateAll(operations);