Partager via


Exemples de script pour la gestion des publicités

Les sections suivantes présentent des exemples de scripts qui effectuent diverses actions sur des publicités.

Remarque

  • Mettez à niveau vos annonces textuelles développées en annonces de recherche réactives d’après le 1er février 2023. Après cette date, vous ne serez plus en mesure de créer ou de modifier des annonces textuelles développées existantes. Pour plus d’informations, consultez À propos des annonces de recherche réactive.
  • Les annonces textuelles développées existantes continueront à être diffusées et vous serez en mesure d’afficher des rapports sur leurs performances.
  • Vous pourrez toujours suspendre, activer ou supprimer vos annonces textuelles développées. Dans le cas contraire, les tentatives d’ajout ou de mise à jour d’annonces textuelles développées entraînent une CampaignServiceAdTypeInvalid erreur.
  • En savoir plus sur cette modification.

Ajouter des publicités

Pour ajouter une annonce, commencez par obtenir le groupe d’annonces auquel vous souhaitez ajouter la publicité. Utilisez l’objet AdGroupSelector pour sélectionner le groupe d’annonces. L’utilisation de la withIds méthode offre de meilleures performances que le passage du nom du groupe d’annonces dans la withCondition méthode .

Ensuite, appelez la méthode newAd du groupe d’annonces pour obtenir un générateur que vous utilisez pour spécifier les propriétés de la publicité. Contrairement à d’autres types d’entités, la newAd méthode renvoie un objet AdBuilderSpace qui contient des méthodes permettant d’obtenir le générateur pour le type d’annonce que vous souhaitez créer. Cet exemple ajoute une annonce de texte développé, de sorte qu’il appelle la expandedTextAdBuilder méthode pour obtenir un générateur d’annonces de texte développé.

Pour les annonces textuelles développées, vous devez spécifier les propriétés suivantes :

  • Description
  • FinalUrl
  • HeadlinePart1
  • HeadlinePart2

La combinaison de ces propriétés définit de façon unique une annonce de texte développé. Les autres propriétés sont facultatives.

L’appel de la méthode du build générateur crée l’annonce de façon asynchrone ; Les scripts ajoutent l’annonce à un moment donné avant la fin du script ou si vous appelez l’une des méthodes de l’opération de génération. Pour plus d’informations sur ce processus, consultez Qu’est-ce qu’un générateur ?

function main() {
    var adGroupId = "AD GROUP ID GOES HERE";
    var adGroup = getAdGroup(adGroupId);

    if (adGroup != null) {

        // Get an expanded text ad builder, specify the ad's 
        // properties, and add the ad to the build queue.
        var operation = adGroup.newAd().expandedTextAdBuilder()
            .withDescription("AD COPY GOES HERE")
            .withFinalUrl("https://contoso.com")
            .withHeadlinePart1("AD TITLE PART 1 GOES HERE")
            .withHeadlinePart2("AD TITLE PART 2 GOES HERE")
            .build();

        if (!operation.isSuccessful()) {
            for (var error of operation.getErrors()) {
                Logger.log(error);
            }
        }
    }
    else {
        Logger.log(`Failed to get ad group, ${adGroupId}.`);
    }
}

function getAdGroup(id) {
    var adGroups = AdsApp.adGroups()
        .withIds([id])
        .get();

    if (adGroups.hasNext()) {
        return adGroups.next();
    }
    else {
        return null;
    }
}

Si une annonce précédemment ajoutée avec les mêmes valeurs pour la combinaison de champs obligatoires existe, le service n’ajoute pas la publicité, mais retourne plutôt l’id et l’annonce précédemment ajoutés. Toutefois, si les mêmes annonces sont traitées dans la même file d’attente de build, la deuxième annonce échoue avec CampaignServiceDuplicateAd. Par exemple, étant donné que les annonces de l’exemple suivant sont identiques, l’une d’elles échoue.

    if (adGroup != null) {
        var adOperation = adGroup.newAd().expandedTextAdBuilder()
            .withDescription("ad copy")
            .withFinalUrl("https://contoso.com")
            .withHeadlinePart1("title part 1")
            .withHeadlinePart2("title part 2")
            .build();

        operations.push(adOperation);

        adOperation = adGroup.newAd().expandedTextAdBuilder()
            .withDescription("ad copy")
            .withFinalUrl("https://contoso.com")
            .withHeadlinePart1("title part 1")
            .withHeadlinePart2("title part 2")
            .build();

        operations.push(adOperation);
        
        for (var operation of operations) {
            if (!operation.isSuccessful()) {
                for (var error of operation.getErrors()) {
                    Logger.log(error);
                }
            }
        }
    }

Obtenir des publicités

Vous disposez de plusieurs options pour obtenir des annonces en fonction de l’emplacement où vous vous trouvez dans la hiérarchie.

Obtenir des publicités à partir d’un groupe d’annonces

Si vous avez un objet AdGroup , appelez la méthode de ads l’objet pour obtenir la liste des annonces qui appartiennent au groupe d’annonces. Cet exemple obtient et imprime toutes les annonces du groupe, mais vous pouvez utiliser les méthodes du sélecteur de publicités pour filtrer la liste des annonces.

function main() {
    var adGroups = AdsApp.adGroups()
        .withIds(["AD GROUP ID GOES HERE"])
        .get();

    if (adGroups.hasNext()) {
        var adGroup = adGroups.next();

        var ads = adGroup.ads().get();
        
        while (ads.hasNext()) {
            var ad = ads.next();

            if (ad.isType().expandedTextAd()) {
                var expandedAd = ad.asType().expandedTextAd();
            }
        }
    } 
}

Obtenir des publicités d’une campagne

Si vous avez un objet Campaign , appelez la méthode de ads l’objet pour obtenir la liste des annonces qui appartiennent aux groupes d’annonces de la campagne. Cet exemple utilise la méthode du sélecteur d’annonces withCondition pour filtrer la liste des annonces sur celles des groupes d’annonces qui contiennent le nom foo.

function main() {
    var campaigns = AdsApp.campaigns()
        .withIds(["CAMPAIGN ID GOES HERE"])
        .get();

    while (campaigns.hasNext()) {
        var campaign = campaigns.next();

        var ads = campaign.ads()
            .withCondition("AdGroupName CONTAINS_IGNORE_CASE 'foo'")
            .get();
        
        while (ads.hasNext()) {
            var ad = ads.next();

            if (ad.isType().expandedTextAd()) {
                var expandedAd = ad.asType().expandedTextAd();
            }
        }
    } 
}

Obtenir toutes les publicités du compte

Pour obtenir toutes les publicités d’un compte, appelez la ads méthode sur l’objet AdsApp . Vous pouvez utiliser les méthodes du sélecteur de publicités pour filtrer la liste des annonces en fonction des campagnes, des groupes d’annonces ou en fonction des performances publicitaires. Cet exemple obtient toutes les publicités du compte.

function main() {
    var ads = AdsApp.ads().get();

    while (ads.hasNext()) {
        var ad = ads.next();

        if (ad.isType().expandedTextAd()) {
            var expandedAd = ad.asType().expandedTextAd();
        }
    }
} 

Suspendre une publicité

Pour suspendre une annonce, appelez la méthode de la pause publicité. Étant donné que la pause méthode se trouve sur l’objet Ad de base, vous n’avez pas besoin d’obtenir d’abord l’objet dérivé.

Si vous souhaitez activer ou supprimer une annonce, il vous suffit d’appeler la méthode ou remove de la enable publicité. Pour case activée si la publicité est activée ou suspendue, appelez la isEnabled méthode ou isPaused .

Pour obtenir des publicités avec un status spécifique, utilisez la méthode du sélecteur d’annonceswithCondition. Par exemple : withCondition("Status = PAUSED).

function main() {
    var ads = AdsApp.ads()
        .forDateRange("LAST_WEEK")
        .withCondition("AdGroupName CONTAINS_IGNORE_CASE 'foo'")
        .withCondition('Status = ENABLED')
        .withCondition('Clicks < 5')
        .get();
 
    while (ads.hasNext()) {
        var ad = ads.next();
        ad.pause();
    }
}

Obtenir des publicités désapprouvées

Pour obtenir un exemple qui obtient des publicités désapprouvées, consultez Découverte d’annonces désapprouvées.