Freigeben über


Skriptbeispiele für die Verwaltung von Schlüsselwörtern

Die folgenden Abschnitte zeigen Beispiele für Skripts, die verschiedene Aktionen für Schlüsselwörter ausführen.

Hinzufügen von Schlüsselwörtern

Um eine Schlüsselwort (keyword) hinzuzufügen, rufen Sie zuerst die Anzeigengruppe ab, der die Schlüsselwort (keyword) hinzugefügt werden soll. Verwenden Sie das AdGroupSelector-Objekt , um die Anzeigengruppe auszuwählen. Die Verwendung der withIds -Methode bietet eine bessere Leistung als das Übergeben des Namens der Anzeigengruppe in der withCondition -Methode.

Rufen Sie als Nächstes die newKeywordBuilder-Methode der Anzeigengruppe auf, um einen Generator abzurufen, den Sie zum Angeben der Eigenschaften der Schlüsselwort (keyword) verwenden. Die einzige Eigenschaft, die Sie angeben müssen, ist der Text des Schlüsselwort (keyword) (siehe MethodewithText). Der Text sollte den Übereinstimmungstyp enthalten (Anführungszeichen für ausdrucksgleichen Typ, eckige Klammern für den genauen Übereinstimmungstyp, nichts für den breiten Übereinstimmungstyp).

Wenn Sie keinen CPC-Wert angeben, wird standardmäßig der CPC-Wert der Anzeigengruppe verwendet. Standardmäßig ist die status des Schlüsselwort (keyword) aktiviert.

Beim Aufrufen der -Methode des Generators build wird die Schlüsselwort (keyword) asynchron erstellt. Skripts fügt die Schlüsselwort (keyword) zu einem bestimmten Zeitpunkt hinzu, bevor das Skript beendet wird oder wenn Sie eine der Methoden des Buildvorgangs aufrufen. Informationen zu diesem Prozess finden Sie unter Was ist ein Generator?

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

Anhalten eines Schlüsselwort (keyword)

Wenn Sie eine Schlüsselwort (keyword) hinzufügen, ist die status standardmäßig Aktiviert. Um die Schlüsselwort (keyword) anzuhalten, rufen Sie die -Methode des pause Schlüsselwort (keyword) auf. Um die status des Schlüsselwort (keyword) zu bestimmen, rufen Sie die Methoden und isPaused der Schlüsselwörter isEnabled auf.

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

Abrufen aller Schlüsselwörter in einer Anzeigengruppe

Um alle Schlüsselwörter in einer Anzeigengruppe abzurufen, rufen Sie zuerst die Methode des keywordsAdsApp-Objekts auf, um die Auswahl abzurufen. Verwenden Sie die withCondition -Methode, um die Anzeigengruppe und kampagne anzugeben. Rufen Sie dann die -Methode des Selektors get auf, um einen Iterator abzurufen, den Sie zum Durchlaufen der Liste der Schlüsselwörter verwenden. Um die Anzahl der Schlüsselwörter im Iterator zu bestimmen, rufen Sie die -Methode des totalNumEntities Iterators auf.

Wenn Sie Zugriff auf die Schlüsselwort (keyword)-IDs haben, verwenden Sie diese stattdessen. Die Verwendung von IDs zum Abrufen von Entitäten bietet eine bessere Leistung. Verwenden Sie anstelle der withCondition Filtermethode die withIds -Methode. Beispiel: withIds(['12345']). Es gibt Grenzwerte für die Anzahl von Entitäten, die Sie mithilfe von IDs abrufen können.

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

Abrufen aller Schlüsselwörter in einem Konto

Es gibt eine Beschränkung für die Anzahl von Schlüsselwörtern, die Skripts für ein Konto zurückgeben können. Der Grenzwert ist nicht definiert und kann sich ändern. Das folgende Beispiel zeigt, wie Sie Fälle behandeln können, in denen ein Konto zu viele Schlüsselwörter enthält. Im Beispiel wird versucht, zuerst alle Schlüsselwörter auf Kontoebene abzurufen. Wenn dies aufgrund des Fehlers "Es sind zu viele Entitäten" fehlschlägt, wird versucht, mehrere Aufrufe zum Abrufen von Schlüsselwörtern nach Kampagne auszuführen, da es in der Regel weniger Entitäten auf Kampagnenebene gibt.

Informationen zur Verwendung der Schlüsselwort (keyword) "Yield" finden Sie unter Verwenden des Schlüsselwort (keyword) beim Abrufen großer Entitätssätze.

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

Abrufen der Leistungsdaten eines Schlüsselwort (keyword)

Rufen Sie die getStats-Methode des Schlüsselwort (keyword) auf, um die Leistungsmetriken eines Schlüsselwort (keyword) abzurufen. Wenn Sie die Schlüsselwort (keyword) erhalten, müssen Sie den Datumsbereich der gewünschten Metrikdaten angeben. Sie können den Datumsbereich mithilfe eines vordefinierten Literals angeben, z. B. LAST_MONTH oder HEUTE, oder mit einem Start- und Enddatum. Um den Datumsbereich anzugeben, verwenden Sie eine der forDateRange Methoden, wenn Sie die Schlüsselwort (keyword) auswählen (siehe KeywordSelector).

Eine Liste der Metriken, auf die Sie zugreifen können, finden Sie im Stats-Objekt .

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

Aktualisieren des Gebotswerts eines Schlüsselwort (keyword).

Ein Beispiel, das zeigt, wie der Gebotswert eines Schlüsselwort (keyword) aktualisiert wird, finden Sie unter Aufrufen von Google-Diensten.