Ürün grupları için komut dosyası örnekleri

Aşağıdaki bölümlerde, ürün gruplarını alan ve teklif tutarlarını güncelleyen komut dosyası örnekleri gösterilmektedir.

Ürün gruplarını alma

Tüm ürün gruplarını bir hesaba almak için AdsApp.productGroups() yöntemini kullanın.

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

Diğer bir seçenek de ürün gruplarını alışveriş kampanyalarına veya alışveriş reklam gruplarına göre almaktır. Ürün gruplarını reklam gruplarına göre almak için önce AdsApp.shoppingAdGroups() yöntemini, ardından AdGroup.productGroups() yöntemini çağırın. Kampanyalar için de benzer şekilde AdsApp.shoppingCampaigns() ve Campaign.productGroups() yöntemlerini çağırırsınız.

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

Uygulama koşulları

Ürün grupları listesini filtrelemek için withCondition yöntemini kullanın. özelliğini kullanarak withCondition, ürün gruplarını tıklamalar ve dönüşümler gibi standart metrik değerlerine göre filtreleyebilir, ancak teklif tutarına ve ürün grubuna göre de filtreleyebilirsiniz.

Aşağıdaki örnekte, yol 'Tüm ürünler>, Spor Malzemeleri, Kış Sporları >> Kayakları>, Yenilenmiş >> Kros Kayakları' ise Kayak ürün grubunu nasıl alacağınız gösterilmektedir.

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

Kayaklar Yenilenmiş durumuna göre alt bölümlere ayrıldığından, yanıtta seçilen Kayak ürünleri grubu ile Yenilenmiş için OtherCase ürün grubu yer alır.

dimension CATEGORY
value Skis
cpc null
parent 4578503857653096

dimension CONDITION
value OtherCase
cpc 1
parent 4578503857653099

Bir ürün grubunun teklifini güncelleme

Genellikle, performans kötü olduğunda teklifleri artırmak ve performans iyi olduğunda teklifleri azaltmak istersiniz. Bu örnekte, düşük performans gösteren ürün gruplarının nasıl elde edileceği ve teklif tutarlarının nasıl artırılacağı gösterilmektedir. (Bu örnekte, düşük performans gösteren grupları belirlemek için tıklamalar ve dönüşüm oranları kullanılır, ancak sizin için uygun olan metrikleri ve eşikleri kullanmalısınız.)

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