Сигналы группы объектов

AssetGroupSignal – это сигнал, который вы можете передавать в Google, чтобы оптимизировать показ объявлений на уровне группы объектов. На основе этих сигналов система будет находить для вас новые показы с такой же и более высокой вероятностью конверсии в поисковой и контекстно-медийной сетях, а также на видеоплатформах и других ресурсах. Используя сигналы групп объектов и данные Google о намерениях и предпочтениях потребителей в реальном времени, кампании с максимальной эффективностью могут находить новые сегменты клиентов, о которых вы раньше могли не знать.

Стандартные кампании с максимальной эффективностью могут работать без сигналов групп объектов, а для кампаний с максимальной эффективностью для местных услуг требуется хотя бы один сигнал группы объектов на группу объектов. Если вы попытаетесь удалить последний сигнал, то получите ошибку AssetGroupSignalError.CANNOT_REMOVE_ALL_SIGNALS.

Вы можете предоставить Google подсказки трех типов: audience, search_theme и local_services_id. У AssetGroup может быть несколько сигналов группы объектов, но каждый сигнал необходимо добавить отдельно, создав AssetGroupSignal и заполнив поле oneof AssetGroupSignal.signal.

Аудитории

Audience – это набор целевых сегментов, настроек демографического таргетинга и исключений, который можно использовать в разных кампаниях. AssetGroupSignal позволяет указать, какая Audience с наибольшей вероятностью совершит конверсию для вашей AssetGroup. Подробнее о сигналах аудиторий…

AssetGroupSignal можно добавить только в или удалить только из AssetGroup. Любые изменения в связанном объекте Audience должны выполняться с помощью AudienceService.

Java

AssetGroupSignal audienceSignal =
    AssetGroupSignal.newBuilder()
        .setAssetGroup(assetGroupResourceName)
        .setAudience(
            AudienceInfo.newBuilder()
                .setAudience(ResourceNames.audience(customerId, audienceId)))
        .build();

mutateOperations.add(
    MutateOperation.newBuilder()
        .setAssetGroupSignalOperation(
            AssetGroupSignalOperation.newBuilder().setCreate(audienceSignal))
        .build());
      

C#

operations.Add(
    new MutateOperation()
    {
        AssetGroupSignalOperation = new AssetGroupSignalOperation()
        {
            Create = new AssetGroupSignal()
            {
                AssetGroup = assetGroupResourceName,
                Audience = new AudienceInfo()
                {
                    Audience = ResourceNames.Audience(customerId, audienceId.Value)
                }
            }
        }
    }
);
      

PHP

private static function createAssetGroupSignalOperations(
    int $customerId,
    string $assetGroupResourceName,
    ?int $audienceId
): array {
    $operations = [];
    if (is_null($audienceId)) {
        return $operations;
    }

    $operations[] = new MutateOperation(
        [
        'asset_group_signal_operation' => new AssetGroupSignalOperation(
            [
            // To learn more about Audience Signals, see
            // https://developers.google.com/google-ads/api/docs/performance-max/asset-groups#audience_signals.
            'create' => new AssetGroupSignal(
                [
                'asset_group' => $assetGroupResourceName,
                'audience' => new AudienceInfo(
                    [
                    'audience' => ResourceNames::forAudience($customerId, $audienceId)
                    ]
                )
                ]
            )
            ]
        )
        ]
    );

    return $operations;
}
      

Python

mutate_operation: MutateOperation = client.get_type("MutateOperation")
operation: AssetGroupSignal = (
    mutate_operation.asset_group_signal_operation.create
)
operation.asset_group = asset_group_resource_name
operation.audience.audience = googleads_service.audience_path(
    customer_id, audience_id
)
operations.append(mutate_operation)
      

Ruby

# Create a list of MutateOperations that create AssetGroupSignals.
def create_asset_group_signal_operations(client, customer_id, audience_id)
  operations = []
  return operations if audience_id.nil?

  operations << client.operation.mutate do |m|
    m.asset_group_signal_operation = client.operation.create_resource.
        asset_group_signal do |ags|
      ags.asset_group = client.path.asset_group(
        customer_id,
        ASSET_GROUP_TEMPORARY_ID,
      )
      ags.audience = client.resource.audience_info do |ai|
        ai.audience = client.path.audience(customer_id, audience_id)
      end
    end
  end

  operations
end
      

Perl

sub create_asset_group_signal_operations {
  my ($customer_id, $audience_id) = @_;

  my $operations = [];
  return $operations if not defined $audience_id;

  push @$operations,
    Google::Ads::GoogleAds::V25::Services::GoogleAdsService::MutateOperation->
    new({
      assetGroupSignalOperation =>
        Google::Ads::GoogleAds::V25::Services::AssetGroupSignalService::AssetGroupSignalOperation
        ->new({
          # To learn more about Audience Signals, see:
          # https://developers.google.com/google-ads/api/docs/performance-max/asset-groups#audience_signals
          create =>
            Google::Ads::GoogleAds::V25::Resources::AssetGroupSignal->new({
              assetGroup =>
                Google::Ads::GoogleAds::V25::Utils::ResourceNames::asset_group(
                $customer_id, ASSET_GROUP_TEMPORARY_ID
                ),
              audience =>
                Google::Ads::GoogleAds::V25::Common::AudienceInfo->new({
                  audience =>
                    Google::Ads::GoogleAds::V25::Utils::ResourceNames::audience(
                    $customer_id, $audience_id
                    )})})})});
  return $operations;
}
      

curl

Аудитории можно создавать с scope, равным ASSET_GROUP, чтобы указать, что аудитория должна использоваться в одной группе объектов. Поле Audience.asset_group должно быть заполнено названием ресурса группы объектов, если и только если для поля Audience.scope задано значение ASSET_GROUP. Если аудитория с областью действия ASSET_GROUP будет преобразована в аудиторию с областью действия CUSTOMER, значение Audience.asset_group будет автоматически удалено.

Рекомендации по оптимизации сигналов аудитории

В Google Ads API есть два типа рекомендаций, которые помогут вам оптимизировать сигналы аудитории:

  1. REFRESH_CUSTOMER_MATCH_LIST рекомендует обновить список клиентов, который не обновлялся в течение некоторого времени. Это полезно, если аудитории, которые вы используете в качестве сигналов группы объектов, содержат списки клиентов.

  2. IMPROVE_GOOGLE_TAG_COVERAGE рекомендует добавить тег Google на большее количество страниц сайта, чтобы улучшить отслеживание конверсий. Это может повысить точность регистрации конверсий, а значит, и точность сигналов аудитории для групп объектов.

Дополнительную информацию можно найти в руководстве Показатель оптимизации и рекомендации.

Темы поиска

search_theme в кампаниях с максимальной эффективностью позволяют предоставлять ИИ от Google ценную информацию о том, что ищут ваши клиенты и какие темы приводят к конверсиям для вашей компании. Этот новый тип критерия можно использовать только в кампаниях с максимальной эффективностью, чтобы создать AssetGroupSignal, заполнив поле AssetGroupSignal.search_theme критерием SearchThemeInfo.

Java

AssetGroupSignal searchThemeSignal =
    AssetGroupSignal.newBuilder()
        .setAssetGroup(assetGroupResourceName)
        .setSearchTheme(SearchThemeInfo.newBuilder().setText("travel").build())
        .build();

mutateOperations.add(
    MutateOperation.newBuilder()
        .setAssetGroupSignalOperation(
            AssetGroupSignalOperation.newBuilder().setCreate(searchThemeSignal))
        .build());
      

C#

This example is not yet available in C#; you can take a look at the other languages.
    

PHP

This example is not yet available in PHP; you can take a look at the other languages.
    

Python

mutate_operation: MutateOperation = client.get_type("MutateOperation")
operation: AssetGroupSignal = (
    mutate_operation.asset_group_signal_operation.create
)
operation.asset_group = asset_group_resource_name
operation.search_theme.text = "travel"
operations.append(mutate_operation)
      

Ruby

This example is not yet available in Ruby; you can take a look at the other languages.
    

Perl

This example is not yet available in Perl; you can take a look at the other languages.
    

curl

Местные услуги

local_services_id в кампаниях с максимальной эффективностью позволяет оптимизировать показ объявлений с помощью сигналов идентификатора сервиса Рекламы местных услуг. Этот тип критерия можно использовать в кампаниях с максимальной эффективностью, чтобы создать объект AssetGroupSignal, заполнив поле AssetGroupSignal.local_services_id сообщением LocalServiceIdInfo.

Если заполнить это поле, то будет указана категория местных услуг и местоположение (например, install_faucet или категории сантехнических услуг), которые помогут оптимизировать кампанию. Этот сигнал помогает находить потенциальных клиентов, которые заинтересованы в определенных типах услуг.