Campañas de Shopping

Las secuencias de comandos de Google Ads te permiten administrar parte de 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, configurar propiedades de Shopping a nivel de la campaña (por ejemplo: prioridad de campaña, filtros de inventario, etc.) ni vincular cuentas de Merchant Center.

Recuperación de campañas de Shopping y grupos de anuncios

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 hayas recuperado una campaña, puedes obtener sus grupos de anuncios de manera similar. Esto solo es preferible si necesitas tomar medidas en la campaña y en sus grupos de anuncios.

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

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

Si planeas actuar solo en grupos de anuncios específicos, puedes utilizar 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 mediante el método ads() de ShoppingAdGroup. Puedes crear anuncios de productos nuevos con el método newAdBuilder() de ShoppingAdGroup.

Cómo iterar a través de la jerarquía del grupo de productos

Puedes acceder a la raíz de la jerarquía de grupos 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 los grupos de productos. Cada nodo es un objeto ProductGroup y puedes usar el método getDimension para averiguar el tipo real de grupo de productos. También puedes transmitirlo a un tipo más específico (por ejemplo, ProductBrand) con el método de transmisión correspondiente (por ejemplo, asBrand). En el siguiente fragmento de código, se muestra cómo recorrer de manera recursiva la jerarquía del grupo 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);
  }
}

Seleccionar 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 AdsApp, ShoppingCampaign o ShoppingAdGroup. Este enfoque es más simple que recorrer toda la jerarquía del grupo de productos cuando se seleccionan grupos de productos específicos para fines de 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 una tasa de clics superior a 0.01 durante el último mes, y cómo aumenta 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);
  }
}

Actualizar una jerarquía de grupo de productos

Puedes agregar un grupo de productos secundario a otro existente mediante el método newChild. Esto te proporciona un objeto ProductGroupBuilderSpace, que puedes usar para crear un grupo de productos adecuado. En el siguiente fragmento de código, se agrega una subdivisión para una marca "cardcow" debajo de la raíz y, luego, la subdivide en 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();

Del mismo modo, 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 quitará.

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

El grupo de productos "Todo lo demás"

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

El siguiente fragmento de código recupera el grupo de productos "Otro" en la jerarquía del grupo de productos raíz y, luego, 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 de hoja, las secuencias de comandos crean automáticamente un grupo de productos llamado “Otro” para garantizar que la jerarquía del grupo de productos siga siendo válida. El grupo de productos "Otro" hereda la oferta del grupo de productos principal.

Crear un grupo de anuncios de Shopping nuevo

Las secuencias de comandos de Google Ads te permiten crear un grupo de anuncios de Shopping nuevo mediante el método newAdGroupBuilder de ShoppingCampaign. Una vez que crees la 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 los informes 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 los informes en nuestra guía de informes.