Stratégie de mutation

Ce guide vous aidera à élaborer une version analogue les guides Performance Max, qui supposent que vous créerez l'intégralité campagne dans une seule requête atomique, au lieu de créer chaque entité une par une dans des requêtes distinctes. Vous devrez donc utiliser des ID auxquels associer les ressources car vous ne connaîtrez pas le nom complet des ressources tant que vous n'aurez pas de réponse.

Pour ce faire, vous devrez écrire du code pour vous assurer que vous n'en créez pas identifiants temporaires en double:

let nextId = -1;

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

Chaque appel successif à getNextTempId renvoie un numéro inférieur à celui de la méthode précédent. Étant donné que tous les identifiants temporaires doivent être négatifs, commencez à -1.

Une fois ceci en place, vous pouvez créer un tableau pour contenir toutes les opérations:

const operations = [];

Vous aurez souvent besoin du numéro du client pour lequel vous effectuez la la campagne, car il est obligatoire dans chaque nom de ressource.

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

Chaque fois que vous voulez créer une nouvelle opération, vous utiliserez l'ID temporaire suivant dans le nom de la ressource afin de pouvoir faire référence à cet objet ultérieurement et insérer le créé dans le tableau:

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

Pour plus d'informations, ainsi qu'un exemple d'opération sur la commande mutate de l'API Google Ads : documentation.

Une fois toutes nos opérations créées, exécutez-les en une seule fois lot:

AdsApp.mutateAll(operations);