Bắt đầu

Bạn phải bật tính năng theo dõi lượt chuyển đổi trên tài khoản chuyển đổi Google Ads của mình trong ghi lại lượt chuyển đổi. Hướng dẫn này cung cấp thông tin chi tiết về cách xác nhận liệu theo dõi chuyển đổi đã được bật hay chưa, hãy bật nếu chưa bật, và truy xuất thông tin về các hành động chuyển đổi hiện có.

Hầu hết các hành động chuyển đổi cũng yêu cầu bạn thực hiện thêm một số bước để theo dõi chúng. Để xem danh sách đầy đủ các yêu cầu, hãy tham khảo trung tâm trợ giúp của chúng tôi bài viết và các trên trung tâm trợ giúp về hành động chuyển đổi.

Bật tính năng theo dõi lượt chuyển đổi trong tài khoản chuyển đổi Google Ads

Truy xuất thông tin về chế độ theo dõi lượt chuyển đổi

Bạn có thể kiểm tra chế độ thiết lập tính năng theo dõi lượt chuyển đổi của tài khoản và xác nhận lượt chuyển đổi theo dõi được bật bằng cách truy vấn tài nguyên Customer cho ConversionTrackingSetting. Đưa ra truy vấn sau bằng 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

Trường google_ads_conversion_customer cho biết tài khoản Google Ads tạo và quản lý chuyển đổi cho khách hàng này. Đối với khách hàng sử dụng theo dõi lượt chuyển đổi trên nhiều tài khoản, đây là mã tài khoản người quản lý. Mã khách hàng chuyển đổi Google Ads phải là được cung cấp dưới dạng customer_id trong các yêu cầu API Google Ads để tạo và quản lý lượt chuyển đổi. Xin lưu ý rằng trường này được điền ngay cả khi bạn chưa bật tính năng theo dõi lượt chuyển đổi.

Chiến lược phát hành đĩa đơn conversion_tracking_status cho biết liệu theo dõi chuyển đổi có được bật không và liệu tài khoản là sử dụng tính năng theo dõi lượt chuyển đổi trên nhiều tài khoản.

Tạo một hành động chuyển đổi cho khách hàng chuyển đổi trên Google Ads

Nếu giá trị conversion_tracking_statusNOT_CONVERSION_TRACKED, chưa bật tính năng theo dõi lượt chuyển đổi cho tài khoản này. Bật tính năng theo dõi lượt chuyển đổi bằng cách tạo ít nhất một ConversionAction trong tài khoản chuyển đổi trên Google Ads, như trong ví dụ sau. Ngoài ra, bạn có thể tạo một hành động chuyển đổi trong giao diện người dùng bằng cách làm theo hướng dẫn trong Trung tâm trợ giúp dành cho loại chuyển đổi bạn muốn bật.

Xin lưu ý rằng tính năng lượt chuyển đổi nâng cao sẽ tự động bật khi được gửi qua API Google Ads. Tuy nhiên, bạn có thể tắt các tính năng này thông qua Giao diện người dùng Google Ads.

Ví dụ về mã

Java

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

C#

public void Run(GoogleAdsClient client, long customerId)
{
    // Get the ConversionActionService.
    ConversionActionServiceClient conversionActionService =
        client.GetService(Services.V17.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
        );
    }
}
      

Python

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}".'
    )
      

Ruby

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
      

Perl

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

  # Create a conversion action operation.
  my $conversion_action_operation =
    Google::Ads::GoogleAds::V17::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;
}
      

Hãy đảm bảo bạn đặt conversion_action_type thành chính xác Giá trị ConversionActionType. Để được hướng dẫn thêm về cách tạo hành động chuyển đổi trong API Google Ads, hãy xem bài viết Tạo Hành động chuyển đổi.

Truy xuất một hành động chuyển đổi hiện có

Bạn có thể truy xuất thông tin chi tiết cho hành động chuyển đổi hiện có bằng cách cấp truy vấn sau. Hãy đảm bảo rằng bạn đã đặt mã khách hàng trong yêu cầu thành Google Ads khách hàng chuyển đổi mà bạn đã xác định ở trên và loại hành động chuyển đổi được đặt sang đúng ConversionActionType giá trị.

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

Theo dõi lượt chuyển đổi trên nhiều tài khoản

Nếu bạn đang sử dụng tính năng chuyển đổi trên nhiều tài khoản theo dõi, thì ConversionActionService trả về các hành động chuyển đổi sau:

  • Tất cả hành động chuyển đổi được xác định bởi tài khoản người quản lý mà tài khoản sử dụng cho theo dõi lượt chuyển đổi trên nhiều tài khoản
  • Tất cả hành động chuyển đổi mà khách hàng đã tích lũy số liệu thống kê, bao gồm hành động do hệ thống xác định và hành động do người quản lý sở hữu ngay cả khi người quản lý đó huỷ liên kết sau đó
  • Tất cả hành động mà khách hàng đã xác định trong tài khoản của riêng họ
  • Lượt chuyển đổi Analytics được tạo trong các tài sản Google Analytics được liên kết. Điều này bao gồm các hành động cho các lượt chuyển đổi Analytics không được nhập vào Google Ads, có trạng thái HIDDEN.

Bạn có thể thiết lập và truy vấn các hành động chuyển đổi trên nhiều tài khoản bằng cách sử dụng API, nhưng Bạn không thể chọn sử dụng tính năng theo dõi lượt chuyển đổi trên nhiều tài khoản khi API. Bạn chỉ có thể chọn tham gia hoặc không tham gia chuyển đổi nhiều tài khoản bằng cách sử dụng Giao diện người dùng Google Ads cho tài khoản người quản lý.