Os scripts do Google Ads fornecem certo nível de gerenciamento das suas campanhas do Shopping. É possível 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 de compras no nível da campanha (por exemplo: prioridade de campanha, filtros de inventário etc.) ou vincular contas do Merchant Center.
Recuperação de grupos de anúncios e campanhas do Shopping
As campanhas do Shopping estão disponíveis pelo conjunto shoppingCampaigns
de um objeto AdsApp
. Elas podem ser recuperadas como de costume com 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, é possível gerar os grupos de anúncios dela de maneira semelhante. Essa estratégia só é preferível se você precisa 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 somente 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
Os scripts do Google Ads permitem que você recupere seus anúncios de produtos usando o método ads()
da ShoppingAdGroup
.
É possível criar novos anúncios de produtos usando o método newAdBuilder()
de ShoppingAdGroup
.
Iterar na hierarquia do grupo de produtos
É possível acessar a raiz da hierarquia do grupo de produtos usando o método
rootProductGroup
da
ShoppingAdGroup
.
Depois, você pode usar o método children
para iterar os grupos de produtos secundários e percorrer a hierarquia do grupo de produtos. Cada nó é um objeto
ProductGroup
, e é possível usar o método
getDimension
para descobrir o tipo real do grupo de produtos. Também é possível transmiti-la
para um tipo mais específico (por exemplo,
ProductBrand
)
usando o método de transmissão correspondente (por exemplo,
asBrand
).
O snippet de código a seguir mostra como percorrer de maneira recursiva 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);
}
}
Selecione um grupo de produtos específico
É possível selecionar grupos de produtos específicos em uma hierarquia de grupo de produtos com o método productGroups
de uma instância AdsApp
, ShoppingCampaign
ou ShoppingAdGroup
. Essa abordagem é mais simples do que percorrer toda a hierarquia do grupo 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 deles 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 existente usando o
método
newChild
. Isso fornece um objeto
ProductGroupBuilderSpace
, que pode ser usado para criar um grupo de produtos apropriado. O snippet de código a seguir adiciona uma subdivisão de uma marca "cardcow" na raiz e a subdividirá 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 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 "Todo o restante" ao atualizar a estrutura hierárquica 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 "Todo o restante" ("Outros") em cada nível para processar produtos que não correspondem à condição personalizada que você criou na hierarquia do grupo. Você pode usar o método
isOtherCase
para diferenciar um grupo de produtos normal adicionado de um
grupo de produtos "Outros".
O snippet de código a seguir recupera o grupo de produtos "Outros" na hierarquia do grupo de produtos raiz e exibe 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ê subdivida um grupo de produtos 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 principal.
Criar um novo grupo de anúncios do Shopping
Os scripts do Google Ads permitem que você crie um novo 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 grupo 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 do Shopping. Saiba mais sobre relatórios no nosso guia de relatórios.