Os scripts do Google Ads oferecem algum gerenciamento das suas campanhas do Shopping. Você pode usar scripts para trabalhar com campanhas do Shopping atuais, criar e gerenciar hierarquias de grupos de produtos e gerar relatórios do Shopping. No entanto, não é possível usar scripts para criar campanhas do Shopping, definir propriedades do Shopping no nível da campanha (por exemplo: prioridade da campanha, filtros de inventário etc.) ou vincular contas do Merchant Center.
Recuperar campanhas do Shopping e grupos de anúncios
As campanhas do Shopping estão disponíveis na coleção shoppingCampaigns de um objeto AdsApp. É possível recuperá-los como de costume usando scripts:
const campaignName = "My first shopping campaign";
const campaignIterator = AdsApp.shoppingCampaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
for (const campaign of campaignIterator) {
...
}
Depois de recuperar uma campanha, você pode acessar os grupos de anúncios dela de maneira semelhante. Isso só é recomendável se você precisar agir na campanha e nos grupos de anúncios dela.
const adGroupIterator = campaign.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
for (const adGroup of adGroupIterator) {
...
}
Se você planeja agir apenas em grupos de anúncios específicos, use o método AdsApp.shoppingAdGroups() para buscar grupos de anúncios sem acessar a campanha primeiro:
const adGroupIterator = AdsApp.shoppingAdGroups()
.withCondition(`campaign.name = "${campaignName}"`)
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
for (const adGroup of adGroupIterator) {
...
}
Anúncios de produtos
Os scripts do Google Ads permitem recuperar seus anúncios de produtos usando o método ads()
da ShoppingAdGroup. Você pode criar novos anúncios de produto usando o método newAdBuilder() de ShoppingAdGroup.
Iterar na hierarquia de grupos de produtos
É possível acessar a raiz da hierarquia de grupos de produtos usando o método
rootProductGroup de ShoppingAdGroup. Em seguida, use o método
children para iterar os grupos de produtos secundários e percorrer a hierarquia
de grupos de produtos. Cada nó é um objeto ProductGroup, e você pode usar o método getDimension para descobrir o tipo real do grupo de produtos. Você também pode converter para um tipo mais específico (por exemplo, ProductBrand) usando o método de conversão correspondente (por exemplo, asBrand). O snippet de código a seguir mostra como percorrer recursivamente a hierarquia de grupos de produtos.
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);
}
}
Selecione um grupo de produtos específico
É possível selecionar grupos de produtos específicos em uma hierarquia com o método
productGroups de uma instância AdsApp, ShoppingCampaign ou
ShoppingAdGroup. Essa abordagem é mais simples do que percorrer toda a hierarquia de grupos de produtos ao selecionar grupos específicos para fins de gerenciamento de lances. O snippet de código a seguir mostra como selecionar todos os grupos de produtos com mais de cinco cliques e uma taxa de cliques superior a 0.01 no último mês e aumentar o lance em 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);
}
}
Atualizar uma hierarquia de grupo de produtos
É possível adicionar um grupo de produtos secundário a um grupo de produtos existente usando o método
newChild. Isso fornece um objeto ProductGroupBuilderSpace, que pode ser usado para criar um grupo de produtos adequado. O
snippet de código a seguir adiciona uma subdivisão para uma marca "cardcow" na raiz
e a subdivide ainda mais para produtos novos e recondicionados.
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();
Da mesma forma, é possível remover uma subdivisão usando o método remove de ProductGroup. Isso também exclui toda a hierarquia de grupos de produtos
abaixo do grupo que está sendo removido.
Os scripts garantem que a hierarquia de grupos de produtos esteja em um estado consistente após a criação de cada grupo. Assim, não é necessário criar ou excluir o grupo de produtos correspondente a "Todo o restante" ao atualizar a estrutura da hierarquia.
O grupo de produtos "Todo o restante"
As hierarquias de grupos de produtos do Shopping têm um grupo "Todo o restante" ("Outros") em cada nível para lidar com produtos que não correspondem à condição personalizada criada na hierarquia. Você pode usar o método
isOtherCase para distinguir entre um grupo de produtos normal que
você adicionou e o grupo de produtos "Outros".
O snippet de código a seguir recupera o grupo de produtos "Outros" na hierarquia raiz e imprime o lance dele.
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.");
}
Quando você subdivide um grupo de produtos folha, os scripts criam automaticamente um grupo "Outros" para garantir que a hierarquia de grupos de produtos permaneça válida. O grupo de produtos "Outros" herda o lance do grupo de produtos principal.
Criar um grupo de anúncios do Shopping
Os scripts do Google Ads permitem criar um grupo de anúncios do Shopping usando o método
newAdGroupBuilder de ShoppingCampaign. Depois de criar
o ShoppingAdGroup, use o método createRootProductGroup
para criar uma nova hierarquia de grupos de produtos.
Relatórios
Os scripts do Google Ads são compatíveis com os relatórios product_group_view e shopping_performance_view para ajudar você a acompanhar a performance das suas campanhas de compras. Saiba mais sobre os relatórios no nosso
guia de relatórios.