Memulai

Anda harus mengaktifkan tracking konversi di akun konversi Google Ads untuk mencatat konversi. Panduan ini memberikan detail tentang cara mengonfirmasi apakah tracking konversi diaktifkan, mengaktifkannya jika belum diaktifkan, dan mengambil informasi tentang tindakan konversi yang ada.

Sebagian besar tindakan konversi juga memerlukan langkah tambahan dari Anda untuk melacaknya. Untuk informasi selengkapnya tentang berbagai jenis tindakan konversi dan persyaratannya, lihat Panduan membuat tindakan konversi.

Menyiapkan situs untuk melacak konversi

Jika Anda memulai integrasi impor konversi offline, langkah pertamanya adalah mengikuti langkah-langkah dalam panduan Mengonfigurasi tag Google untuk konversi yang disempurnakan untuk prospek guna mengonfigurasi situs Anda untuk melacak konversi yang disempurnakan untuk prospek. Anda juga dapat menggunakan Google Tag Manager untuk mengonfigurasi situs dengan mengikuti langkah-langkah dalam panduan Mengonfigurasi Google Tag Manager untuk konversi yang disempurnakan untuk prospek.

Mengaktifkan tracking konversi di akun konversi Google Ads

Mengambil informasi tentang penyiapan tracking konversi Anda

Anda dapat memeriksa penyiapan tracking konversi akun dan mengonfirmasi bahwa tracking konversi diaktifkan dengan membuat kueri resource Customer untuk ConversionTrackingSetting. Buat kueri berikut dengan 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

Kolom google_ads_conversion_customer menunjukkan akun Google Ads yang membuat dan mengelola konversi untuk pelanggan ini. Untuk pelanggan yang menggunakan tracking konversi lintas-akun, ini adalah ID akun pengelola. ID pelanggan konversi Google Ads harus diberikan sebagai customer_id dalam permintaan Google Ads API untuk membuat dan mengelola konversi. Perhatikan bahwa kolom ini diisi meskipun tracking konversi tidak diaktifkan.

Kolom conversion_tracking_status menunjukkan apakah tracking konversi diaktifkan dan apakah akun menggunakan tracking konversi lintas-akun.

Membuat tindakan konversi di bagian pelanggan konversi Google Ads

Jika nilai conversion_tracking_status adalah NOT_CONVERSION_TRACKED, tracking konversi tidak diaktifkan untuk akun. Aktifkan tracking konversi dengan membuat setidaknya satu ConversionAction di akun konversi Google Ads, seperti dalam contoh berikut. Atau, Anda dapat membuat tindakan konversi di UI dengan mengikuti petunjuk di Pusat Bantuan untuk jenis konversi yang ingin diaktifkan.

Perhatikan bahwa konversi yang disempurnakan diaktifkan secara otomatis saat dikirim melalui Google Ads API, tetapi dapat dinonaktifkan melalui UI Google Ads.

Contoh kode

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

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

Pastikan conversion_action_type disetel ke nilai ConversionActionType yang benar. Untuk panduan selengkapnya tentang cara membuat tindakan konversi di Google Ads API, lihat Membuat Tindakan Konversi.

Mengambil tindakan konversi yang ada

Anda dapat mengambil detail untuk tindakan konversi yang ada dengan mengeluarkan kueri berikut. Pastikan ID pelanggan dalam permintaan ditetapkan ke pelanggan konversi Google Ads yang Anda identifikasi di atas, dan jenis tindakan konversi ditetapkan ke nilai ConversionActionType yang benar.

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

Tracking konversi lintas-akun

Jika Anda menggunakan tracking konversi lintas-akun, ConversionActionService akan menampilkan tindakan konversi berikut:

  • Semua tindakan konversi yang ditentukan oleh akun pengelola yang digunakan oleh akun untuk tracking konversi lintas-akun
  • Semua tindakan konversi yang telah mengumpulkan statistik pelanggan, termasuk tindakan yang ditentukan sistem, dan tindakan yang dimiliki oleh pengelola meskipun pengelola tersebut kemudian membatalkan tautan
  • Semua tindakan yang telah ditentukan pelanggan di akunnya sendiri
  • Konversi Analytics yang dibuat di properti Google Analytics tertaut. Total ini mencakup tindakan untuk konversi Analytics yang tidak diimpor ke Google Ads, yang memiliki status HIDDEN.

Mulai v19.1, Anda dapat menggunakan Google Ads API untuk memilih ikut serta dalam tracking lintas-konversi saat membuat akun klien.

Saat membuat Customer baru, tetapkan conversion_tracking_setting.google_ads_conversion_customer ke nama resource akun pengelola yang akan mengelola tindakan konversi atas nama akun klien. Akun pengelola ini juga harus merupakan akun yang menerbitkan permintaan create untuk akun klien baru.

Mulai v20, Anda dapat menggunakan Google Ads API untuk memilih ikut serta dalam tracking lintas-konversi saat membuat dan memperbarui akun klien.

Saat memperbarui akun klien yang ada, Anda dapat memilih untuk menggunakan tracking konversi lintas akun dengan menetapkan kolom conversion_tracking_setting.google_ads_conversion_customer. Kolom ini harus ditetapkan ke nama resource akun pengelola yang akan mengelola tindakan konversi atas nama akun klien. Akun pengelola ini juga harus merupakan akun yang menerbitkan permintaan update untuk akun klien.

Saat Anda memilih menggunakan tracking konversi lintas-akun, atau mengalihkan pengelola tracking konversi untuk akun klien yang ada, pengecualian yang sama berlaku seolah-olah Anda membuat perubahan ini di UI. Khususnya:

  • Akun klien akan mengadopsi aturan nilai konversi default, dan sasaran siklus proses pelanggan default dari pengelola tracking konversi barunya.
  • Kampanye yang menargetkan tindakan konversi tertentu akan beralih untuk menggunakan sasaran konversi default akun pengelola konversi. Jika Anda terus menargetkan tindakan konversi tertentu, hal itu dapat menghasilkan perilaku yang tidak konsisten, karena akun pengelola mungkin tidak memiliki sasaran yang sama dengan akun klien. Pastikan kampanye Anda dioptimalkan untuk sasaran yang tepat.
  • Jika akun dimiliki oleh lebih dari satu akun pengelola, akun tersebut hanya dapat menggunakan tindakan konversi dari satu pengelola. Jika tidak ada akun tracking konversi yang ditentukan, akun tersebut akan menggunakan dirinya sendiri sebagai akun tracking konversi secara default.

Buat tindakan konversi

Untuk mengukur konversi, siapkan ConversionAction untuk type tindakan konversi yang ingin Anda lacak. Misalnya, pembelian online dan panggilan telepon memerlukan tindakan konversi yang berbeda.

Cara terbaik untuk menyiapkan tindakan konversi baru di API adalah dengan menggunakan Contoh kode Tambahkan Tindakan Konversi di bawah. Contoh ini menangani semua tugas autentikasi latar belakang untuk Anda, dan memandu Anda membuat ConversionAction.

Sebagian besar tindakan konversi juga memerlukan langkah tambahan dari Anda untuk melacaknya. Misalnya, untuk melacak konversi di situs, Anda harus menambahkan cuplikan kode yang disebut tag ke halaman konversi di situs Anda. Untuk mengetahui persyaratan mendetail dari jenis tindakan konversi lainnya, lihat artikel Pusat Bantuan kami.

Contoh kode

Contoh kode berikut akan memandu Anda menyelesaikan proses pembuatan tindakan konversi baru. Secara khusus, tindakan ini membuat tindakan konversi dengan type ditetapkan ke UPLOAD_CLICKS. Tindakan ini juga menetapkan category ke DEFAULT.

Setelan default berikut berlaku:

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

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

Anda dapat melihat contoh ini di folder Remarketing library klien dan dalam koleksi contoh kode: Menambahkan contoh kode Tindakan Konversi.

Validasi

Google Ads dan Google Ads API mendukung berbagai tindakan konversi, sehingga beberapa aturan validasi bervariasi berdasarkan type tindakan.

Error yang paling umum saat membuat tindakan konversi adalah DUPLICATE_NAME. Pastikan Anda menggunakan nama unik untuk setiap tindakan konversi.

Berikut beberapa tips tentang cara menetapkan kolom ConversionAction:

Semua kolom enum
Mencoba menetapkan kolom enum ke UNKNOWN akan menghasilkan error RequestError.INVALID_ENUM_VALUE.
app_id
Atribut app_id tidak dapat diubah dan hanya dapat ditetapkan saat membuat konversi aplikasi baru.
attribution_model_settings
Menetapkan ini ke opsi yang tidak digunakan lagi akan menghasilkan error CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS. Google Ads hanya mendukung GOOGLE_ADS_LAST_CLICK dan GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN.
click_through_lookback_window_days

Menetapkan atribut ini ke nilai di luar rentang yang diizinkan akan menyebabkan error RangeError.TOO_LOW atau RangeError.TOO_HIGH.

Atribut ini harus dalam rentang [1,60] untuk tindakan konversi AD_CALL atau WEBSITE_CALL. Untuk sebagian besar tindakan konversi lainnya, rentang yang diizinkan adalah [1,30].

include_in_conversions_metric

Menetapkan nilai ini dalam operasi create atau update akan gagal dengan error FieldError.IMMUTABLE_FIELD. Sebagai gantinya, tetapkan primary_for_goal seperti yang dijelaskan dalam Panduan sasaran konversi.

phone_call_duration_seconds

Mencoba menetapkan atribut ini pada tindakan konversi yang bukan untuk panggilan akan menghasilkan error FieldError.VALUE_MUST_BE_UNSET.

type

Atribut type tidak dapat diubah dan hanya dapat ditetapkan saat membuat konversi baru.

Memperbarui tindakan konversi dengan type sama dengan UNKNOWN akan menghasilkan error MutateError.MUTATE_NOT_ALLOWED.

value_settings

value_settings untuk tindakan konversi WEBSITE_CALL atau AD_CALL harus memiliki always_use_default_value yang ditetapkan ke true. Menentukan nilai false saat membuat atau memperbarui nilai ini akan menyebabkan error INVALID_VALUE.

view_through_lookback_window_days

Menetapkan atribut ini ke nilai di luar rentang yang diizinkan akan menyebabkan error RangeError.TOO_LOW atau RangeError.TOO_HIGH. Untuk sebagian besar tindakan konversi, rentang yang diizinkan adalah [1,30].

Atribut ini tidak dapat ditetapkan pada tindakan konversi AD_CALL atau WEBSITE_CALL. Menentukan nilai akan menghasilkan error VALUE_MUST_BE_UNSET.