Las secuencias de comandos de Google Ads proporcionan cierta administración de tus campañas de Shopping. Puedes usar scripts 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 scripts 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.) ni vincular cuentas de Merchant Center.
Cómo recuperar campañas de Shopping y grupos de anuncios
Las campañas de Shopping están disponibles a través de la shoppingCampaigns colección
de un AdsApp objeto. Puedes recuperarlas como de costumbre a través de scripts:
const campaignName = "My first shopping campaign";
const campaignIterator = AdsApp.shoppingCampaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
for (const campaign of campaignIterator) {
...
}
Una vez que recuperes una campaña, podrás obtener sus grupos de anuncios de manera similar. Esto solo es preferible si necesitas actuar sobre 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 actuar solo en grupos de anuncios específicos, puedes usar el
AdsApp.shoppingAdGroups() método
para obtener grupos de anuncios sin obtener la campaña primero:
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 ads()
método de ShoppingAdGroup. Puedes crear anuncios de productos nuevos con
el método newAdBuilder() de ShoppingAdGroup.
Cómo iterar en la jerarquía de grupos de productos
Puedes acceder a la raíz de la jerarquía de grupos de productos con el
rootProductGroup método de la ShoppingAdGroup. Luego, puedes usar
el children método 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 en 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);
}
}
Cómo seleccionar un grupo de productos específico
Puedes seleccionar grupos de productos específicos en una jerarquía de grupos de productos con el
productGroups método de una instancia AdsApp, ShoppingCampaign o
ShoppingAdGroup. Este enfoque es más sencillo 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 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);
}
}
Cómo actualizar una jerarquía de grupos de productos
Puedes agregar un grupo de productos secundario a un grupo de productos existente con su
newChild método. Esto te proporciona un ProductGroupBuilderSpace
objeto, que luego 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 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 remove método de
ProductGroup. Esto también borra toda la jerarquía de grupos de productos debajo del grupo de productos que se quita.
Los scripts se asegurarán de que la jerarquía de grupos de productos esté en un estado coherente después de crear cada grupo de productos, por lo que no necesitas crear ni borrar el grupo de productos correspondiente a "Todo lo demás" cuando actualizas la estructura de la jerarquía de grupos 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" ("Other") 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
isOtherCase método para distinguir entre un grupo de productos normal que
agregaste y el grupo de productos "Other".
En el siguiente fragmento de código, se recupera el grupo de productos "Other" en la jerarquía de grupos 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, los scripts crean automáticamente un grupo de productos "Other" para garantizar que la jerarquía de grupos de productos siga siendo válida. El grupo de productos "Other" hereda la oferta del grupo de productos superior.
Cómo crear un nuevo grupo de anuncios de Shopping
Las secuencias de comandos de Google Ads te permiten crear un nuevo grupo de anuncios de Shopping con el
newAdGroupBuilder método de ShoppingCampaign. Una vez que crees
el ShoppingAdGroup, puedes usar su createRootProductGroup
método para crear una nueva jerarquía de grupos de productos.
Informes
Las secuencias de comandos de Google Ads admiten 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.