Partager via


Exemples de script pour la gestion des mots clés

Les sections suivantes présentent des exemples de scripts qui effectuent différentes actions sur des mots clés.

Ajouter des mots clés

Pour ajouter un mot clé, commencez par obtenir le groupe d’annonces auquel ajouter le mot clé. 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 newKeywordBuilder du groupe d’annonces pour obtenir un générateur que vous utilisez pour spécifier les propriétés du mot clé. La seule propriété que vous devez spécifier est le texte de l’mot clé (voir la withText méthode ). Le texte doit inclure le type de correspondance (guillemets pour le type de correspondance d’expression, crochets pour le type de correspondance exacte, rien pour le type de correspondance large).

Si vous ne spécifiez pas de valeur DECP, elle est définie par défaut sur la valeur DECP du groupe d’annonces. Par défaut, la status du mot clé est activée.

L’appel de la méthode du build générateur crée le mot clé de façon asynchrone ; Les scripts ajoutent le mot clé à 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() {
    // The ID of the ad group to add the keywords to.
    // IDs in Scripts are string integers.
    var adGroupId = 'AD GROUP ID GOES HERE';  
    var adGroup = getAdGroup(adGroupId);

    // Keywords to add. Update as appropriate.
    var keywords = [];
    keywords.push({
        text : "keyword 1",
        cpc : 1.25,
        finalUrl : 'http://www.example.com'
    });
    keywords.push({
        text : "keyword 2",
        cpc : 1.5,
        finalUrl : 'http://www.example.com'
    });

    var operations = [];

    if (adGroup != null)
    {
        for (var keyword of keywords) {
            var operation = addKeyword(
                adGroup, 
                keyword.text, 
                keyword.cpc, 
                keyword.finalUrl);
            operations.push(operation);
        }
    }
    else {
        Logger.log("Unable to retrieve ad group, " + adGroupId);
    }

    checkBuildStatus(operations, keywords);
}

// Get the ad group using its ID.
function getAdGroup(id) {
    var iterator = AdsApp.adGroups()
        .withIds([id])
        .get();

    // Return the ad group if it exists; otherwise, null.
    if (iterator.hasNext()) {
        return iterator.next();
    }
    else {
        return null;
    }
}

// Add the keyword to the specified ad group.
function addKeyword(adGroup, text, cpc, finalUrl) {

    return adGroup.newKeywordBuilder()
        .withText(text)
        .withCpc(cpc)
        .withFinalUrl(finalUrl)
        .build();
}

// Check the keyword's build status.
function checkBuildStatus(operations, keywords) {

    for (var i = 0; i < operations.length; i++) {
        if (!operations[i].isSuccessful()) {
            for (var error of operations[i].getErrors()) {
                Logger.log(`Failed to add, ${keywords[i].text}. Error: ${error}`);
            }
        }
    }
}

Suspendre un mot clé

Lorsque vous ajoutez un mot clé, son status est Activé par défaut. Pour suspendre la mot clé, appelez la méthode du pause mot clé. Pour déterminer la status du mot clé, appelez les méthodes et isPaused les mots clésisEnabled.

function main() {
    var campaignName = 'CAMPAIGN NAME GOES HERE';
    var adGroupName = 'AD GROUP NAME GOES HERE';
    var keywordText = 'KEYWORD TEXT GOES HERE';

    var iterator = AdsApp.keywords()
        .withCondition(`Text = '${keywordText}'`)
        .withCondition(`AdGroupName = '${adGroupName}'`)
        .withCondition(`CampaignName = '${campaignName}'`)
        .get();

    while (iterator.hasNext()) {
        var keyword = iterator.next();
        keyword.pause();
    }
}

Obtenir tous les mots clés d’un groupe d’annonces

Pour obtenir tous les mots clés d’un groupe d’annonces, appelez d’abord la méthode de keywords l’objet AdsApp pour obtenir le sélecteur. Utilisez la withCondition méthode pour spécifier le groupe d’annonces et la campagne. Ensuite, appelez la méthode du get sélecteur pour obtenir un itérateur que vous utilisez pour itérer dans la liste des mots clés. Pour déterminer le nombre de mots clés dans l’itérateur, appelez la méthode de l’itérateur totalNumEntities .

Si vous avez accès aux ID mot clé, utilisez-les à la place. L’utilisation d’ID pour obtenir des entités offre de meilleures performances. Au lieu d’utiliser la withCondition méthode filter, utilisez la withIds méthode . Par exemple : withIds(['12345']). Il existe des limites quant au nombre d’entités que vous pouvez récupérer à l’aide d’ID.

function main() {
    var campaignName = 'CAMPAIGN NAME GOES HERE';
    var adGroupName = 'AD GROUP NAME GOES HERE';

    var iterator = AdsApp.keywords()
        .withCondition(`AdGroupName = '${adGroupName}'`)
        .withCondition(`CampaignName = '${campaignName}'`)
        .get();
        
    while (iterator.hasNext()) {
        var keyword = iterator.next();
    }
}

Obtention de tous les mots clés dans un compte

Il existe une limite au nombre de mots clés que les scripts peuvent retourner pour un compte. La limite n’est pas définie et peut changer. L’exemple suivant montre comment vous pouvez gérer les cas où un compte a trop de mots clés. L’exemple tente d’abord d’extraire tous les mots clés au niveau du compte. Si cela échoue en raison de l’erreur « Il y a trop d’entités », il tente d’effectuer plusieurs appels pour extraire des mots clés par campagne, car il y a généralement moins d’entités au niveau de la campagne.

Pour plus d’informations sur l’utilisation de l’mot clé de rendement, consultez Utiliser la mot clé de rendement lors de l’obtention de grands ensembles d’entités.

function* getEntities() {
    const applyConditions = _ => _
        .withCondition('CampaignStatus = ENABLED')
        .withCondition('AdGroupStatus = ENABLED')
        .withCondition('Status = ENABLED')
        .withCondition("CombinedApprovalStatus = DISAPPROVED");

    try {
        // Get the account's keywords. 
        const keywords = applyConditions(AdsApp.keywords()).get();

        while (keywords.hasNext()) {
            yield keywords.next();
        }
    } catch (e) {
        if (!e.message.startsWith('There are too many entities')) {
            throw e;
        }

        // If there are too many keywords at the account level,
        // get keywords by campaigns under the account.
        const campaigns = AdsApp.campaigns().get();

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

            const keywords = applyConditions(campaign.keywords()).get();

            while (keywords.hasNext()) {
                yield keywords.next();
            }
        }
    }
}

Obtenir les données de performances d’un mot clé

Pour obtenir les métriques de performances d’un mot clé, appelez la méthode getStats de l’mot clé. Lorsque vous obtenez le mot clé, vous devez spécifier la plage de dates des données de métriques souhaitées. Vous pouvez spécifier la plage de dates à l’aide d’un littéral prédéfini, tel que LAST_MONTH ou AUJOURD’HUI, ou d’une date de début et de fin. Pour spécifier la plage de dates, utilisez l’une des forDateRange méthodes lorsque vous sélectionnez le mot clé (voir KeywordSelector).

Pour obtenir la liste des métriques accessibles, consultez l’objet Stats .

function main() {
    var campaignName = 'CAMPAIGN NAME GOES HERE';
    var adGroupName = 'AD GROUP NAME GOES HERE';
    var keywordText = 'KEYWORD TEXT GOES HERE';

    // Get the keyword. You need to specify the date range of the
    // performance data you want to get.
    var iterator = AdsApp.keywords()
        .forDateRange('LAST_WEEK')
        .withCondition(`Text = '${keywordText}'`)
        .withCondition(`AdGroupName = '${adGroupName}'`)
        .withCondition(`CampaignName = '${campaignName}'`)
        .get();

    // If the keyword is found, log some metrics.
    if (iterator.hasNext()) {
        var keyword = iterator.next();
        var metrics = keyword.getStats(); // Gets the performance metrics.
    }
}

Mettre à jour la valeur de l’enchère d’un mot clé.

Pour obtenir un exemple montrant comment mettre à jour la valeur de l’offre d’un mot clé, consultez Appel des services Google.