Partager via


Exemples de scripts pour les groupes de produits

Les sections suivantes présentent des exemples de scripts qui obtiennent des groupes de produits et mettent à jour leurs montants d’enchères.

Obtention de groupes de produits

Pour obtenir tous les groupes de produits dans un compte, utilisez la méthode 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;
            }
        }
    }
}

Une autre option consiste à obtenir des groupes de produits à l’aide de campagnes d’achat ou de groupes d’annonces d’achat. Pour obtenir des groupes de produits par groupes d’annonces, appelez d’abord la méthode AdsApp.shoppingAdGroups(), puis la méthode AdGroup.productGroups(). Pour les campagnes, vous devez également appeler les méthodes AdsApp.shoppingCampaigns() et 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;
                }
            }
        }
    }
}

Application de conditions

Pour filtrer la liste des groupes de produits, utilisez la méthode withCondition . À l’aide de withCondition, vous pouvez filtrer les groupes de produits en fonction des valeurs de métrique standard telles que les clics et les conversions, mais vous pouvez également filtrer par montant d’enchère et groupe de produits.

L’exemple suivant montre comment obtenir le groupe de produits Skis si le chemin est « All products Sporting Goods > Winter Sports > Skis >> Reconditionnés > Skis de > fond ».

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

Étant donné que Skis est subdivisé par condition remise à neuf, la réponse inclut le groupe de produits Skis sélectionné et le groupe de produits OtherCase pour Reconditionné.

dimension CATEGORY
value Skis
cpc null
parent 4578503857653096

dimension CONDITION
value OtherCase
cpc 1
parent 4578503857653099

Mise à jour de l’offre d’un groupe de produits

En règle générale, vous souhaitez augmenter les enchères lorsque les performances sont mauvaises et diminuer les enchères lorsque les performances sont bonnes. Cet exemple montre comment obtenir des groupes de produits dont les performances sont médiocres et augmenter le montant de leur offre. (Cet exemple utilise des clics et des taux de conversion pour déterminer les groupes peu performants, mais vous devez utiliser les métriques et les seuils qui vous conviennent.)

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