Начало работы с расширенным отслеживанием конверсий для Интернета

Расширенное отслеживание конверсий в Интернете требует настройки тега, который автоматически отправляет идентификатор клика, например GCLID, и идентификатор заказа в Google Рекламу, когда пользователь совершает конверсию. У вас есть возможность настроить расширенное преобразование с помощью Диспетчера тегов Google , тега Google или API Google Рекламы. Использование API Google Рекламы дает вам возможность отправлять собственные данные о конверсиях в течение 24 часов после события конверсии, а не одновременно. Это позволяет находить собственные данные из различных источников, таких как база данных клиентов или система CRM.

Как работает расширенное отслеживание конверсий для Интернета

Расширенное отслеживание конверсий для Интернета в Google Ads API дополняет шаг 3 в следующем порядке.

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

Расширенное преобразование для сеть

Реализация предварительных условий

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

  1. Включите отслеживание конверсий в своем клиенте-конверсионисте Google Рекламы.

  2. Примите условия использования данных клиента.

  3. Настройте тегирование.

1. Включите отслеживание конверсий в вашем клиенте-конверсионисте Google Рекламы.

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

Вы можете проверить настройку отслеживания конверсий вашей учетной записи и убедиться, что отслеживание конверсий включено, запросив у ресурса 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 Рекламы.

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

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

Пример кода

Ява

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.V18.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::V18::Resources::ConversionAction->new({
      name                          => $conversion_action_name,
      category                      => DEFAULT,
      type                          => WEBPAGE,
      status                        => ENABLED,
      viewThroughLookbackWindowDays => 15,
      valueSettings                 =>
        Google::Ads::GoogleAds::V18::Resources::ValueSettings->new({
          defaultValue          => 23.41,
          alwaysUseDefaultValue => "true"
        })});

  # Create a conversion action operation.
  my $conversion_action_operation =
    Google::Ads::GoogleAds::V18::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 . Дополнительные инструкции по созданию действий-конверсий в Google Ads API см. в разделе Создание действий-конверсий .

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

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

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

2. Примите условия использования данных клиента.

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

SELECT
  customer.id,
  customer.conversion_tracking_setting.accepted_customer_data_terms
FROM customer

Если accepted_customer_data_terms имеет false , следуйте инструкциям в Справочном центре, чтобы выполнить это предварительное условие.

3. Настройте тегирование

Вы можете настроить тегирование для своего веб-сайта, следуя инструкциям в Справочном центре . Рекомендуется также добавить идентификаторы транзакций (идентификаторы заказов) в тег отслеживания конверсий, чтобы облегчить сопоставление конверсий.

Следующие шаги

Выполнив все предварительные требования, вы готовы реализовать расширенное преобразование конверсий для Интернета в API Google Рекламы.