Начало работы

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

Для отслеживания большинства действий-конверсий также требуются дополнительные действия с вашей стороны. Подробнее о различных типах действий-конверсий и их требованиях см. в руководстве «Создание действий-конверсий» .

Настройте свой сайт для отслеживания конверсий

Если вы начинаете интеграцию импорта офлайн-конверсий, первым шагом будет выполнение инструкций из руководства «Настройка тега Google для расширенного отслеживания конверсий лидов», чтобы настроить свой сайт для отслеживания расширенного отслеживания конверсий лидов. Вы также можете использовать Диспетчер тегов Google для настройки своего сайта, следуя инструкциям из руководства «Настройка Диспетчера тегов Google для расширенного отслеживания конверсий лидов» .

Включите отслеживание конверсий в своем аккаунте Google Ads

Получите информацию о настройках отслеживания конверсий

Вы можете проверить настройки отслеживания конверсий в своей учетной записи и убедиться, что отслеживание включено, запросив ресурс Customer для параметра ConversionTrackingSetting . Выполните следующий запрос с помощью GoogleAdsService.SearchStream :

SELECT
  customer.conversion_tracking_setting.google_ads_conversion_customer,
  customer.conversion_tracking_setting.conversion_tracking_status,
  customer.conversion_tracking_setting.conversion_tracking_id,
  customer.conversion_tracking_setting.cross_account_conversion_tracking_id
FROM customer

Поле google_ads_conversion_customer указывает аккаунт Google Рекламы, который создаёт и управляет конверсиями для данного клиента. Для клиентов, использующих отслеживание конверсий между аккаунтами , это идентификатор управляющего аккаунта. Идентификатор клиента, создающего конверсию в Google Рекламе, следует указывать как customer_id в запросах API Google Рекламы для создания и управления конверсиями. Обратите внимание, что это поле заполняется, даже если отслеживание конверсий не включено.

Поле conversion_tracking_status указывает, включено ли отслеживание конверсий и используется ли в учетной записи отслеживание конверсий между учетными записями.

Создайте действие-конверсию в клиенте Google Ads.

Если значение conversion_tracking_status равно NOT_CONVERSION_TRACKED , отслеживание конверсий для аккаунта отключено. Чтобы включить отслеживание конверсий, создайте хотя бы одно ConversionAction в аккаунте конверсий Google Рекламы, как показано в следующем примере. Кроме того, вы можете создать действие-конверсию в пользовательском интерфейсе, следуя инструкциям в Справочном центре для нужного типа конверсии.

Обратите внимание, что расширенные конверсии включаются автоматически при отправке через API Google Ads, но их можно отключить через пользовательский интерфейс Google Ads.

Пример кода

Ява

private void runExample(GoogleAdsClient googleAdsClient, long customerId) {

  // Creates a ConversionAction.
  ConversionAction conversionAction =
      ConversionAction.newBuilder()
          // Note that conversion action names must be unique. If a conversion action already
          // exists with the specified conversion_action_name the create operation will fail with
          // a ConversionActionError.DUPLICATE_NAME error.
          .setName("Earth to Mars Cruises Conversion #" + getPrintableDateTime())
          .setCategory(ConversionActionCategory.DEFAULT)
          .setType(ConversionActionType.WEBPAGE)
          .setStatus(ConversionActionStatus.ENABLED)
          .setViewThroughLookbackWindowDays(15L)
          .setValueSettings(
              ValueSettings.newBuilder()
                  .setDefaultValue(23.41)
                  .setAlwaysUseDefaultValue(true)
                  .build())
          .build();

  // Creates the operation.
  ConversionActionOperation operation =
      ConversionActionOperation.newBuilder().setCreate(conversionAction).build();

  try (ConversionActionServiceClient conversionActionServiceClient =
      googleAdsClient.getLatestVersion().createConversionActionServiceClient()) {
    MutateConversionActionsResponse response =
        conversionActionServiceClient.mutateConversionActions(
            Long.toString(customerId), Collections.singletonList(operation));
    System.out.printf("Added %d conversion actions:%n", response.getResultsCount());
    for (MutateConversionActionResult result : response.getResultsList()) {
      System.out.printf(
          "New conversion action added with resource name: '%s'%n", result.getResourceName());
    }
  }
}
      

С#

public void Run(GoogleAdsClient client, long customerId)
{
    // Get the ConversionActionService.
    ConversionActionServiceClient conversionActionService =
        client.GetService(Services.V20.ConversionActionService);

    // Note that conversion action names must be unique.
    // If a conversion action already exists with the specified name the create operation
    // will fail with a ConversionAction.DUPLICATE_NAME error.
    string ConversionActionName = "Earth to Mars Cruises Conversion #"
        + ExampleUtilities.GetRandomString();

    // Add a conversion action.
    ConversionAction conversionAction = new ConversionAction()
    {
        Name = ConversionActionName,
        Category = ConversionActionCategory.Default,
        Type = ConversionActionType.Webpage,
        Status = ConversionActionStatus.Enabled,
        ViewThroughLookbackWindowDays = 15,
        ValueSettings = new ConversionAction.Types.ValueSettings()
        {
            DefaultValue = 23.41,
            AlwaysUseDefaultValue = true
        }
    };

    // Create the operation.
    ConversionActionOperation operation = new ConversionActionOperation()
    {
        Create = conversionAction
    };

    try
    {
        // Create the conversion action.
        MutateConversionActionsResponse response =
            conversionActionService.MutateConversionActions(customerId.ToString(),
                    new ConversionActionOperation[] { operation });

        // Display the results.
        foreach (MutateConversionActionResult newConversionAction in response.Results)
        {
            Console.WriteLine($"New conversion action with resource name = " +
                $"'{newConversionAction.ResourceName}' was added.");
        }
    }
    catch (GoogleAdsException e)
    {
        Console.WriteLine("Failure:");
        Console.WriteLine($"Message: {e.Message}");
        Console.WriteLine($"Failure: {e.Failure}");
        Console.WriteLine($"Request ID: {e.RequestId}");
        throw;
    }
}
      

PHP

public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId)
{
    // Creates a conversion action.
    $conversionAction = new ConversionAction([
        // Note that conversion action names must be unique.
        // If a conversion action already exists with the specified conversion_action_name
        // the create operation will fail with a ConversionActionError.DUPLICATE_NAME error.
        'name' => 'Earth to Mars Cruises Conversion #' . Helper::getPrintableDatetime(),
        'category' => ConversionActionCategory::PBDEFAULT,
        'type' => ConversionActionType::WEBPAGE,
        'status' => ConversionActionStatus::ENABLED,
        'view_through_lookback_window_days' => 15,
        'value_settings' => new ValueSettings([
            'default_value' => 23.41,
            'always_use_default_value' => true
        ])
    ]);

    // Creates a conversion action operation.
    $conversionActionOperation = new ConversionActionOperation();
    $conversionActionOperation->setCreate($conversionAction);

    // Issues a mutate request to add the conversion action.
    $conversionActionServiceClient = $googleAdsClient->getConversionActionServiceClient();
    $response = $conversionActionServiceClient->mutateConversionActions(
        MutateConversionActionsRequest::build($customerId, [$conversionActionOperation])
    );

    printf("Added %d conversion actions:%s", $response->getResults()->count(), PHP_EOL);

    foreach ($response->getResults() as $addedConversionAction) {
        /** @var ConversionAction $addedConversionAction */
        printf(
            "New conversion action added with resource name: '%s'%s",
            $addedConversionAction->getResourceName(),
            PHP_EOL
        );
    }
}
      

Питон

def main(client, customer_id):
    conversion_action_service = client.get_service("ConversionActionService")

    # Create the operation.
    conversion_action_operation = client.get_type("ConversionActionOperation")

    # Create conversion action.
    conversion_action = conversion_action_operation.create

    # Note that conversion action names must be unique. If a conversion action
    # already exists with the specified conversion_action_name, the create
    # operation will fail with a ConversionActionError.DUPLICATE_NAME error.
    conversion_action.name = f"Earth to Mars Cruises Conversion {uuid.uuid4()}"
    conversion_action.type_ = (
        client.enums.ConversionActionTypeEnum.UPLOAD_CLICKS
    )
    conversion_action.category = (
        client.enums.ConversionActionCategoryEnum.DEFAULT
    )
    conversion_action.status = client.enums.ConversionActionStatusEnum.ENABLED
    conversion_action.view_through_lookback_window_days = 15

    # Create a value settings object.
    value_settings = conversion_action.value_settings
    value_settings.default_value = 15.0
    value_settings.always_use_default_value = True

    # Add the conversion action.
    conversion_action_response = (
        conversion_action_service.mutate_conversion_actions(
            customer_id=customer_id,
            operations=[conversion_action_operation],
        )
    )

    print(
        "Created conversion action "
        f'"{conversion_action_response.results[0].resource_name}".'
    )
      

Руби

def add_conversion_action(customer_id)
  # GoogleAdsClient will read a config file from
  # ENV['HOME']/google_ads_config.rb when called without parameters
  client = Google::Ads::GoogleAds::GoogleAdsClient.new


  # Add a conversion action.
  conversion_action = client.resource.conversion_action do |ca|
    ca.name = "Earth to Mars Cruises Conversion #{(Time.new.to_f * 100).to_i}"
    ca.type = :UPLOAD_CLICKS
    ca.category = :DEFAULT
    ca.status = :ENABLED
    ca.view_through_lookback_window_days = 15

    # Create a value settings object.
    ca.value_settings = client.resource.value_settings do |vs|
      vs.default_value = 15
      vs.always_use_default_value = true
    end
  end

  # Create the operation.
  conversion_action_operation = client.operation.create_resource.conversion_action(conversion_action)

  # Add the ad group ad.
  response = client.service.conversion_action.mutate_conversion_actions(
    customer_id: customer_id,
    operations: [conversion_action_operation],
  )

  puts "New conversion action with resource name = #{response.results.first.resource_name}."
end
      

Перл

sub add_conversion_action {
  my ($api_client, $customer_id) = @_;

  # Note that conversion action names must be unique.
  # If a conversion action already exists with the specified conversion_action_name,
  # the create operation fails with error ConversionActionError.DUPLICATE_NAME.
  my $conversion_action_name = "Earth to Mars Cruises Conversion #" . uniqid();

  # Create a conversion action.
  my $conversion_action =
    Google::Ads::GoogleAds::V20::Resources::ConversionAction->new({
      name                          => $conversion_action_name,
      category                      => DEFAULT,
      type                          => WEBPAGE,
      status                        => ENABLED,
      viewThroughLookbackWindowDays => 15,
      valueSettings                 =>
        Google::Ads::GoogleAds::V20::Resources::ValueSettings->new({
          defaultValue          => 23.41,
          alwaysUseDefaultValue => "true"
        })});

  # Create a conversion action operation.
  my $conversion_action_operation =
    Google::Ads::GoogleAds::V20::Services::ConversionActionService::ConversionActionOperation
    ->new({create => $conversion_action});

  # Add the conversion action.
  my $conversion_actions_response =
    $api_client->ConversionActionService()->mutate({
      customerId => $customer_id,
      operations => [$conversion_action_operation]});

  printf "New conversion action added with resource name: '%s'.\n",
    $conversion_actions_response->{results}[0]{resourceName};

  return 1;
}
      

Убедитесь, что параметр conversion_action_type имеет правильное значение ConversionActionType . Дополнительные рекомендации по созданию действий-конверсий в API Google Ads см. в статье Создание действий-конверсий .

Получить существующее действие конверсии

Вы можете получить информацию о существующем действии-конверсии, выполнив следующий запрос. Убедитесь, что идентификатор клиента в запросе соответствует клиенту Google Рекламы, которого вы определили выше, а тип действия-конверсии — правильному значению ConversionActionType .

SELECT
  conversion_action.resource_name,
  conversion_action.name,
  conversion_action.status
FROM conversion_action
WHERE conversion_action.type = 'INSERT_CONVERSION_ACTION_TYPE'

Отслеживание конверсий между аккаунтами

Если вы используете отслеживание конверсий между аккаунтами , ConversionActionService возвращает следующие действия конверсии:

  • Все действия по конверсии, определенные учетной записью менеджера, используемые учетной записью для отслеживания конверсий между учетными записями.
  • Все действия по конверсии, по которым у клиента накоплена статистика, включая действия, определенные системой, и действия, принадлежащие менеджеру, даже если этот менеджер впоследствии отменил связь
  • Все действия, которые клиент определил в своей учетной записи
  • Конверсии Аналитики, созданные в связанных ресурсах Google Аналитики. Это включает действия для конверсий Аналитики, не импортированных в Google Рекламу, которые имеют статус HIDDEN .

Начиная с v19.1 вы можете использовать API Google Ads для включения отслеживания перекрестных конверсий при создании клиентских учетных записей.

При создании нового Customer укажите в параметре conversion_tracking_setting.google_ads_conversion_customer имя ресурса управляющего аккаунта, который будет управлять действиями по конверсии от имени клиентского аккаунта. Этот управляющий аккаунт также должен быть аккаунтом, который отправляет запрос на create нового клиентского аккаунта.

Начиная с v20 вы можете использовать API Google Ads для включения отслеживания перекрестных конверсий как при создании , так и при обновлении клиентских аккаунтов.

При обновлении существующего клиентского аккаунта вы можете включить отслеживание конверсий между аккаунтами, настроив поле conversion_tracking_setting.google_ads_conversion_customer . В этом поле должно быть указано имя ресурса управляющего аккаунта, который будет управлять действиями по конверсии от имени клиентского аккаунта. Этот управляющий аккаунт также должен быть аккаунтом, который отправляет запрос на update клиентского аккаунта.

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

  • Клиентский аккаунт примет правила ценности конверсии по умолчанию и цели жизненного цикла клиента по умолчанию своего нового менеджера отслеживания конверсий.
  • Кампании, ориентированные на определённое действие-конверсию, будут переключены на использование целей конверсии по умолчанию из аккаунта менеджера конверсий. Если вы продолжите нацеливаться на определённое действие-конверсию, это может привести к нестабильному поведению, поскольку цели аккаунта менеджера могут отличаться от целей аккаунта клиента. Убедитесь, что ваши кампании оптимизированы для достижения правильных целей.
  • Если аккаунт принадлежит нескольким управляющим аккаунтам, он может использовать действия-конверсии только одного управляющего аккаунта. Если аккаунт для отслеживания конверсий не указан, аккаунт по умолчанию будет использовать себя в качестве аккаунта для отслеживания конверсий.

Создание конверсионных действий

Для измерения конверсий настройте ConversionAction для type действия-конверсии, которое вы хотите отслеживать. Например, для онлайн-покупки и телефонного звонка требуются разные действия-конверсии.

Лучший способ настроить новые действия конверсии в API — использовать пример кода «Добавить действие конверсии» ниже . Этот пример выполняет все фоновые задачи аутентификации и поможет вам создать действие ConversionAction .

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

Пример кода

Следующий пример кода демонстрирует процесс создания нового действия-конверсии. В частности, он создаёт действие-конверсию с type UPLOAD_CLICKS . Также устанавливается category DEFAULT .

Применяются следующие настройки по умолчанию:

Ява

private void runExample(GoogleAdsClient googleAdsClient, long customerId) {

  // Creates a ConversionAction.
  ConversionAction conversionAction =
      ConversionAction.newBuilder()
          // Note that conversion action names must be unique. If a conversion action already
          // exists with the specified conversion_action_name the create operation will fail with
          // a ConversionActionError.DUPLICATE_NAME error.
          .setName("Earth to Mars Cruises Conversion #" + getPrintableDateTime())
          .setCategory(ConversionActionCategory.DEFAULT)
          .setType(ConversionActionType.WEBPAGE)
          .setStatus(ConversionActionStatus.ENABLED)
          .setViewThroughLookbackWindowDays(15L)
          .setValueSettings(
              ValueSettings.newBuilder()
                  .setDefaultValue(23.41)
                  .setAlwaysUseDefaultValue(true)
                  .build())
          .build();

  // Creates the operation.
  ConversionActionOperation operation =
      ConversionActionOperation.newBuilder().setCreate(conversionAction).build();

  try (ConversionActionServiceClient conversionActionServiceClient =
      googleAdsClient.getLatestVersion().createConversionActionServiceClient()) {
    MutateConversionActionsResponse response =
        conversionActionServiceClient.mutateConversionActions(
            Long.toString(customerId), Collections.singletonList(operation));
    System.out.printf("Added %d conversion actions:%n", response.getResultsCount());
    for (MutateConversionActionResult result : response.getResultsList()) {
      System.out.printf(
          "New conversion action added with resource name: '%s'%n", result.getResourceName());
    }
  }
}
      

С#

public void Run(GoogleAdsClient client, long customerId)
{
    // Get the ConversionActionService.
    ConversionActionServiceClient conversionActionService =
        client.GetService(Services.V20.ConversionActionService);

    // Note that conversion action names must be unique.
    // If a conversion action already exists with the specified name the create operation
    // will fail with a ConversionAction.DUPLICATE_NAME error.
    string ConversionActionName = "Earth to Mars Cruises Conversion #"
        + ExampleUtilities.GetRandomString();

    // Add a conversion action.
    ConversionAction conversionAction = new ConversionAction()
    {
        Name = ConversionActionName,
        Category = ConversionActionCategory.Default,
        Type = ConversionActionType.Webpage,
        Status = ConversionActionStatus.Enabled,
        ViewThroughLookbackWindowDays = 15,
        ValueSettings = new ConversionAction.Types.ValueSettings()
        {
            DefaultValue = 23.41,
            AlwaysUseDefaultValue = true
        }
    };

    // Create the operation.
    ConversionActionOperation operation = new ConversionActionOperation()
    {
        Create = conversionAction
    };

    try
    {
        // Create the conversion action.
        MutateConversionActionsResponse response =
            conversionActionService.MutateConversionActions(customerId.ToString(),
                    new ConversionActionOperation[] { operation });

        // Display the results.
        foreach (MutateConversionActionResult newConversionAction in response.Results)
        {
            Console.WriteLine($"New conversion action with resource name = " +
                $"'{newConversionAction.ResourceName}' was added.");
        }
    }
    catch (GoogleAdsException e)
    {
        Console.WriteLine("Failure:");
        Console.WriteLine($"Message: {e.Message}");
        Console.WriteLine($"Failure: {e.Failure}");
        Console.WriteLine($"Request ID: {e.RequestId}");
        throw;
    }
}
      

PHP

public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId)
{
    // Creates a conversion action.
    $conversionAction = new ConversionAction([
        // Note that conversion action names must be unique.
        // If a conversion action already exists with the specified conversion_action_name
        // the create operation will fail with a ConversionActionError.DUPLICATE_NAME error.
        'name' => 'Earth to Mars Cruises Conversion #' . Helper::getPrintableDatetime(),
        'category' => ConversionActionCategory::PBDEFAULT,
        'type' => ConversionActionType::WEBPAGE,
        'status' => ConversionActionStatus::ENABLED,
        'view_through_lookback_window_days' => 15,
        'value_settings' => new ValueSettings([
            'default_value' => 23.41,
            'always_use_default_value' => true
        ])
    ]);

    // Creates a conversion action operation.
    $conversionActionOperation = new ConversionActionOperation();
    $conversionActionOperation->setCreate($conversionAction);

    // Issues a mutate request to add the conversion action.
    $conversionActionServiceClient = $googleAdsClient->getConversionActionServiceClient();
    $response = $conversionActionServiceClient->mutateConversionActions(
        MutateConversionActionsRequest::build($customerId, [$conversionActionOperation])
    );

    printf("Added %d conversion actions:%s", $response->getResults()->count(), PHP_EOL);

    foreach ($response->getResults() as $addedConversionAction) {
        /** @var ConversionAction $addedConversionAction */
        printf(
            "New conversion action added with resource name: '%s'%s",
            $addedConversionAction->getResourceName(),
            PHP_EOL
        );
    }
}
      

Питон

def main(client, customer_id):
    conversion_action_service = client.get_service("ConversionActionService")

    # Create the operation.
    conversion_action_operation = client.get_type("ConversionActionOperation")

    # Create conversion action.
    conversion_action = conversion_action_operation.create

    # Note that conversion action names must be unique. If a conversion action
    # already exists with the specified conversion_action_name, the create
    # operation will fail with a ConversionActionError.DUPLICATE_NAME error.
    conversion_action.name = f"Earth to Mars Cruises Conversion {uuid.uuid4()}"
    conversion_action.type_ = (
        client.enums.ConversionActionTypeEnum.UPLOAD_CLICKS
    )
    conversion_action.category = (
        client.enums.ConversionActionCategoryEnum.DEFAULT
    )
    conversion_action.status = client.enums.ConversionActionStatusEnum.ENABLED
    conversion_action.view_through_lookback_window_days = 15

    # Create a value settings object.
    value_settings = conversion_action.value_settings
    value_settings.default_value = 15.0
    value_settings.always_use_default_value = True

    # Add the conversion action.
    conversion_action_response = (
        conversion_action_service.mutate_conversion_actions(
            customer_id=customer_id,
            operations=[conversion_action_operation],
        )
    )

    print(
        "Created conversion action "
        f'"{conversion_action_response.results[0].resource_name}".'
    )
      

Руби

def add_conversion_action(customer_id)
  # GoogleAdsClient will read a config file from
  # ENV['HOME']/google_ads_config.rb when called without parameters
  client = Google::Ads::GoogleAds::GoogleAdsClient.new


  # Add a conversion action.
  conversion_action = client.resource.conversion_action do |ca|
    ca.name = "Earth to Mars Cruises Conversion #{(Time.new.to_f * 100).to_i}"
    ca.type = :UPLOAD_CLICKS
    ca.category = :DEFAULT
    ca.status = :ENABLED
    ca.view_through_lookback_window_days = 15

    # Create a value settings object.
    ca.value_settings = client.resource.value_settings do |vs|
      vs.default_value = 15
      vs.always_use_default_value = true
    end
  end

  # Create the operation.
  conversion_action_operation = client.operation.create_resource.conversion_action(conversion_action)

  # Add the ad group ad.
  response = client.service.conversion_action.mutate_conversion_actions(
    customer_id: customer_id,
    operations: [conversion_action_operation],
  )

  puts "New conversion action with resource name = #{response.results.first.resource_name}."
end
      

Перл

sub add_conversion_action {
  my ($api_client, $customer_id) = @_;

  # Note that conversion action names must be unique.
  # If a conversion action already exists with the specified conversion_action_name,
  # the create operation fails with error ConversionActionError.DUPLICATE_NAME.
  my $conversion_action_name = "Earth to Mars Cruises Conversion #" . uniqid();

  # Create a conversion action.
  my $conversion_action =
    Google::Ads::GoogleAds::V20::Resources::ConversionAction->new({
      name                          => $conversion_action_name,
      category                      => DEFAULT,
      type                          => WEBPAGE,
      status                        => ENABLED,
      viewThroughLookbackWindowDays => 15,
      valueSettings                 =>
        Google::Ads::GoogleAds::V20::Resources::ValueSettings->new({
          defaultValue          => 23.41,
          alwaysUseDefaultValue => "true"
        })});

  # Create a conversion action operation.
  my $conversion_action_operation =
    Google::Ads::GoogleAds::V20::Services::ConversionActionService::ConversionActionOperation
    ->new({create => $conversion_action});

  # Add the conversion action.
  my $conversion_actions_response =
    $api_client->ConversionActionService()->mutate({
      customerId => $customer_id,
      operations => [$conversion_action_operation]});

  printf "New conversion action added with resource name: '%s'.\n",
    $conversion_actions_response->{results}[0]{resourceName};

  return 1;
}
      

Этот пример вы можете увидеть в папке «Ремаркетинг» вашей клиентской библиотеки и в коллекции примеров кода: Пример кода «Добавить действие конверсии» .

Валидации

Google Ads и API Google Ads поддерживают широкий спектр действий по конверсии, поэтому некоторые правила проверки различаются в зависимости от type действия.

Самая распространённая ошибка при создании действия-конверсии — DUPLICATE_NAME . Убедитесь, что вы используете уникальное имя для каждого действия-конверсии.

Вот несколько советов по настройке полей ConversionAction :

Все поля перечисления
Попытка присвоить любому полю перечисления значение UNKNOWN приводит к ошибке RequestError.INVALID_ENUM_VALUE .
app_id
Атрибут app_id является неизменяемым и может быть установлен только при создании нового преобразования приложения.
attribution_model_settings
Установка устаревшего параметра приводит к ошибке CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS . Google Реклама поддерживает только GOOGLE_ADS_LAST_CLICK и GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN .
click_through_lookback_window_days

Установка для этого атрибута значения, выходящего за пределы допустимого диапазона, приводит к ошибке RangeError.TOO_LOW или RangeError.TOO_HIGH .

Этот атрибут должен находиться в диапазоне [1,60] для конверсионного действия AD_CALL или WEBSITE_CALL . Для большинства других конверсионных действий допустимый диапазон — [1,30] .

include_in_conversions_metric

Установка этого значения в операции create или update завершается ошибкой FieldError.IMMUTABLE_FIELD . Вместо этого задайте primary_for_goal , как описано в руководстве по целям конверсии .

phone_call_duration_seconds

Попытка установить этот атрибут для действия конверсии, которое не предназначено для звонков, приводит к ошибке FieldError.VALUE_MUST_BE_UNSET .

type

Атрибут type является неизменяемым и может быть установлен только при создании нового преобразования.

Обновление действия преобразования с type , равным UNKNOWN приводит к ошибке MutateError.MUTATE_NOT_ALLOWED .

value_settings

value_settings для действия-конверсии WEBSITE_CALL или AD_CALL должно быть always_use_default_value равно true . Указание значения false при создании или обновлении этого значения приводит к ошибке INVALID_VALUE .

view_through_lookback_window_days

Установка для этого атрибута значения, выходящего за пределы допустимого диапазона, приводит к ошибке RangeError.TOO_LOW или RangeError.TOO_HIGH . Для большинства действий-конверсий допустимый диапазон — [1,30] .

Этот атрибут нельзя задать для действий-конверсий AD_CALL или WEBSITE_CALL . Указание значения приводит к ошибке VALUE_MUST_BE_UNSET .