Buat Tindakan Konversi

Panduan ini menyediakan daftar berbagai jenis tindakan konversi yang dapat Anda buat menggunakan Google Ads API, informasi tentang cara tindakan konversi dipetakan ke antarmuka web Google Ads, dan contoh kode mendetail yang menunjukkan cara membuat tindakan konversi baru.

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

Cara terbaik untuk menyiapkan tindakan konversi baru di API adalah dengan menggunakan contoh Tambahkan kode 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 untuk melacaknya. Misalnya, untuk melacak konversi di situs, Anda harus menambahkan cuplikan kode yang disebut tag ke halaman konversi di situs. Untuk persyaratan tindakan konversi lainnya, lihat artikel Pusat Bantuan kami.

Konversi situs

Konversi situs memungkinkan Anda melacak tindakan situs seperti penjualan online, klik link, penayangan halaman, dan pendaftaran.

Untuk melacak konversi di situs, Anda harus membuat ConversionAction dengan ConversionActionType ditetapkan ke WEBPAGE, lalu menambahkan cuplikan kode yang disebut tag ke halaman konversi di situs.

ConversionAction mencakup beberapa jenis konversi situs, yang dibedakan dalam API melalui kolom type di setiap TagSnippet yang tercantum di kolom tag_snippets dari ConversionAction.

TagSnippet memberikan kode pelacakan yang harus disertakan dalam situs untuk melacak tindakan konversi. Konversi Klik situs dan Klik nomor telepon memerlukan event_snippet, yang harus ditempatkan di halaman web yang menunjukkan tindakan konversi seperti halaman konfirmasi checkout atau pengiriman formulir prospek, dan global_site_tag, yang harus diinstal di setiap halaman situs Anda. Anda dapat mengambil kedua atribut ini dengan ConversionActionService. Lihat Pusat Bantuan kami untuk mengetahui informasi lebih lanjut tentang cara memberi tag pada halaman Anda.

Tabel berikut menunjukkan parameter API setara yang digunakan untuk setiap Sumber di antarmuka web Google Ads:

Jenis Kode Pelacakan Sumber Google Ads
WEBPAGE Situs, Situs (Google Analytics (GA4))
WEBPAGE_ONCLICK Situs, Situs (Google Analytics (GA4))
CLICK_TO_CALL Klik nomor telepon
--- Situs (Google Analytics (UA))

Konversi aplikasi

Konversi aplikasi memungkinkan Anda melacak penginstalan aplikasi seluler atau pembelian dalam aplikasi dari Google Play Store.

Tabel berikut menunjukkan parameter API ConversionActionType yang setara yang digunakan untuk setiap Sumber di antarmuka web Google Ads:

Jenis Tindakan Konversi Sumber Google Ads
GOOGLE_PLAY_DOWNLOAD Google Play > Instal
GOOGLE_PLAY_IN_APP_PURCHASE Google Play > Pembelian dalam aplikasi

Jika Anda ingin melacak tindakan aplikasi seluler lainnya menggunakan properti Google Analytics 4 atau analisis aplikasi pihak ketiga. Lihat Jenis Tindakan Konversi Tambahan.

Konversi panggilan telepon

Tracking konversi panggilan telepon memungkinkan Anda melacak panggilan telepon dari iklan, panggilan ke nomor di situs Anda, dan klik pada nomor di situs seluler.

Tabel berikut menunjukkan parameter API ConversionActionType yang setara yang digunakan untuk setiap Sumber di antarmuka web Google Ads:

Jenis Tindakan Konversi Sumber Google Ads
AD_CALL Panggilan telepon dari iklan yang menggunakan ekstensi panggilan atau iklan khusus panggilan telepon
WEBSITE_CALL Panggilan ke nomor telepon di situs Anda
CLICK_TO_CALL Klik pada nomor telepon di situs seluler Anda

Jenis CLICK_TO_CALL berbeda dengan jenis AD_CALL karena tidak melacak panggilan telepon yang sebenarnya. Sebagai gantinya, CLICK_TO_CALL hanya melacak klik pada nomor telepon dari perangkat seluler. Hal ini berguna saat Anda tidak dapat menggunakan nomor penerusan Google untuk melacak panggilan telepon.

AD_CALL

Tindakan konversi AD_CALL muncul sebagai konversi Panggilan telepon dari iklan di antarmuka web Google Ads. Setelah membuat tindakan konversi AD_CALL, tentukan nama resource-nya di kolom call_conversion_action saat Anda membuat CallAsset. Aset panggilan memungkinkan Anda menampilkan nomor telepon langsung dalam iklan Anda.

Panggilan dilaporkan sebagai konversi jika berlangsung lebih lama dari durasi yang ditentukan. Defaultnya adalah 60 detik.

WEBSITE_CALL

Tindakan konversi WEBSITE_CALL muncul sebagai konversi Panggilan telepon dari situs di antarmuka web Google Ads.

Tidak seperti AD_CALL, pelacak ini mengharuskan event_snippet dan global_site_tag ditambahkan ke situs Anda guna mengambil nomor penerusan Google dinamis untuk pelacakan panggilan pada nomor yang tercantum di situs Anda. Selain itu, Anda harus menyiapkan aset panggilan dan menautkannya di tingkat pelanggan, kampanye, atau grup iklan.

Mengimpor konversi offline

Tabel berikut menampilkan parameter API ConversionActionType yang setara yang digunakan untuk setiap Sumber di antarmuka web Google Ads dan link ke dokumentasi untuk setiap jenis tindakan konversi tertentu:

Jenis Tindakan Konversi Sumber Google Ads Panduan Penyiapan API
UPLOAD_CLICKS Melacak konversi dari klik dan konversi yang disempurnakan untuk prospek Panduan Klik Upload
Panduan Konversi yang Disempurnakan untuk Prospek
UPLOAD_CALLS Lacak konversi dari panggilan telepon Panduan Penyiapan API
STORE_SALES Melacak konversi penjualan toko Panduan Penyiapan API

Konversi yang disempurnakan untuk web

Konversi yang disempurnakan untuk web memungkinkan Anda mengirim data konversi pihak pertama untuk WEBPAGE tindakan konversi dalam waktu 24 jam sejak peristiwa konversi, bukan secara bersamaan. Hal ini memungkinkan untuk menemukan data pihak pertama dari berbagai sumber, seperti database pelanggan atau sistem CRM.

Jenis tindakan konversi tambahan

Google Ads API menyediakan jenis tindakan konversi tambahan dalam laporan, tetapi dapat membatasi atau melarang pembuatan atau modifikasi tindakan tersebut.

Konversi SKAdNetwork

Jika Anda menjalankan kampanye Aplikasi iOS dan telah menerapkan SKAdNetwork, Anda dapat mengakses data SKAdNetwork yang diberikan kepada Google di tingkat Customer dan Campaign menggunakan referensi berikut:

Kolom laporan Deskripsi
metrics.sk_ad_network_conversions Jumlah konversi yang dilaporkan oleh Apple. Metrik ini hanya dapat disegmentasikan berdasarkan kombinasi segments.sk_ad_network_conversion_value dan segmen terkait tanggal.
segments.sk_ad_network_conversion_value

Nilai konversi yang dilaporkan oleh Apple. Segmen ini tidak dapat diterapkan ke metrik apa pun selain metrics.sk_ad_network_conversions, dan hanya dapat digabungkan dengan segmen terkait tanggal.

Nilai 0 akan ditampilkan jika Apple melaporkan nilai 0 dan tidak ada nilai sebaliknya. Periksa kehadiran kolom untuk membedakan kedua kasus tersebut.

Anda juga dapat menyimpan pemetaan nilai konversi SKAdNetwork untuk pelanggan tertaut tertentu dengan aplikasi iOS melalui CustomerSkAdNetworkConversionValueSchema.

Contoh kode Python

#!/usr/bin/env python
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import argparse
import sys

from google.ads.googleads.client import GoogleAdsClient
from google.ads.googleads.errors import GoogleAdsException

def main(client, customer_id):
    """Adds a keyword plan, campaign, ad group, etc. to the customer account.

    Also handles errors from the API and prints them.

    Args:
        client: An initialized instance of GoogleAdsClient
        customer_id: A str of the customer_id to use in requests.
    """

    res = update_skan_cv_schema(
        client, customer_id, "my_app_id", "account_link_id"
    )
    print(res)

def update_skan_cv_schema(client, customer_id, app_id, account_link_id):
    skan_service = client.get_service(
        "CustomerSkAdNetworkConversionValueSchemaService"
    )

    req = client.get_type(
        "MutateCustomerSkAdNetworkConversionValueSchemaRequest"
    )
    operation = client.get_type(
        "CustomerSkAdNetworkConversionValueSchemaOperation"
    )
    schema_instance = client.get_type(
        "CustomerSkAdNetworkConversionValueSchema"
    )

    new_schema = operation.update
    new_schema.resource_name = (
        skan_service.customer_sk_ad_network_conversion_value_schema_path(
            "customer_id", "account_link_id"
        )
    )
    new_schema.schema.app_id = app_id
    new_schema.schema.measurement_window_hours = 48

    skan_cv_mapping = (
        schema_instance.SkAdNetworkConversionValueSchema.FineGrainedConversionValueMappings()
    )
    skan_cv_mapping.fine_grained_conversion_value = 0  # 0 - 63
    skan_cv_mapping.conversion_value_mapping.min_time_post_install_hours = 0
    skan_cv_mapping.conversion_value_mapping.max_time_post_install_hours = 48

    skan_cv_event = schema_instance.SkAdNetworkConversionValueSchema.Event()
    skan_cv_event.mapped_event_name = "TEST"
    skan_cv_event.event_revenue_value = 10

    skan_cv_mapping.conversion_value_mapping.mapped_events.append(skan_cv_event)
    new_schema.schema.fine_grained_conversion_value_mappings.append(
        skan_cv_mapping
    )

    req.operation = operation
    req.customer_id = customer_id

    res = skan_service.mutate_customer_sk_ad_network_conversion_value_schema(
        req
    )
    return res

if __name__ == "__main__":
    # GoogleAdsClient will read the google-ads.yaml configuration file in the
    # home directory if none is specified.
    googleads_client = GoogleAdsClient.load_from_storage(
        version="v16"
    )

    parser = argparse.ArgumentParser(
        description="Creates a keyword plan for specified customer."
    )
    # The following argument(s) should be provided to run the example.
    parser.add_argument(
        "-c",
        "--customer_id",
        type=str,
        required=True,
        help="The Google Ads customer ID.",
    )
    args = parser.parse_args()

    try:
        main(googleads_client, args.customer_id)
    except GoogleAdsException as ex:
        print(
            f'Request with ID "{ex.request_id}" failed with status '
            f'"{ex.error.code().name}" and includes the following errors:'
        )
        for error in ex.failure.errors:
            print(f'\tError with message "{error.message}".')
            if error.location:
                for field_path_element in error.location.field_path_elements:
                    print(f"\t\tOn field: {field_path_element.field_name}")
        sys.exit(1)
  

Google Analytics

Konversi dari properti Google Analytics tertaut memiliki salah satu nilai type berikut:

  • Konversi properti GA4:

    • GOOGLE_ANALYTICS_4_CUSTOM
    • GOOGLE_ANALYTICS_4_PURCHASE

    Anda juga dapat mengambil ID properti, nama properti, dan nama peristiwa GA4 dari kolom google_analytics_4_settings.

  • Konversi properti Universal Analytics:

    • UNIVERSAL_ANALYTICS_GOAL
    • UNIVERSAL_ANALYTICS_TRANSACTION

Anda dapat melakukan perubahan berikut pada konversi properti GA4:

  • Impor konversi dari properti GA4 ke akun Google Ads Anda dengan mengubah kolom status dari HIDDEN menjadi ENABLED.
  • Ubah kolom primary_for_goal dan category untuk menunjukkan pengaruhnya terhadap bidding dan laporan Google Ads.
  • Update name atau value_settings-nya.
  • Hapus konversi dari akun Google Ads Anda menggunakan operasi remove.

Setiap upaya untuk mengubah atribut lain dari konversi GA4 yang diimpor atau atribut apa pun dari konversi Universal Analytics yang diimpor akan menghasilkan error MUTATE_NOT_ALLOWED. Anda hanya dapat melakukan perubahan tersebut menggunakan UI Google Ads.

Analisis aplikasi pihak ketiga dan Firebase

Untuk mengimpor analisis aplikasi pihak ketiga atau konversi Firebase, ubah status ConversionAction dari HIDDEN menjadi ENABLED menggunakan metode mutate dari ConversionActionService. Pembaruan app_id tidak didukung untuk tindakan konversi ini.

  • FIREBASE_ANDROID_FIRST_OPEN
  • FIREBASE_ANDROID_IN_APP_PURCHASE
  • FIREBASE_ANDROID_CUSTOM
  • FIREBASE_IOS_FIRST_OPEN
  • FIREBASE_IOS_IN_APP_PURCHASE
  • FIREBASE_IOS_CUSTOM
  • THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN
  • THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE
  • THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM
  • THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN
  • THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE
  • THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM

Penjualan toko

Meskipun Anda tidak dapat membuat tindakan konversi STORE_SALES atau STORE_SALES_DIRECT_UPLOAD menggunakan Google Ads API, API mendukung upload transaksi penjualan toko.

  • STORE_SALES
  • STORE_SALES_DIRECT_UPLOAD

Lain-lain

Jenis tindakan konversi berikut bersifat hanya baca di Google Ads API dan disediakan untuk tujuan pelaporan.

  • ANDROID_APP_PRE_REGISTRATION
  • ANDROID_INSTALLS_ALL_OTHER_APPS
  • FLOODLIGHT_ACTION
  • FLOODLIGHT_TRANSACTION
  • GOOGLE_HOSTED
  • LEAD_FORM_SUBMIT
  • SALESFORCE
  • SEARCH_ADS_360
  • SMART_CAMPAIGN_AD_CLICKS_TO_CALL
  • SMART_CAMPAIGN_MAP_CLICKS_TO_CALL
  • SMART_CAMPAIGN_MAP_DIRECTIONS
  • SMART_CAMPAIGN_TRACKED_CALLS
  • STORE_VISITS
  • WEBPAGE_CODELESS

Tidak diketahui

Jika akun Google Ads Anda menyertakan jenis tindakan konversi lainnya, Anda mungkin akan mendapati bahwa kueri dan laporan menampilkan tindakan konversi dengan ConversionAction.type-nya UNKNOWN. API tidak mendukung pengelolaan tindakan konversi ini, tetapi menampilkannya dalam laporan guna memberikan hasil lengkap untuk metrik konversi utama seperti metrics.conversions dan metrics.conversions_value.

Contoh kode

Contoh kode berikut akan memandu Anda dalam proses pembuatan tindakan konversi baru. Secara khusus, cara ini akan membuat tindakan konversi dengan type yang ditetapkan ke UPLOAD_CLICKS. Ini adalah alur UI Google Ads yang sama seperti membuat tindakan konversi baru menggunakan Impor > Impor manual menggunakan API atau upload > Lacak konversi dari klik. Kode 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.V16.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::V16::Resources::ConversionAction->new({
      name                          => $conversion_action_name,
      category                      => DEFAULT,
      type                          => WEBPAGE,
      status                        => ENABLED,
      viewThroughLookbackWindowDays => 15,
      valueSettings                 =>
        Google::Ads::GoogleAds::V16::Resources::ValueSettings->new({
          defaultValue          => 23.41,
          alwaysUseDefaultValue => "true"
        })});

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

Contoh ini juga dapat ditemukan di folder Pemasaran Ulang pada library klien Anda dan di koleksi contoh kode: Tambahkan contoh kode Tindakan Konversi.

Validasi

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

Sejauh ini, error yang paling umum saat membuat tindakan konversi adalah DUPLICATE_NAME. Pastikan Anda menggunakan nama unik untuk setiap tindakan konversi.

Berikut beberapa tips dalam menetapkan kolom ConversionAction:

Semua kolom enum
Mencoba menetapkan kolom enum apa pun 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
Menyetel 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 berada 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

Penetapan 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 menghasilkan 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.