Campagnes Shopping

Les scripts Google Ads permettent de gérer vos campagnes Shopping. Vous pouvez utiliser des scripts pour travailler avec des campagnes Shopping existantes, créer et gérer des hiérarchies de groupes de produits, et générer des rapports Shopping. Toutefois, vous ne pouvez pas utiliser de scripts pour créer des campagnes Shopping, définir des propriétés Shopping au niveau de la campagne (par exemple, la priorité de la campagne, les filtres d'inventaire, etc.) ni associer des comptes Merchant Center.

Récupération des campagnes et groupes d'annonces Shopping

Les campagnes Shopping sont disponibles via la collection shoppingCampaigns d'un objet AdsApp. Vous pouvez les récupérer comme d'habitude via des scripts:

const campaignName = "My first shopping campaign";

const campaignIterator = AdsApp.shoppingCampaigns()
    .withCondition(`campaign.name = "${campaignName}"`)
    .get();

for (const campaign of campaignIterator) {
  ...
}

Une fois que vous avez récupéré une campagne, vous pouvez obtenir ses groupes d'annonces de la même manière. Cette option n'est préférable que si vous devez agir à la fois sur la campagne et ses groupes d'annonces.

const adGroupIterator = campaign.adGroups()
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
    ...
}

Si vous ne prévoyez d'agir que sur des groupes d'annonces spécifiques, vous pouvez utiliser la méthode AdsApp.shoppingAdGroups() pour extraire les groupes d'annonces sans d'abord extraire la campagne:

const adGroupIterator = AdsApp.shoppingAdGroups()
    .withCondition(`campaign.name = "${campaignName}"`)
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
    ...
}

Annonces pour un produit

Les scripts Google Ads vous permettent de récupérer vos annonces pour des produits à l'aide de la méthode ads() de ShoppingAdGroup. Vous pouvez créer de nouvelles annonces produit à l'aide de la méthode newAdBuilder() de ShoppingAdGroup.

Itérer dans la hiérarchie des groupes de produits

Vous pouvez accéder à la racine de la hiérarchie des groupes de produits à l'aide de la méthode rootProductGroup de ShoppingAdGroup. Vous pouvez ensuite utiliser la méthode children pour itérer les groupes de produits enfants et parcourir la hiérarchie des groupes de produits. Chaque nœud est un objet ProductGroup. Vous pouvez utiliser la méthode getDimension pour déterminer le type réel du groupe de produits. Vous pouvez également le caster en un type plus spécifique (par exemple, ProductBrand) à l'aide de la méthode de casting correspondante (par exemple, asBrand). L'extrait de code suivant montre comment parcourir de manière récursive la hiérarchie des groupes de produits.

walkTree(shoppingAdGroup.rootProductGroup(), 1);

function walkTree(root, level) {
  // Logger.log(root.getDimension());
  let description = "";
  switch (root.getDimension()) {
    case "ROOT":
      description = "Root";
      break;

    case "CATEGORY":
      description = root.asCategory().getName();
      break;

    case "BRAND":
      description = root.asBrand().getName();
      break;

    // Handle more types here.
    ...
  }

  if (root.isOtherCase()) {
    description = "Other";
  }

  const padding = new Array(level + 1).join('-');
  console.log("%s, %s, %s, %s, %s, %s",
             padding,
             description,
             root.getDimension(),
             root.getMaxCpc(),
             root.isOtherCase(),
             root.getId().toFixed());
  const children = root.children().get();
  for (const child of children) {
    walkTree(child, level + 1);
  }
}

Sélectionner un groupe de produits spécifique

Vous pouvez sélectionner des groupes de produits spécifiques dans une hiérarchie de groupes de produits à l'aide de la méthode productGroups d'une instance AdsApp, ShoppingCampaign ou ShoppingAdGroup. Cette approche est plus simple que d'explorer l'ensemble de la hiérarchie des groupes de produits lorsque vous sélectionnez des groupes de produits spécifiques à des fins de gestion des enchères. L'extrait de code suivant montre comment sélectionner tous les groupes de produits ayant enregistré plus de cinq clics et un taux de clics supérieur à 0.01 au cours du dernier mois, et comment augmenter leur enchère de 0.01.

function main() {
  const productGroups = AdsApp.productGroups()
      .withCondition("metrics.clicks > 5")
      .withCondition("metrics.ctr > 0.01")
      .forDateRange("LAST_MONTH")
      .get();
  for (const productGroup of productGroups) {
    productGroup.setMaxCpc(productGroup.getMaxCpc() + 0.01);
  }
}

Mettre à jour la hiérarchie d'un groupe de produits

Vous pouvez ajouter un sous-groupe de produits à un groupe de produits existant à l'aide de sa méthode newChild. Vous obtenez ainsi un objet ProductGroupBuilderSpace, que vous pouvez ensuite utiliser pour créer un groupe de produits approprié. L'extrait de code suivant ajoute une subdivision pour une marque "cardcow" sous la racine, puis la subdivise en produits neufs et reconditionnés.

const root = shoppingAdGroup.rootProductGroup();

// Add a brand product group for a "cardcow" under root.
const brandProductGroup = root.newChild()
    .brandBuilder()
    .withName("cardcow")
    .withBid(1.2)
    .build()
    .getResult();

// Add new conditions for New and Refurbished cardcow brand items.
const newItems = brandProductGroup.newChild()
    .conditionBuilder()
    .withCondition("New")
    .withBid(1.5)
    .build()
    .getResult();

// Refurbished items will use the bid from "cardcow" product group.
const refurbishedItems = brandProductGroup.newChild()
    .conditionBuilder()
    .withCondition("Refurbished")
    .build()
    .getResult();

De même, vous pouvez supprimer une subdivision à l'aide de la méthode remove de ProductGroup. Cette opération supprime également toute la hiérarchie des groupes de produits sous le groupe de produits supprimé.

Les scripts s'assurent que la hiérarchie des groupes de produits est cohérente après la création de chaque groupe de produits. Vous n'avez donc pas besoin de créer ni de supprimer le groupe de produits correspondant à "Tout le reste" lorsque vous mettez à jour la structure de la hiérarchie des groupes de produits.

Groupe de produits "Tout le reste"

Les hiérarchies de groupes de produits Shopping contiennent un groupe de produits "Tout le reste" ("Autre") à chaque niveau pour gérer les produits qui ne correspondent pas à la condition personnalisée que vous avez créée dans la hiérarchie des groupes de produits. Vous pouvez utiliser la méthode isOtherCase pour distinguer un groupe de produits normal que vous avez ajouté du groupe de produits "Autre".

L'extrait de code suivant récupère le groupe de produits "Autre" dans la hiérarchie des groupes de produits racine, puis imprime son enchère.

const root = shoppingAdGroup.rootProductGroup();

const childProductGroups = root.children().get();
let everythingElseProductGroupFound = false;

for (const childProductGroup of childProductGroups) {
  if (childProductGroup.isOtherCase()) {
    console.log("'Everything else' product group found. Type of the " +
               "product group is %s and bid is %s.",
               childProductGroup.getDimension(),
               childProductGroup.getMaxCpc());
    everythingElseProductGroupFound = true;
    break;
  }
}
if (!everythingElseProductGroupFound) {
  console.log("No 'Everything else' product group found under root " +
             "product group.");
}

Lorsque vous subdivisez un groupe de produits de niveau feuille, les scripts créent automatiquement un groupe de produits "Autre" pour s'assurer que la hiérarchie des groupes de produits reste valide. Le groupe de produits "Autre" hérite de l'enchère du groupe de produits parent.

Créer un groupe d'annonces Shopping

Les scripts Google Ads vous permettent de créer un groupe d'annonces Shopping à l'aide de la méthode newAdGroupBuilder de ShoppingCampaign. Une fois que vous avez créé ShoppingAdGroup, vous pouvez utiliser sa méthode createRootProductGroup pour créer une hiérarchie de groupes de produits.

Rapports

Les scripts Google Ads sont compatibles avec les rapports product_group_view et shopping_performance_view pour vous aider à suivre les performances de vos campagnes Shopping. Pour en savoir plus sur le signalement, consultez notre guide sur les signalements.