Campañas de Shopping

Las secuencias de comandos de Google Ads permiten administrar tus campañas de Shopping. Puedes usar secuencias de comandos para trabajar con campañas de Shopping existentes, crear y administrar jerarquías de grupos de productos, y ejecutar informes de Shopping. Sin embargo, no puedes usar secuencias de comandos para crear campañas de Shopping, establecer propiedades de Shopping a nivel de la campaña (por ejemplo, prioridad de la campaña, filtros de inventario, etcétera) ni vincular cuentas de Merchant Center.

Recupera campañas y grupos de anuncios de Shopping

Las campañas de Shopping están disponibles a través de la colección shoppingCampaigns de un objeto AdsApp. Puedes recuperarlos como de costumbre a través de secuencias de comandos:

const campaignName = "My first shopping campaign";

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

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

Una vez que recuperaste una campaña, puedes obtener sus grupos de anuncios de manera similar. Esto solo es preferible si necesitas tomar medidas en relación con la campaña y sus grupos de anuncios.

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

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

Si planeas tomar medidas solo en grupos de anuncios específicos, puedes usar el método AdsApp.shoppingAdGroups() para recuperar grupos de anuncios sin recuperar primero la campaña:

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

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

Anuncios de productos

Las secuencias de comandos de Google Ads te permiten recuperar tus anuncios de productos con el método ads() de ShoppingAdGroup. Puedes crear anuncios de productos nuevos con el método newAdBuilder() de ShoppingAdGroup.

Itera en la jerarquía del grupo de productos

Puedes acceder a la raíz de la jerarquía del grupo de productos con el método rootProductGroup de ShoppingAdGroup. Luego, puedes usar el método children para iterar los grupos de productos secundarios y recorrer la jerarquía de grupos de productos. Cada nodo es un objeto ProductGroup, y puedes usar el método getDimension para determinar el tipo real del grupo de productos. También puedes convertirlo a un tipo más específico (por ejemplo, ProductBrand) con el método de conversión correspondiente (por ejemplo, asBrand). En el siguiente fragmento de código, se muestra cómo recorrer de forma recursiva la jerarquía de grupos de productos.

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);
  }
}

Selecciona un grupo de productos específico

Puedes seleccionar grupos de productos específicos en una jerarquía de grupos de productos con el método productGroups de una instancia de AdsApp, ShoppingCampaign o ShoppingAdGroup. Este enfoque es más simple que recorrer toda la jerarquía de grupos de productos cuando se seleccionan grupos de productos específicos para la administración de ofertas. En el siguiente fragmento de código, se muestra cómo seleccionar todos los grupos de productos con más de cinco clics y un porcentaje de clics superior a 0.01 durante el último mes, y cómo aumentar su oferta en 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);
  }
}

Actualiza una jerarquía de grupos de productos

Puedes agregar un grupo de productos secundario a un grupo de productos existente con su método newChild. Esto te proporciona un objeto ProductGroupBuilderSpace que puedes usar para compilar un grupo de productos adecuado. En el siguiente fragmento de código, se agrega una subdivisión para una marca "cardcow" en la raíz y, luego, se subdivide aún más para los productos nuevos y reacondicionados.

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 manera similar, puedes quitar una subdivisión con el método remove de ProductGroup. Esta acción también borra toda la jerarquía del grupo de productos que se encuentra debajo del grupo de productos que se quita.

Las secuencias de comandos garantizarán que la jerarquía del grupo de productos se encuentre en un estado coherente después de crear cada grupo de productos, por lo que no es necesario que crees ni borres el grupo de productos correspondiente a "Todo lo demás" cuando actualices la estructura de la jerarquía del grupo de productos.

El grupo de productos "Todo lo demás"

Las jerarquías de grupos de productos de Shopping contienen un grupo de productos "Todo lo demás" ("Otro") en cada nivel para controlar los productos que no coinciden con la condición personalizada que creaste en la jerarquía de grupos de productos. Puedes usar el método isOtherCase para distinguir entre un grupo de productos normal que agregaste y el grupo de productos "Otros".

En el siguiente fragmento de código, se recupera el grupo de productos "Otro" en la jerarquía del grupo de productos raíz y se imprime su oferta.

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.");
}

Cuando subdivides un grupo de productos hoja, las secuencias de comandos crean automáticamente un grupo de productos "Otro" para garantizar que la jerarquía del grupo de productos siga siendo válida. El grupo de productos "Otros" hereda la oferta del grupo de productos principal.

Crea un grupo de anuncios de Shopping nuevo

Los secuencias de comandos de Google Ads te permiten crear un grupo de anuncios de Shopping nuevo con el método newAdGroupBuilder de ShoppingCampaign. Una vez que crees el objeto ShoppingAdGroup, puedes usar su método createRootProductGroup para crear una nueva jerarquía de grupos de productos.

Informes

Las secuencias de comandos de Google Ads admiten informes de product_group_view y shopping_performance_view para ayudarte a hacer un seguimiento del rendimiento de tus campañas de Shopping. Puedes obtener más información sobre las denuncias en nuestra guía de denuncias.