Os scripts do Google Ads permitem gerenciar algumas campanhas do Shopping. É possível usar scripts para trabalhar com campanhas do Shopping, 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.
Recuperação de campanhas e grupos de anúncios do Shopping
As campanhas do Shopping estão disponíveis na coleção
shoppingCampaigns
de um objeto
AdsApp
. Você
pode extraí-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ó é preferível se você precisar agir na campanha e nos grupos de anúncios.
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 buscar 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
Com os scripts do Google Ads, você pode
extrair
seus anúncios de produtos usando o
método
ads()
do
ShoppingAdGroup
.
É possível
criar
novos anúncios de produto usando o método
newAdBuilder()
do
ShoppingAdGroup
.
Iterar pela hierarquia do grupo de produtos
É possível acessar a raiz da hierarquia de grupos de produtos usando o método
rootProductGroup
do
ShoppingAdGroup
.
Em seguida, use o método
children
para iterar os grupos de produtos filhos 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 convertê-lo
em um tipo mais específico (por exemplo,
ProductBrand
)
usando o método de conversão correspondente (por exemplo,
asBrand
).
O snippet de código abaixo mostra como percorrer recursivamente a hierarquia
do grupo 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);
}
}
Selecionar um grupo de produtos específico
É possível selecionar grupos de produtos específicos em uma hierarquia com o método
productGroups
de uma
AdsApp
,
ShoppingCampaign
ou
ShoppingAdGroup
instância. Essa abordagem é mais simples do que percorrer toda a hierarquia de grupos de produtos
ao selecionar grupos de produtos 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 maior que 0.01
durante
o último mês e aumenta 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 grupos de produtos
É possível adicionar um grupo de produtos filho a um grupo de produtos existente usando o
método
newChild
. Isso gera 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 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
do
ProductGroup
.
Isso também exclui toda a hierarquia do grupo de produtos abaixo do grupo
que está sendo removido.
Os scripts garantem que a hierarquia do grupo de produtos esteja em um estado consistente após a criação de cada grupo de produtos. Assim, não é necessário criar ou excluir o grupo de produtos correspondente a "Todos os outros" ao atualizar a estrutura da hierarquia do grupo de produtos.
O grupo de produtos "Todo o restante"
As hierarquias de grupos de produtos do Shopping contêm um grupo de produtos "Todos os outros" em cada nível para processar itens que não correspondem à condição personalizada criada na hierarquia. Você pode usar o método
isOtherCase
para distinguir um grupo de produtos normal adicionado de um grupo de produtos "Outros".
O snippet de código abaixo recupera o grupo de produtos "Outros" na hierarquia raiz do grupo de produtos e imprime o lance.
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 de folha, os scripts criam automaticamente um grupo de produtos "Outros" para garantir que a hierarquia do grupo de produtos permaneça válida. O grupo de produtos "Outros" herda o lance do grupo de produtos pai.
Criar um novo grupo de anúncios do Shopping
Os scripts do Google Ads permitem criar um novo grupo de anúncios do Shopping usando o método
newAdGroupBuilder
do
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 oferecem suporte aos relatórios
product_group_view
e
shopping_performance_view
para ajudar você a acompanhar a performance das suas campanhas do Shopping. Saiba
mais sobre como fazer denúncias no nosso
guia de denúncias.