Подбор вариантов таргетинга

В веб-интерфейсе AdWords есть Планировщик ключевых слов, который подбирает новые варианты с учетом контента вашего сайта и уже используемых слов. Оценить, будут ли они эффективны, можно по статистике, например по средней цене за клик, количеству запросов в месяц и другим показателям.

В AdWords API для этого есть служба TargetingIdeaService. С ее помощью можно получать варианты таргетинга прямо из инструмента или платформы, что помогает автоматизировать оптимизацию аккаунта.

Пример использования

Службу TargetingIdeaService можно использовать для подбора вариантов ключевых слов. Входные данные при этом могут быть самыми разными, например:

  • исходные ключевые слова;
  • идентификатор исходной группы объявлений;
  • целевой сайт;
  • местоположение;
  • язык;
  • категория товара или услуги;
  • и так далее…

Когда вы создаете новую кампанию или оптимизируете существующую, с помощью службы TargetingIdeaService можно получить список вариантов ключевых слов, основанный на вашей таксономии.

С помощью этого сервиса можно получать результаты, аналогичные тем, что доступны через функции Поиск новых ключевых слов и получение статистики запросов в Планировщике ключевых слов.

Ещё одну функцию – планирование бюджета и получение прогнозов – выполняет служба оценки трафика (TrafficEstimatorService).

Получение вариантов ключевых слов

Ввод данных в TargetingIdeaService выполняется через поля селектора TargetingIdeaSelector. В примере ниже показано, как получить из TargetingIdeaService варианты по двум исходным ключевым словам.

Подготовка запроса

В селекторе TargetingIdeaSelector установите параметры, которые указывают, что цель запроса – получение вариантов ключевых слов:

Java

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

CSharp

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

Выберите, какие атрибуты нужно получить. Представьте, что каждый из них – это поле или столбец, связанный с ключевым словом:

Java

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

CSharp

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
}

Настройте селектор Paging, чтобы ограничить число результатов, возвращаемых по одному запросу. Paging является обязательным полем объекта TargetingIdeaSelector.

Java

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

CSharp

// 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

В параметре RelatedToQuerySearchParameter укажите список исходных ключевых слов:

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

CSharp

// 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)

Настроив селектор TargetingIdeaSelector, отправьте его с помощью операции get:

Java

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

CSharp

// 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)

Обработка ответа

Ответ состоит из списка объектов TargetingIdea. Каждый объект TargetingIdea содержит сопоставление элемента AttributeType, связанного с элементом Attribute. Для удобства можно представить, что объект TargetingIdea – это строка, каждый элемент AttributeType – поле в этой строке, а соответствующий элемент Attribute – значение в этом поле.

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

CSharp

// 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

Ниже представлен пример ответа на запрос с четырьмя атрибутами.

Текст ключевого слова Количество запросов Средняя цена за клик Уровень конкуренции
выпечка пекарня 170 0,485384 0,41
пекарня история 390 0,069918 0,12

Получение статистики по ключевым словам

Процедура аналогична описанной выше, только в параметре RequestType нужно изменить значение на STATS.

Отбор по идентификатору группы объявлений

Если у вас есть кампания и группа объявлений, для подбора вариантов таргетинга вы можете указать идентификатор группы объявлений в параметре SeedAdGroupIdSearchParameter.

Java

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

CSharp

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)

Сравнение с Планировщиком ключевых слов

Часто пользователи службы TargetingIdeaService задаются вопросом, почему ее варианты не совпадают с вариантами Планировщика ключевых слов.

Причина в том, что службу TargetingIdeaSelector можно настроить с разными параметрами SearchParameter. Результаты зависят от того, какой параметр SearchParameter используется.

О правильном выборе сети

Одна из самых частых ошибок – отсутствие параметра NetworkSearchParameter Если вы хотите, чтобы Планировщик ключевых слов искал варианты по Google Поиску и не учитывал другие сети, этот параметр нужно указать в селекторе TargetingIdeaSelector. Пример с параметром NetworkSearchParameter:

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

CSharp

// 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)

Настраивайте параметр NetworkSearchParameter в соответствии с настройками кампании, в которой он будет применяться.

Поиск новых ключевых слов по фразе, сайту или категории

Чтобы выполнить эту функцию, сопоставьте каждое поле ввода с соответствующей конфигурацией селектора TargetingIdeaSelector, например с параметром SearchParameter.

Планировщик ключевых слов AdWords API
Товар или услуга RelatedToQuerySearchParameter
Целевая страница RelatedToUrlSearchParameter
Категория товаров CategoryProductsAndServicesSearchParameter (см. идентификаторы или таксономию категорий товаров и услуг)
Геотаргетинг LocationSearchParameter
Языковой таргетинг LanguageSearchParameter
Таргетинг на сети NetworkSearchParameter
Диапазон дат (количество запросов в месяц) Выберите AttributeType..TARGETED_MONTHLY_SEARCHES
Фильтры ключевых слов – среднее число запросов в месяц SearchVolumeSearchParameter
Фильтры ключевых слов – уровень конкуренции CompetitionSearchParameter
Включить/исключить ключевые слова IdeaTextFilterSearchParameter
ExcludedKeywordSearchParameter

Для элемента TargetingIdeaSelector.requestType установите значение IDEAS.

Сопоставление параметров происходит так же, как и при выполнении остальных функций.

Планировщик ключевых слов AdWords API
Ключевые слова RelatedToQuerySearchParameter
Геотаргетинг LocationSearchParameter
Таргетинг на сети NetworkSearchParameter
Диапазон дат (количество запросов в месяц) AttributeType.TARGETED_MONTHLY_SEARCHES

Для элемента TargetingIdeaSelector.requestType установите значение STATS.

Подбор ключевых слов на основе существующих списков

В AdWords API комбинации ключевых слов не вычисляются автоматически. Чтобы выполнить эту функцию, нужно программно определить список комбинаций, а затем настроить селектор TargetingIdeaSelector.

Планировщик ключевых слов AdWords API
Список 1 и список 2 Объедините списки программным методом, а затем используйте параметр RelatedToQuerySearchParameter.
Геотаргетинг LocationSearchParameter
Таргетинг на сети NetworkSearchParameter

Примеры кода

В каждой клиентской библиотеке в папке Optimization есть пример полного кода.

Оставить отзыв о...

Текущей странице
Нужна помощь? Обратитесь в службу поддержки.