Aracılığıyla paylaş


Ürün grupları için betik örnekleri

Aşağıdaki bölümlerde, ürün gruplarını alan ve teklif tutarlarını güncelleştiren betik örnekleri gösterilir.

Ürün gruplarını alma

Bir hesaptaki tüm ürün gruplarını 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;
            }
        }
    }
}

Bir diğer 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 çağırın ve ardından AdGroup.productGroups() yöntemini çağırın. Kampanyalar için 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;
                }
            }
        }
    }
}

Koşulları uygulama

Ürün gruplarının listesini filtrelemek için withCondition yöntemini kullanın. kullanarak withCondition, ürün gruplarını tıklamalar ve dönüştürmeler gibi standart ölçüm 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 Ürünleri > Kış Sporları > Kayak > Kayakları Yenilenmiş > Kros Kayakları" ise Skis > ürün grubunun nasıl alınıp alınmadığını gösterir.

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

Skis, Yenilenmiş koşula göre alt bölümlere ayrılmış olduğundan yanıt, seçilen Skis ürün grubunu ve Yenilenmiş için OtherCase ürün grubunu içerir.

dimension CATEGORY
value Skis
cpc null
parent 4578503857653096

dimension CONDITION
value OtherCase
cpc 1
parent 4578503857653099

Ürün grubunun teklifini güncelleştirme

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 alınacağını ve teklif miktarının nasıl artırıldığını gösterir. (Bu örnekte, düşük performanslı grupları belirlemek için tıklamalar ve dönüştürme oranları kullanılır, ancak sizin için uygun ölçümleri ve eşikleri kullanmanız gerekir.)

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