Esempi di script per i gruppi di prodotti

Le sezioni seguenti mostrano esempi di script che ottengono gruppi di prodotti e aggiornano i loro importi di offerta.

Ottenere gruppi di prodotti

Per ottenere tutti i gruppi di prodotti in un account, utilizzare 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;
            }
        }
    }
}

È anche possibile ottenere gruppi di prodotti tramite campagne acquisti o gruppi di annunci acquisti. Per ottenere gruppi di prodotti in base ai gruppi di annunci, chiamare prima il metodo AdsApp.shoppingAdGroups(), quindi chiamare il metodo AdGroup.productGroups(). Per le campagne, in modo analogo è necessario chiamare 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 di gruppi di prodotti, utilizzare il metodo withCondition . Utilizzando withCondition, è possibile filtrare i gruppi di prodotti in base a valori di metrica standard, ad esempio clic e conversioni, ma anche in base all'importo dell'offerta e al gruppo di prodotti.

L'esempio seguente mostra come ottenere il gruppo di prodotti Sci se il percorso è "Tutti i prodotti > Articoli sportivi Sci da sci > per sport > invernali Sci > di fondo 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é Sci è suddiviso per Stato ricondizionato, la risposta include il gruppo di prodotti Sci 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 desidera aumentare le offerte quando il rendimento è negativo e diminuirle quando il rendimento è buono. In questo esempio viene illustrato come ottenere gruppi di prodotti con scarso rendimento e aumentare l'importo dell'offerta. In questo esempio vengono usati i clic e i tassi di conversione per determinare i gruppi con scarso rendimento, ma è consigliabile usare le metriche e le soglie appropriate per l'utente.

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);
    }
}