Skriptbeispiele für Produktgruppen

Die folgenden Abschnitte zeigen Beispiele für Skripts, mit denen Produktgruppen abgerufen und ihre Gebotsbeträge aktualisiert werden.

Abrufen von Produktgruppen

Um alle Produktgruppen in einem Konto abzurufen, verwenden Sie die Methode 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;
            }
        }
    }
}

Eine weitere Möglichkeit besteht darin, Produktgruppen nach Shopping Campaigns oder Shopping Ad Groups zu erhalten. Um Produktgruppen nach Anzeigengruppen abzurufen, rufen Sie zuerst die AdsApp.shoppingAdGroups()- Methode und dann die AdGroup.productGroups()- Methode auf. Für Kampagnen würden Sie auf ähnliche Weise die Methoden AdsApp.shoppingCampaigns() und Campaign.productGroups() aufrufen.

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

Bedingungen anwenden

Verwenden Sie zum Filtern der Liste von Produktgruppen die withCondition-Methode . Mithilfe von withConditionkönnen Sie Produktgruppen nach den Standardmetrikwerten wie Klicks und Abschlüssen filtern, aber Sie können auch nach Gebotsbetrag und Produktgruppe filtern.

Das folgende Beispiel zeigt, wie Sie die Produktgruppe Ski abrufen, wenn der Pfad "Alle Produkte > , Sportartikel, > Wintersport > , Skier > , Generalüberholte >> Langlaufskier" lautet.

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

Da Ski in den Zustand "Aufgearbeitet" unterteilt ist, enthält die Antwort die ausgewählte Produktgruppe "Ski" und die Produktgruppe "OtherCase" für "Aufgearbeitet".

dimension CATEGORY
value Skis
cpc null
parent 4578503857653096

dimension CONDITION
value OtherCase
cpc 1
parent 4578503857653099

Aktualisieren des Gebots einer Produktgruppe

In der Regel möchten Sie Gebote erhöhen, wenn die Performance schlecht ist, und Gebote verringern, wenn die Performance gut ist. In diesem Beispiel wird gezeigt, wie Sie Produktgruppen mit schlechter Performance abrufen und ihren Gebotsbetrag erhöhen. (In diesem Beispiel werden Klicks und Abschlussraten verwendet, um Gruppen mit schlechter Performance zu ermitteln, aber Sie sollten die Metriken und Schwellenwerte verwenden, die für Sie geeignet sind.)

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