Panduan ini memberikan daftar berbagai jenis tindakan konversi yang dapat Anda buat menggunakan Google Ads API, informasi tentang cara pemetaan tindakan tersebut 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 Anda lacak. Misalnya, pembelian online dan panggilan telepon memerlukan tindakan konversi yang berbeda.
Cara terbaik untuk menyiapkan tindakan konversi baru di API adalah menggunakan contoh kode Tambahkan Tindakan Konversi di bawah ini. 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 persyaratan tindakan konversi lainnya, lihat artikel Pusat Bantuan kami.
Konversi situs
Konversi situs memungkinkan Anda melacak tindakan situs seperti penjualan online, klik link, kunjungan halaman, dan pendaftaran.
Untuk melacak konversi di situs, Anda harus membuat
ConversionAction
dengan
ConversionActionType
ditetapkan ke WEBPAGE
, dan menambahkan cuplikan kode yang disebut tag ke halaman
konversi di situs Anda.
ConversionAction
mencakup beberapa
jenis konversi situs, yang dibedakan dalam API oleh
kolom type
di setiap
TagSnippet
yang tercantum di
kolom tag_snippets dari
ConversionAction
.
TagSnippet
menyediakan kode pelacakan yang harus
disertakan di situs Anda untuk melacak tindakan konversi.
Konversi Situs dan Klik nomor telepon memerlukan
event_snippet
,
yang harus ditempatkan di halaman web yang menunjukkan tindakan konversi seperti
konfirmasi checkout atau halaman 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.
Tabel berikut menunjukkan parameter API yang setara untuk 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 akan digunakan untuk setiap Sumber di antarmuka web Google Ads:
Jenis Tindakan Konversi | Sumber Google Ads |
---|---|
GOOGLE_PLAY_DOWNLOAD |
Google Play > Penginstalan |
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
Pelacakan konversi panggilan telepon memungkinkan Anda melacak panggilan dari iklan, panggilan ke nomor di situs Anda, dan klik pada nomor di situs seluler.
Tabel berikut menunjukkan parameter API
ConversionActionType
yang setara untuk 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 web 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 jika Anda tidak dapat menggunakan
nomor penerusan Google untuk melacak panggilan telepon.
AD_CALL
Tindakan konversi
AD_CALL
akan muncul sebagai konversi Panggilan 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 di 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 dari
situs di
antarmuka web Google Ads.
Tidak seperti
AD_CALL
,
pelacak ini memerlukan event_snippet
dan global_site_tag
untuk 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 menunjukkan parameter API
ConversionActionType
yang setara untuk 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 Upload Klik
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 setelah
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 perubahan tindakan tersebut.
Konversi SKAdNetwork
Jika menjalankan kampanye Aplikasi iOS
dan telah menerapkan
SKAdNetwork, Anda dapat mengakses
data SKAdNetwork yang diberikan ke Google di tingkat Customer
dan Campaign
menggunakan
referensi berikut:
Kolom laporan | Deskripsi |
---|---|
metrics.sk_ad_network_installs |
Jumlah penginstalan yang dilaporkan oleh Apple. Metrik ini hanya dapat disegmentasikan
berdasarkan kombinasi segments.sk_ad_network_conversion_value dan
segmen terkait tanggal.
|
metrics.sk_ad_network_total_conversions |
Total jumlah konversi, termasuk penginstalan dan jenis konversi lainnya yang dilaporkan oleh Apple. Metrik ini hanya dapat disegmentasikan menurut segmen terkait SKAdNetwork dan segmen terkait tanggal. |
segments.sk_ad_network_ad_event_type |
Jenis peristiwa yang terjadi untuk konversi tertentu. |
segments.sk_ad_network_attribution_credit |
Cara atribusi dikreditkan untuk konversi tertentu. |
segments.sk_ad_network_fine_conversion_value |
Nilai konversi yang dilaporkan oleh Apple. Segmen ini tidak dapat diterapkan
ke metrik apa pun selain Nilai |
segments.sk_ad_network_coarse_conversion_value |
Nilai kasar untuk setiap konversi. |
segments.sk_ad_network_postback_sequence_index |
Posisi postback, secara berurutan, untuk konversi tertentu. |
segments.sk_ad_network_source_app.sk_ad_network_source_app_id |
ID aplikasi tempat iklan yang mendorong penginstalan Jaringan Iklan iOS Store Kit ditampilkan. |
segments.sk_ad_network_source_domain |
Situs tempat iklan yang mendorong penginstalan Jaringan Iklan iOS Store Kit ditampilkan. Nilai null berarti segmen ini tidak berlaku — misalnya, kampanye non-iOS — atau tidak ada di postback mana pun yang dikirim oleh Apple. |
segments.sk_ad_network_source_type |
Jenis sumber tempat iklan yang mendorong penginstalan Jaringan Iklan iOS Store Kit ditampilkan. Nilai null berarti segmen ini tidak berlaku, misalnya kampanye non-iOS, atau tidak ada domain sumber maupun aplikasi sumber di postback apa pun yang dikirim oleh Apple. |
segments.sk_ad_network_user_type |
Jenis pengguna yang menghasilkan konversi tertentu. |
segments.sk_ad_network_redistributed_fine_conversion_value |
Nilai konversi dalam segmen ini mencakup nilai null yang didistribusikan ulang ke nilai konversi. Segmen ini mewakili jumlah nilai konversi yang diamati yang ditampilkan oleh Apple dan nilai null sesuai model dari Google. |
segments.sk_ad_network_version |
Versi iOS Store Kit Ad Network API yang digunakan. |
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="v18" ) 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 dengan mengubah kolom
status
dariHIDDEN
menjadiENABLED
. - Ubah kolom
primary_for_goal
dancategory
untuk menunjukkan pengaruhnya terhadap bidding dan laporan Google Ads. - Perbarui
name
atauvalue_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 membuat perubahan tersebut menggunakan UI Google Ads.
Firebase dan analisis aplikasi pihak ketiga
Untuk mengimpor analisis aplikasi pihak ketiga atau konversi Firebase, ubah status
dari ConversionAction
dari HIDDEN
menjadi ENABLED
menggunakan metode mutate
dari ConversionActionService
. Memperbarui
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: upload ke tindakan konversi dengan pelaporan
Meskipun Anda tidak dapat membuat tindakan konversi STORE_SALES
atau STORE_SALES_DIRECT_UPLOAD
menggunakan Google Ads API, API ini mendukung upload transaksi penjualan toko.
STORE_SALES
STORE_SALES_DIRECT_UPLOAD
Jenis tindakan konversi hanya baca
Jenis tindakan konversi berikut hanya dapat dibaca 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 mendapati bahwa kueri dan laporan menampilkan tindakan konversi dengan ConversionAction.type
adalah UNKNOWN
.
API ini tidak mendukung pengelolaan tindakan konversi ini, tetapi menampilkannya dalam
laporan untuk memberikan hasil lengkap untuk metrik konversi utama seperti
metrics.conversions
dan metrics.conversions_value
.
Contoh kode
Contoh kode berikut akan memandu Anda menyelesaikan proses pembuatan tindakan konversi baru. Secara khusus, tindakan ini akan membuat tindakan konversi dengan
type
ditetapkan ke
UPLOAD_CLICKS
.
Proses ini sama dengan alur UI Google Ads saat membuat tindakan konversi baru menggunakan
Impor > Impor manual menggunakan API atau upload > Lacak konversi dari
klik. Tindakan ini juga menetapkan category
ke DEFAULT
.
Setelan default berikut berlaku:
Google Ads API menetapkan kolom
primary_for_goal
secara otomatis, tetapi Anda dapat menetapkan kolom ini secara eksplisit untuk mengontrol pengaruh tindakan konversi terhadap pelaporan dan bidding di akun Anda saat digabungkan dengan sasaran konversi.Google Ads API menetapkan
counting_type
secara otomatis keMANY_PER_CLICK
. Lihat Tentang opsi penghitungan konversi untuk detail selengkapnya.Google Ads API menetapkan model atribusi menjadi Berbasis data dengan menetapkan kolom
attribution_model_settings
ke nilaiGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
dariAttributionModel
.
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.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 ); } }
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::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; }
Contoh ini juga dapat ditemukan di folder Remarketing library klien Anda 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 tindakan type
.
Error yang paling umum saat membuat tindakan konversi adalah
DUPLICATE_NAME
.
Pastikan Anda menggunakan nama unik untuk setiap tindakan konversi.
Berikut beberapa tips untuk menetapkan kolom ConversionAction
:
- Semua kolom enum
- Mencoba menetapkan kolom enum ke
UNKNOWN
akan menyebabkan errorRequestError.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 mendukungGOOGLE_ADS_LAST_CLICK
danGOOGLE_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
atauRangeError.TOO_HIGH
.Atribut ini harus dalam rentang
[1,60]
untuk tindakan konversiAD_CALL
atauWEBSITE_CALL
. Untuk sebagian besar tindakan konversi lainnya, rentang yang diizinkan adalah[1,30]
.include_in_conversions_metric
Menetapkan nilai ini dalam operasi
create
atauupdate
akan gagal dengan errorFieldError.IMMUTABLE_FIELD
. Sebagai gantinya, tetapkanprimary_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 denganUNKNOWN
akan menyebabkan errorMutateError.MUTATE_NOT_ALLOWED
.value_settings
value_settings
untuk tindakan konversiWEBSITE_CALL
atauAD_CALL
harus memilikialways_use_default_value
yang ditetapkan ketrue
. Menentukan nilaifalse
saat membuat atau memperbarui nilai ini akan menghasilkan errorINVALID_VALUE
.view_through_lookback_window_days
Menetapkan atribut ini ke nilai di luar rentang yang diizinkan akan menyebabkan error
RangeError.TOO_LOW
atauRangeError.TOO_HIGH
. Untuk sebagian besar tindakan konversi, rentang yang diizinkan adalah[1,30]
.Atribut ini tidak dapat ditetapkan pada tindakan konversi
AD_CALL
atauWEBSITE_CALL
. Menentukan nilai akan menghasilkan errorVALUE_MUST_BE_UNSET
.