Esempi di script per i gruppi di prodotti
Le sezioni seguenti illustrano esempi di script che recuperano i gruppi di prodotti e aggiornano gli importi delle offerte.
Recupero di gruppi di prodotti
Per ottenere tutti i gruppi di prodotti in un account, usare il metodo AdsApp.productGroups( ).
function main() {
var productGroups = AdsApp.productGroups().get();
while (productGroups.hasNext()) {
var productGroup = productGroups.next();
switch (productGroup.getDimension()) {
case "ROOT": {
break;
}
case "CATEGORY": {
var category = productGroup.getValue();
break;
}
case "CHANNEL": {
var channel = productGroup.getValue();
break;
}
case "CHANNEL_EXCLUSIVITY": {
var channelExclusivity = productGroup.getValue();
break;
}
case "BRAND": {
var brand = productGroup.getValue();
break;
}
case "CONDITION": {
var condition = productGroup.getValue();
break;
}
case "CUSTOM_LABEL": {
// It's only necessary to cast the product group to a CustomLabel product
// group if you need to get the label's name (i.e., CustomLabel0).
var customLabel = productGroup.asCustomLabel();
var labelType = customLabel.getType();
var labelValue = customLabel.getValue();
break;
}
case "ITEM_ID": {
var id = productGroup.getValue();
break;
}
case "PRODUCT_TYPE": {
// It's only necessary to cast the product group to a ProductType product
// group if you need to get the type's name (i.e., PRODUCT_TYPE_1).
var productType = productGroup.asProductType();
var typeName = productType.getType();
var typeValue = productType.getValue());
break;
}
}
}
}
Un'altra opzione è ottenere gruppi di prodotti per campagne di shopping o gruppi di annunci di shopping. Per ottenere i gruppi di prodotti in base ai gruppi di annunci, chiamare prima il metodo AdsApp.shoppingAdGroups() e quindi chiamare il metodo AdGroup.productGroups( ). Per le campagne, è possibile chiamare in modo analogo i metodi AdsApp.shoppingCampaigns() e Campaign.productGroups( ).
function main() {
var shoppingAdGroups = AdsApp.shoppingAdGroups()
.get();
while (shoppingAdGroups.hasNext()) {
var adGroup = shoppingAdGroups.next();
var productGroups = adGroup.productGroups().get();
while (productGroups.hasNext()) {
var productGroup = productGroups.next();
switch (productGroup.getDimension()) {
case "ROOT": {
break;
}
case "CATEGORY": {
var category = productGroup.getValue();
break;
}
case "CHANNEL": {
var channel = productGroup.getValue();
break;
}
case "CHANNEL_EXCLUSIVITY": {
var channelExclusivity = productGroup.getValue();
break;
}
case "BRAND": {
var brand = productGroup.getValue();
break;
}
case "CONDITION": {
var condition = productGroup.getValue();
break;
}
case "CUSTOM_LABEL": {
// It's only necessary to cast the product group to a CustomLabel product
// group if you need to get the label's name (i.e., CustomLabel0).
var customLabel = productGroup.asCustomLabel();
var labelType = customLabel.getType();
var labelValue = customLabel.getValue();
break;
}
case "ITEM_ID": {
var id = productGroup.getValue();
break;
}
case "PRODUCT_TYPE": {
// It's only necessary to cast the product group to a ProductType product
// group if you need to get the type's name (i.e., PRODUCT_TYPE_1).
var productType = productGroup.asProductType();
var typeName = productType.getType();
var typeValue = productType.getValue());
break;
}
}
}
}
}
Applicazione di condizioni
Per filtrare l'elenco dei gruppi di prodotti, utilizzare il metodo withCondition .
withCondition
Usando , è possibile filtrare i gruppi di prodotti in base ai valori delle metriche standard, ad esempio clic e conversioni, ma è anche possibile filtrare in base all'importo dell'offerta e al gruppo di prodotti.
Nell'esempio seguente viene illustrato come ottenere il gruppo di prodotti Skis se il percorso è "Tutti i prodotti > Sporting Goods > Winter Sports > Skiing > Skis > Ricondizionati > ".
function main() {
var shoppingAdGroup = AdsApp.shoppingAdGroups().withIds(["123456789"]).get().next();
var productGroups = shoppingAdGroup.productGroups()
.withCondition("ProductGroup = skis")
.get();
while (productGroups.hasNext()) {
var group = productGroups.next();
}
}
Poiché Skis è suddiviso per condizione ricondizionata, la risposta include il gruppo di prodotti Skis selezionato e il gruppo di prodotti OtherCase per Ricondizionato.
dimension CATEGORY
value Skis
cpc null
parent 4578503857653096
dimension CONDITION
value OtherCase
cpc 1
parent 4578503857653099
Aggiornamento dell'offerta di un gruppo di prodotti
In genere, si vuole aumentare le offerte quando le prestazioni sono negative e diminuire le offerte quando le prestazioni sono buone. Questo esempio illustra come ottenere gruppi di prodotti con prestazioni scarse e aumentare l'importo dell'offerta. Questo esempio usa i clic e i tassi di conversione per determinare i gruppi con prestazioni scarse, ma è consigliabile usare le metriche e le soglie appropriate.
function main() {
var shoppingAdGroup = AdsApp.shoppingAdGroups().withIds(["123456789"]).get().next();
var productGroups = shoppingAdGroup.productGroups()
.withCondition("Clicks < 30")
.withCondition("ClickConversionRate < .25")
.forDateRange("LAST_MONTH")
.get();
var groupsToUpdate = [];
while (productGroups.hasNext()) {
groupsToUpdate.push(productGroups.next());
}
for (var group of groupsToUpdate) {
group.setMaxCpc(.35);
}
}