Ausrichtungsideen generieren

Vom Keyword-Planer in der AdWords-Webbenutzeroberfläche werden neue Keyword-Ideen auf Basis vorhandener Keywords und Ihrer Website vorgeschlagen. Sie können dann Statistiken (durchschnittlicher CPC, monatliches Suchvolumen usw.) für zurückliegende Zeiträume abrufen und anhand dieser Statistiken entscheiden, ob Sie diese Keyword-Ideen verwenden möchten oder nicht.

Ähnliches erreichen Sie in der AdWords API mit dem TargetingIdeaService. Mit diesem Dienst können Sie Ausrichtungsideen von Ihrem eigenen Tool bzw. Ihrer eigenen Plattform abrufen, um die Kontooptimierung zu automatisieren.

Anwendungsfall

Mit dem TargetingIdeaService lassen sich Keyword-Ideen auf Basis einer Reihe von Eingabewerten abrufen. Beispiele:

  • Ausgangs-Keywords
  • Ausgangs-Anzeigengruppen-ID
  • Zielwebsite
  • Standort
  • Sprache
  • Produkt- und Dienstleistungskategorie
  • und viele weitere

Wenn Sie beispielsweise eine neue Kampagne erstellen oder eine vorhandene Kampagne optimieren, können Sie mit dem TargetingIdeaService eine Liste von potenziellen Keywords abrufen, die auf Ihrer vorhandenen Keyword-Taxonomie basieren.

Mit diesem Dienst lassen sich ähnliche Ergebnisse erzielen wie mit den Funktionen unter Neue Keywords finden und Daten zum Suchvolumen abrufen im Keyword-Planer:

Die Keyword-Planer-Funktion Budget planen und Prognosen abrufen wird auf der Seite Zugriffe schätzen ausführlicher beschrieben.

Keyword-Ideen abrufen

Der TargetingIdeaSelector ist der wichtigste Parameter für den TargetingIdeaService. Im Beispiel unten sehen Sie, wie Keyword-Ideen mithilfe einer Reihe von Ausgangs-Keywords vom TargetingIdeaService abgerufen werden können.

Anforderung vorbereiten

Bereiten Sie zunächst den TargetingIdeaSelector mit Parametern vor, mit denen festgelegt wird, dass der Zweck der Anforderung der Abruf von Keyword-Ideen ist:

Java

TargetingIdeaSelector selector = new TargetingIdeaSelector();
selector.setRequestType(RequestType.IDEAS);
selector.setIdeaType(IdeaType.KEYWORD);

C Sharp

TargetingIdeaSelector selector = new TargetingIdeaSelector();
selector.requestType = RequestType.IDEAS;
selector.ideaType = IdeaType.KEYWORD;

Python

selector = {
    'ideaType': 'KEYWORD',
    'requestType': 'IDEAS'
}

PHP

$selector = new TargetingIdeaSelector();
$selector->setRequestType(RequestType::IDEAS);
$selector->setIdeaType(IdeaType::KEYWORD);

Perl

my $selector = Google::Ads::AdWords::v201802::TargetingIdeaSelector->new({
  requestType => "IDEAS",
  ideaType    => "KEYWORD"
});

Ruby

selector = {
  :idea_type => 'KEYWORD',
  :request_type => 'IDEAS'
}

VB.NET

Dim selector As New TargetingIdeaSelector()
selector.requestType = RequestType.IDEAS
selector.ideaType = IdeaType.KEYWORD

Wählen Sie als Nächstes die abzurufenden Attribute aus. Sie können sich Attribute als einzelne Spalten bzw. Felder vorstellen, die Bezug zum Keyword haben:

Java

selector.setRequestedAttributeTypes(new AttributeType[] {
    AttributeType.KEYWORD_TEXT,
    AttributeType.SEARCH_VOLUME,
    AttributeType.AVERAGE_CPC,
    AttributeType.COMPETITION,
    AttributeType.CATEGORY_PRODUCTS_AND_SERVICES});

C Sharp

selector.requestedAttributeTypes = new AttributeType[] {
  AttributeType.KEYWORD_TEXT,
  AttributeType.SEARCH_VOLUME,
  AttributeType.AVERAGE_CPC,
  AttributeType.COMPETITION,
  AttributeType.CATEGORY_PRODUCTS_AND_SERVICES
};

Python

selector['requestedAttributeTypes'] = [
    'KEYWORD_TEXT', 'SEARCH_VOLUME', 'CATEGORY_PRODUCTS_AND_SERVICES']

PHP

$selector->setRequestedAttributeTypes(
    [
        AttributeType::KEYWORD_TEXT,
        AttributeType::SEARCH_VOLUME,
        AttributeType::AVERAGE_CPC,
        AttributeType::COMPETITION,
        AttributeType::CATEGORY_PRODUCTS_AND_SERVICES
    ]
);

Perl

$selector->set_requestedAttributeTypes([
  "KEYWORD_TEXT", "SEARCH_VOLUME",
  "AVERAGE_CPC",  "COMPETITION",
  "CATEGORY_PRODUCTS_AND_SERVICES"
]);

Ruby

selector[:requested_attribute_types] = [
  'KEYWORD_TEXT',
  'SEARCH_VOLUME',
  'AVERAGE_CPC',
  'COMPETITION',
  'CATEGORY_PRODUCTS_AND_SERVICES',
]

VB.NET

selector.requestedAttributeTypes = New AttributeType() {
  AttributeType.KEYWORD_TEXT,
  AttributeType.SEARCH_VOLUME,
  AttributeType.CATEGORY_PRODUCTS_AND_SERVICES
}

Als Nächstes konfigurieren Sie das Paging des Selektors, um zu beschränken, wie viele Ergebnisse bei einer einzelnen Anfrage zurückgegeben werden. Paging ist ein Pflichtfeld von TargetingIdeaSelector.

Java

// Set selector paging (required for targeting idea service).
Paging paging = new Paging();
paging.setStartIndex(0);
paging.setNumberResults(10);
selector.setPaging(paging);

C Sharp

// Set selector paging (required for targeting idea service).
Paging paging = Paging.Default;
selector.paging = paging;

Python

offset = 0
selector['paging'] = {
    'startIndex': str(offset),
    'numberResults': str(PAGE_SIZE)
}

PHP

$paging = new Paging();
$paging->setStartIndex(0);
$paging->setNumberResults(10);
$selector->setPaging($paging);

Perl

# Set selector paging (required for targeting idea service).
my $paging = Google::Ads::AdWords::v201802::Paging->new({
  startIndex    => 0,
  numberResults => 10
});
$selector->set_paging($paging);

Ruby

selector[:paging] = {
  :start_index => 0,
  :number_results => PAGE_SIZE
}

VB.NET

' Set selector paging (required for targeting idea service).
Dim paging As Paging = Paging.Default

Zum Abschluss geben Sie mit dem RelatedToQuerySearchParameter eine Liste von Ausgangs-Keywords an, mit denen neue Ideen generiert werden sollen:

Java

List<SearchParameter> searchParameters = new ArrayList<>();
// Create related to query search parameter.
RelatedToQuerySearchParameter relatedToQuerySearchParameter =
    new RelatedToQuerySearchParameter();
relatedToQuerySearchParameter.setQueries(new String[] {"bakery", "pastries", "birthday cake"});
searchParameters.add(relatedToQuerySearchParameter);

C Sharp

// Create related to query search parameter.
RelatedToQuerySearchParameter relatedToQuerySearchParameter =
    new RelatedToQuerySearchParameter();
relatedToQuerySearchParameter.queries = new String[] {
  "bakery", "pastries", "birthday cake"
};
searchParameters.Add(relatedToQuerySearchParameter);

Python

selector['searchParameters'] = [{
    'xsi_type': 'RelatedToQuerySearchParameter',
    'queries': ['space cruise']
}]

PHP

$searchParameters = [];
// Create related to query search parameter.
$relatedToQuerySearchParameter = new RelatedToQuerySearchParameter();
$relatedToQuerySearchParameter->setQueries(
    [
        'bakery',
        'pastries',
        'birthday cake'
    ]
);
$searchParameters[] = $relatedToQuerySearchParameter;

Perl

# Create related to query search parameter.
my @search_parameters = ();
my $related_to_query_search_parameter =
  Google::Ads::AdWords::v201802::RelatedToQuerySearchParameter->new(
  {queries => ["bakery", "pastries", "birthday cake"]});
push @search_parameters, $related_to_query_search_parameter;

Ruby

search_parameters = []
search_parameters << {
    # The 'xsi_type' field allows you to specify the xsi:type of the object
    # being created. It's only necessary when you must provide an explicit
    # type that the client library can't infer.
    :xsi_type => 'RelatedToQuerySearchParameter',
    :queries => [keyword_text]
}

VB.NET

' Create related to query search parameter.
Dim relatedToQuerySearchParameter As New RelatedToQuerySearchParameter()
relatedToQuerySearchParameter.queries = New String() {
  "bakery", "pastries", "birthday cake"
}
searchParameters.Add(relatedToQuerySearchParameter)

Nachdem Sie den TargetingIdeaSelector konfiguriert haben, senden Sie ihn über die get-Operation, um Keyword-Ideen abzurufen:

Java

// Get keyword ideas.
TargetingIdeaPage page = targetingIdeaService.get(selector);

C Sharp

// Get related keywords.
page = targetingIdeaService.get(selector);

Python

page = targeting_idea_service.get(selector)

PHP

// Get keyword ideas.
$page = $targetingIdeaService->get($selector);

Perl

# Get keyword ideas.
my $page = $client->TargetingIdeaService()->get({selector => $selector});

Ruby

begin
  # Perform request. If this loop executes too many times in quick suggestion,
  # you may get a RateExceededError. See here for more info on handling these:
  # https://developers.google.com/adwords/api/docs/guides/rate-limits
  page = targeting_idea_srv.get(selector)
  results += page[:entries] if page and page[:entries]

  # Prepare next page request.
  offset += PAGE_SIZE
  selector[:paging][:start_index] = offset
end while offset < page[:total_num_entries]

VB.NET

' Get related keywords.
page = targetingIdeaService.get(selector)

Antwort verarbeiten

Die Antwort besteht aus einer Liste von TargetingIdea-Objekten. Jedes TargetingIdea-Objekt enthält ein Paar aus AttributeType und zugehörigem Attribute. Stellen Sie sich jedes TargetingIdea-Objekt einfach als Datenzeile vor. Jeder AttributeType ist eine Zelle bzw. Spalte in dieser Zeile und das entsprechende Attribute ist der Wert dieser Datenzelle.

Java

// Display keyword ideas.
for (TargetingIdea targetingIdea : page.getEntries()) {
  Map<AttributeType, Attribute> data = Maps.toMap(targetingIdea.getData());
  StringAttribute keyword = (StringAttribute) data.get(AttributeType.KEYWORD_TEXT);

  IntegerSetAttribute categories =
      (IntegerSetAttribute) data.get(AttributeType.CATEGORY_PRODUCTS_AND_SERVICES);
  String categoriesString = "(none)";
  if (categories != null && categories.getValue() != null) {
    categoriesString = Joiner.on(", ").join(Ints.asList(categories.getValue()));
  }
  Long averageMonthlySearches =
      ((LongAttribute) data.get(AttributeType.SEARCH_VOLUME))
          .getValue();
  Money averageCpc =
      ((MoneyAttribute) data.get(AttributeType.AVERAGE_CPC)).getValue();
  Double competition =
      ((DoubleAttribute) data.get(AttributeType.COMPETITION)).getValue();
  System.out.printf("Keyword with text '%s', average monthly search volume %d, "
      + "average CPC %d, and competition %.2f "
      + "was found with categories: %s%n", keyword.getValue(), averageMonthlySearches,
      averageCpc.getMicroAmount(), competition,
      categoriesString);
}

C Sharp

// Display related keywords.
if (page.entries != null && page.entries.Length > 0) {
  foreach (TargetingIdea targetingIdea in page.entries) {
    Dictionary<AttributeType, Google.Api.Ads.AdWords.v201802.Attribute> ideas =
        targetingIdea.data.ToDict();

    string keyword = (ideas[AttributeType.KEYWORD_TEXT] as StringAttribute).value;
    IntegerSetAttribute categorySet =
        ideas[AttributeType.CATEGORY_PRODUCTS_AND_SERVICES] as IntegerSetAttribute;

    string categories = "";

    if (categorySet != null && categorySet.value != null) {
      categories = string.Join(", ", categorySet.value);
    }

    long averageMonthlySearches =
        (ideas[AttributeType.SEARCH_VOLUME] as LongAttribute).value;

    Money averageCpc = (ideas[AttributeType.AVERAGE_CPC] as MoneyAttribute).value;
    double competition = (ideas[AttributeType.COMPETITION] as DoubleAttribute).value;
    Console.WriteLine("Keyword with text '{0}', average monthly search " +
        "volume {1}, average CPC {2}, and competition {3:F2} was found with " +
        "categories: {4}", keyword, averageMonthlySearches, averageCpc?.microAmount,
        competition, categories);

    Console.WriteLine("Keyword with text '{0}', and average monthly search volume " +
        "'{1}' was found with categories: {2}", keyword, averageMonthlySearches,
        categories);
    i++;
  }
}

Python

for result in page['entries']:
  attributes = {}
  for attribute in result['data']:
    attributes[attribute['key']] = getattr(
        attribute['value'], 'value', '0')
  print ('Keyword with "%s" text and average monthly search volume '
         '"%s" was found with Products and Services categories: %s.'
         % (attributes['KEYWORD_TEXT'],
            attributes['SEARCH_VOLUME'],
            attributes['CATEGORY_PRODUCTS_AND_SERVICES']))

PHP

// Print out some information for each targeting idea.
$entries = $page->getEntries();
if ($entries !== null) {
    foreach ($entries as $targetingIdea) {
        $data = MapEntries::toAssociativeArray($targetingIdea->getData());
        $keyword = $data[AttributeType::KEYWORD_TEXT]->getValue();
        $searchVolume = ($data[AttributeType::SEARCH_VOLUME]->getValue() !== null)
            ? $data[AttributeType::SEARCH_VOLUME]->getValue() : 0;
        $averageCpc = $data[AttributeType::AVERAGE_CPC]->getValue();
        $competition = $data[AttributeType::COMPETITION]->getValue();
        $categoryIds = ($data[AttributeType::CATEGORY_PRODUCTS_AND_SERVICES]->getValue() === null)
            ? $categoryIds = ''
            : implode(
                ', ',
                $data[AttributeType::CATEGORY_PRODUCTS_AND_SERVICES]->getValue()
            );
        printf(
            "Keyword with text '%s', average monthly search volume %d, "
            . "average CPC %d, and competition %.2f was found with categories: %s\n",
            $keyword,
            $searchVolume,
            ($averageCpc === null) ? 0 : $averageCpc->getMicroAmount(),
            $competition,
            $categoryIds
        );
    }
}

Perl

foreach my $targeting_idea (@{$page->get_entries()}) {
  my $data =
    Google::Ads::Common::MapUtils::get_map($targeting_idea->get_data());
  my $keyword = $data->{"KEYWORD_TEXT"}->get_value();
  my $search_volume =
      $data->{"SEARCH_VOLUME"}->get_value()
    ? $data->{"SEARCH_VOLUME"}->get_value()
    : 0;
  my $categories =
      $data->{"CATEGORY_PRODUCTS_AND_SERVICES"}->get_value()
    ? $data->{"CATEGORY_PRODUCTS_AND_SERVICES"}->get_value()
    : [];
  my $average_cpc =
    $data->{"AVERAGE_CPC"}->get_value()->get_microAmount();
  my $competition = $data->{"COMPETITION"}->get_value();
  printf "Keyword with text '%s', monthly search volume %d, average CPC" .
    " %d, and competition %.2f was found with categories: '%s'\n", $keyword,
    $search_volume, $average_cpc, $competition, join(", ", @{$categories});
}

Ruby

# Display results.
results.each do |result|
  data = result[:data]
  keyword = data['KEYWORD_TEXT'][:value]
  average_cpc = data['AVERAGE_CPC'][:value]
  competition = data['COMPETITION'][:value]
  products_and_services = data['CATEGORY_PRODUCTS_AND_SERVICES'][:value]
  average_monthly_searches = data['SEARCH_VOLUME'][:value]
  puts ("Keyword with text '%s', average monthly search volume %d, " +
      "average CPC %d, and competition %.2f was found with categories: %s") %
      [
        keyword,
        average_monthly_searches,
        average_cpc[:micro_amount],
        competition,
        products_and_services
      ]
end

VB.NET

            'Display the results.
            If Not page.entries Is Nothing AndAlso page.entries.Length > 0 Then
              For Each targetingIdea As TargetingIdea In page.entries
                For Each entry As Type_AttributeMapEntry In targetingIdea.data
                  ' Preferred: Use targetingIdea.data.ToDict() if you are not on Mono.
                  Dim ideas As Dictionary(Of AttributeType, Attribute) =
                      MapEntryExtensions.ToDict(Of AttributeType, Attribute)(
                          targetingIdea.data)

                  Dim keyword As String =
                    DirectCast(ideas(AttributeType.KEYWORD_TEXT), StringAttribute).value
                  Dim categorySet As IntegerSetAttribute =
                  DirectCast(ideas(AttributeType.CATEGORY_PRODUCTS_AND_SERVICES),
                      IntegerSetAttribute)

                  Dim categories As String = ""

                  If (Not categorySet Is Nothing) AndAlso (Not categorySet.value Is Nothing) Then
                    categories = String.Join(", ", categorySet.value)
                  End If

                  Dim averageMonthlySearches As Long =
                  DirectCast(ideas(AttributeType.SEARCH_VOLUME), LongAttribute).value

                  Dim averageCpcMoney As Money = DirectCast(ideas(AttributeType.AVERAGE_CPC),
                    MoneyAttribute).value
                  Dim averageCpc As Long
                  If (Not averageCpcMoney Is Nothing) Then
                    averageCpc = averageCpcMoney.microAmount
                  End If

                  Dim competition As Double = DirectCast(ideas(AttributeType.COMPETITION),
                    DoubleAttribute).value
                  Console.WriteLine("Keyword with text '{0}', average monthly search " +
                  "volume {1}, average CPC {2}, and competition {3:F2} was found with " +
                  "categories: {4}", keyword, averageMonthlySearches, averageCpc,
                  competition, categories)
                Next
                i = i + 1
              Next
            End If
            selector.paging.IncreaseOffset()
          Loop While (selector.paging.startIndex < page.totalNumEntries)
          Console.WriteLine("Number of related keywords found: {0}", page.totalNumEntries)
        Catch e As Exception
          Throw New System.ApplicationException("Failed to retrieve related keywords.", e)
        End Try
      End Using
    End Sub

  End Class

End Namespace

In der Anforderung im Beispiel wurden vier Attribute ausgewählt. Eine Antwort könnte daher wie folgt aussehen:

KEYWORD_TEXT SEARCH_VOLUME AVERAGE_CPC COMPETITION
cake bakery 170 0,485384 0,41
bakery story 390 0,069918 0,12
... ... ... ...

Keyword-Statistiken abrufen

Keyword-Statistiken aus zurückliegenden Zeiträumen lassen sich ähnlich wie Keyword-Ideen abrufen. Der einzige Unterschied ist, dass RequestType auf STATS festgelegt werden muss.

Anzeigengruppen-ID als Ausgangspunkt

Wenn bereits eine Kampagne und eine Anzeigengruppe vorhanden sind, können Sie Ausrichtungsideen abrufen, indem Sie mit dem SeedAdGroupIdSearchParameter die Anzeigengruppen-ID angeben.

Java

SeedAdGroupIdSearchParameter seedAdGroupIdSearchParameter =
    new SeedAdGroupIdSearchParameter();
seedAdGroupIdSearchParameter.setAdGroupId(adGroupId);
searchParameters.add(seedAdGroupIdSearchParameter);

C Sharp

SeedAdGroupIdSearchParameter seedAdGroupIdSearchParameter =
    new SeedAdGroupIdSearchParameter();
seedAdGroupIdSearchParameter.adGroupId = adGroupId.Value;
searchParameters.Add(seedAdGroupIdSearchParameter);

Python

# Use an existing ad group to generate ideas (optional)
if ad_group_id is not None:
  selector['searchParameters'].append({
      'xsi_type': 'SeedAdGroupIdSearchParameter',
      'adGroupId': ad_group_id
  })

PHP

$seedAdGroupIdSearchParameter = new SeedAdGroupIdSearchParameter();
$seedAdGroupIdSearchParameter->setAdGroupId($adGroupId);
$searchParameters[] = $seedAdGroupIdSearchParameter;

Perl

my $seed_ad_group_id_search_parameter =
  Google::Ads::AdWords::v201802::SeedAdGroupIdSearchParameter->new({
    adGroupId => $ad_group_id
  });
push @search_parameters, $seed_ad_group_id_search_parameter;

Ruby

search_parameters << {
  :xsi_type => 'SeedAdGroupIdSearchParameter',
  :ad_group_id => ad_group_id
}

VB.NET

Dim seedAdGroupIdSearchParameter As New SeedAdGroupIdSearchParameter()
seedAdGroupIdSearchParameter.adGroupId = adGroupId.Value
searchParameters.Add(seedAdGroupIdSearchParameter)

Zuordnung zum Keyword-Planer

Eine der am häufigsten gestellten Fragen zum TargetingIdeaService lautet: "Warum weichen die TargetingIdeaService-Ergebnisse von denen des Keyword-Planers ab?"

Der Grund hierfür ist, dass ein TargetingIdeaSelector mit mehreren unterschiedlichen SearchParametern konfiguriert werden kann und die zurückgegebenen Ergebnisse erheblich abweichen können, wenn ein anderer SearchParameter verwendet wird.

Auswahl des richtigen Werbenetzwerks

Eine der häufigsten Fehler besteht darin, den NetworkSearchParameter nicht anzugeben. So wird beispielsweise vom Keyword-Planer möglicherweise nur nach Keyword-Ideen für das Google Suchnetzwerk und nicht für andere Werbenetzwerke gesucht. Stellen Sie in diesem Fall sicher, dass der NetworkSearchParameter im TargetingIdeaSelector festgelegt wird. Um beispielsweise nur Ideen für das Suchnetzwerk abzurufen, legen Sie den NetworkSearchParameter wie folgt fest:

Java

// Create network search parameter (optional).
NetworkSetting networkSetting = new NetworkSetting();
networkSetting.setTargetGoogleSearch(true);
networkSetting.setTargetSearchNetwork(false);
networkSetting.setTargetContentNetwork(false);
networkSetting.setTargetPartnerSearchNetwork(false);

NetworkSearchParameter networkSearchParameter = new NetworkSearchParameter();
networkSearchParameter.setNetworkSetting(networkSetting);
searchParameters.add(networkSearchParameter);

C Sharp

// Add network search parameter (optional).
NetworkSetting networkSetting = new NetworkSetting();
networkSetting.targetGoogleSearch = true;
networkSetting.targetSearchNetwork = false;
networkSetting.targetContentNetwork = false;
networkSetting.targetPartnerSearchNetwork = false;

NetworkSearchParameter networkSearchParameter = new NetworkSearchParameter();
networkSearchParameter.networkSetting = networkSetting;
searchParameters.Add(networkSearchParameter);

Python

# Network search parameter (optional)
selector['searchParameters'].append({
    'xsi_type': 'NetworkSearchParameter',
    'networkSetting': {
        'targetGoogleSearch': True,
        'targetSearchNetwork': False,
        'targetContentNetwork': False,
        'targetPartnerSearchNetwork': False
    }
})

PHP

// Create network search parameter (optional).
$networkSetting = new NetworkSetting();
$networkSetting->setTargetGoogleSearch(true);
$networkSetting->setTargetSearchNetwork(false);
$networkSetting->setTargetContentNetwork(false);
$networkSetting->setTargetPartnerSearchNetwork(false);

$networkSearchParameter = new NetworkSearchParameter();
$networkSearchParameter->setNetworkSetting($networkSetting);
$searchParameters[] = $networkSearchParameter;

Perl

# Create network search paramter (optional).
my $network_setting = Google::Ads::AdWords::v201802::NetworkSetting->new({
  targetGoogleSearch         => 1,
  targetSearchNetwork        => 0,
  targetContentNetwork       => 0,
  targetPartnerSearchNetwork => 0
});
my $network_setting_parameter =
  Google::Ads::AdWords::v201802::NetworkSearchParameter->new(
  {networkSetting => $network_setting});
push @search_parameters, $network_setting_parameter;

Ruby

search_parameters << {
  # Network search parameter (optional).
  :xsi_type => 'NetworkSearchParameter',
  :network_setting => {
    :target_google_search => true,
    :target_search_network => false,
    :target_content_network => false,
    :target_partner_search_network => false
  }
}

VB.NET

' Add network search parameter (optional).
Dim networkSetting As New NetworkSetting()
networkSetting.targetGoogleSearch = True
networkSetting.targetSearchNetwork = False
networkSetting.targetContentNetwork = False
networkSetting.targetPartnerSearchNetwork = False

Dim networkSearchParameter As New NetworkSearchParameter()
networkSearchParameter.networkSetting = networkSetting
searchParameters.Add(networkSearchParameter)

Der NetworkSearchParameter sollte unbedingt so konfiguriert werden wie die potenzielle Kampagne.

Mithilfe einer Wortgruppe, Website oder Kategorie nach neuen Keywords suchen

Wenn Sie mit der API eine ähnliche Funktion wie diese Keyword-Planer-Funktion erreichen möchten, kann jedes Eingabefeld einer entsprechenden TargetingIdeaSelector-Konfiguration zugeordnet werden (z. B. SearchParameter):

Keyword-Planer AdWords API
Ihr Produkt oder Ihre Dienstleistung RelatedToQuerySearchParameter
Ihre Zielseite RelatedToUrlSearchParameter
Ihre Produktkategorie CategoryProductsAndServicesSearchParameter (weitere Informationen unter Taxonomie oder IDs der Produkt- und Dienstleistungskategorien)
Ausrichtung – Standort LocationSearchParameter
Ausrichtung – Sprache LanguageSearchParameter
Ausrichtung – Werbenetzwerk NetworkSearchParameter
Zeitraum (monatliches Suchvolumen) Wählen Sie Folgendes aus: AttributeType.TARGETED_MONTHLY_SEARCHES
Keyword-Filter – Durchschnittliche monatliche Suchanfragen SearchVolumeSearchParameter
Keyword-Filter – Mitbewerber CompetitionSearchParameter
Keywords einschließen/ausschließen IdeaTextFilterSearchParameter
ExcludedKeywordSearchParameter

Legen Sie zum Schluss TargetingIdeaSelector.requestType auf IDEAS fest.

Die Parameterzuordnung ist ähnlich wie bei den anderen Funktionen dieser Art:

Keyword-Planer AdWords API
Keywords eingeben RelatedToQuerySearchParameter
Ausrichtung – Standort LocationSearchParameter
Ausrichtung – Werbenetzwerk NetworkSearchParameter
Zeitraum (monatliches Suchvolumen) Wählen Sie Folgendes aus: AttributeType.TARGETED_MONTHLY_SEARCHES

Legen Sie zum Abschluss TargetingIdeaSelector.requestType auf STATS fest.

Keyword-Listen vervielfältigen, um neues Keyword abzurufen

Von der AdWords API werden Keyword-Kombinationen nicht automatisch berechnet. Zum Umsetzen dieser Funktion müssen Sie die kombinierte Keyword-Liste programmatisch ermitteln und dann TargetingIdeaSelector entsprechend einrichten.

Keyword-Planer AdWords API
Liste 1 und Liste 2 Die zwei Listen programmatisch kombinieren und dann RelatedToQuerySearchParameter verwenden
Ausrichtung – Standort LocationSearchParameter
Ausrichtung – Werbenetzwerk NetworkSearchParameter

Codebeispiele

Jede Clientbibliothek enthält im Ordner Optimierung ein vollständiges Codebeispiel:

Feedback geben zu...