Panduan ini memberikan daftar berbagai jenis tindakan konversi yang dapat Anda buat menggunakan Google Ads API, informasi tentang cara pemetaan ini ke platform Google Ads antarmuka pengguna, dan contoh kode terperinci yang menunjukkan cara membuat tindakan konversi baru.
Untuk mengukur konversi, siapkan
ConversionAction
untuk
type
tindakan konversi yang ingin Anda lacak. Misalnya, pembelian {i>online<i} dan 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. Nama sebutan channel
semua tugas otentikasi latar belakang untuk Anda, dan memandu Anda dalam membuat
ConversionAction
.
Sebagian besar tindakan konversi juga memerlukan langkah tambahan untuk melacak mereka. 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 konversi
di situs web Anda.
ConversionAction
mencakup beberapa
jenis konversi situs, yang dibedakan dalam API berdasarkan
Kolom type
di setiap kolom
TagSnippet
tercantum dalam
Kolom tag_snippets dari
ConversionAction
.
TagSnippet
memberikan 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
selengkapnya tentang cara memberi tag pada halaman Anda.
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 untuk 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 Google Analytics 4 properti 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, mengeklik nomor di situs seluler.
Tabel berikut menunjukkan padanan
ConversionActionType
Parameter API yang akan 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. Sebaliknya, CLICK_TO_CALL
hanya melacak klik pada
nomor telepon dari perangkat seluler. Hal ini berguna ketika Anda tidak dapat menggunakan
Nomor penerusan Google untuk melacak panggilan telepon.
AD_CALL
Channel
AD_CALL
tindakan konversi muncul sebagai Panggilan dari
konversi iklan di Google Ads
dan antarmuka web Anda. Setelah membuat tindakan konversi AD_CALL
, tentukan tindakan konversi
di kolom call_conversion_action
saat Anda membuat
CallAsset
Panggilan Telepon
aset 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
J
WEBSITE_CALL
tindakan konversi muncul sebagai Panggilan telepon dari
situs Anda di
Antarmuka web Google Ads.
Tidak suka
AD_CALL
,
pelacak ini memerlukan event_snippet
dan global_site_tag
untuk ditambahkan ke
situs Anda untuk mengambil nomor penerusan Google dinamis untuk pelacakan panggilan
di 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 padanan
ConversionActionType
Parameter API yang akan 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 | Penyiapan API Panduan |
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, dan bukan pada saat yang sama. Hal ini memungkinkan Anda 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 Anda menjalankan kampanye Aplikasi iOS
dan telah menerapkan
SKAdNetwork, Anda dapat mengakses
Data SKAdNetwork yang diberikan kepada Google pada 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
dengan kombinasi apa pun dari segments.sk_ad_network_conversion_value dan
segmen yang terkait dengan tanggal.
|
metrics.sk_ad_network_total_conversions |
Total jumlah konversi, termasuk penginstalan dan jenis konversi lainnya konversi 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 umum 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, 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 ditunjukkan. Nilai null berarti segmen ini tidak berlaku — misalnya, kampanye non-iOS — atau domain sumber maupun aplikasi sumber tidak ada dalam 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 di segmen ini mencakup nilai nol yang didistribusikan ulang ke nilai konversi. Segmen ini mewakili jumlah nilai konversi terbaik yang diamati 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
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="v17" ) 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 hal berikut
Nilai type
:
Konversi properti GA4:
GOOGLE_ANALYTICS_4_CUSTOM
GOOGLE_ANALYTICS_4_PURCHASE
Anda juga dapat mengambil ID properti, nama properti, dan nama peristiwa GA4 dari tindakan
google_analytics_4_settings
kolom tersebut.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 bagaimana seharusnya memengaruhi 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 salah satu
konversi Universal Analytics yang diimpor menghasilkan
Error MUTATE_NOT_ALLOWED
. Anda hanya dapat melakukan perubahan tersebut menggunakan UI Google Ads.
Firebase dan analisis aplikasi pihak ketiga
Untuk mengimpor
analisis aplikasi pihak ketiga
atau konversi Firebase,
ubah status
ConversionAction
dari HIDDEN
ke ENABLED
menggunakan metode mutate
ConversionActionService
. Memperbarui
app_id
tidak didukung untuk setelan ini
tindakan konversi.
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 STORE_SALES
atau STORE_SALES_DIRECT_UPLOAD
tindakan konversi menggunakan Google Ads API, API ini mendukung fitur penguploadan
transaksi penjualan.
STORE_SALES
STORE_SALES_DIRECT_UPLOAD
Jenis tindakan konversi hanya baca
Jenis tindakan konversi berikut bersifat hanya baca di Google Ads API dan diberikan 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 menemukan
bahwa kueri dan laporan menghasilkan tindakan konversi dengan
ConversionAction.type
adalah UNKNOWN
.
API tidak mendukung pengelolaan tindakan konversi ini, tetapi menampilkannya dalam
laporan Google guna memberikan hasil lengkap untuk metrik konversi utama seperti
metrics.conversions
dan metrics.conversions_value
.
Contoh kode
Contoh kode berikut memandu Anda dalam proses pembuatan
tindakan konversi. Secara khusus, cara ini membuat tindakan konversi dengan
type
ditetapkan ke
UPLOAD_CLICKS
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:
Google Ads API menetapkan Kolom
primary_for_goal
secara otomatis, namun Anda dapat menyetel {i>field<i} ini secara eksplisit untuk mengontrol bagaimana tindakan konversi memengaruhi pelaporan dan bidding di akun Anda jika digabungkan dengan sasaran konversi Anda.Google Ads API menetapkan
counting_type
secara otomatis keMANY_PER_CLICK
. Lihat Tentang opsi penghitungan konversi untuk mengetahui detail selengkapnya.Google Ads API menetapkan model atribusi menjadi Data berbasis data dengan menetapkan
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.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; }
Contoh ini juga dapat ditemukan di folder Pemasaran Ulang pada pustaka klien Anda dan dalam kumpulan contoh kode: Add Conversion Action code contoh.
Validasi
Google Ads dan Google Ads API mendukung berbagai tindakan konversi, jadi 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 adalah beberapa tips tentang cara menetapkan kolom ConversionAction
:
- Semua kolom enum
- Mencoba menetapkan kolom enum ke
UNKNOWN
akan menghasilkan ErrorRequestError.INVALID_ENUM_VALUE
. app_id
- Atribut
app_id
tidak dapat diubah dan hanya dapat ditetapkan saat membuat atribut baru konversi aplikasi. attribution_model_settings
- Menetapkannya ke tidak digunakan lagi
opsi
menghasilkan
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS
{i>error<i}. 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 menghasilkan Error
RangeError.TOO_LOW
atauRangeError.TOO_HIGH
.Atribut ini harus berada dalam rentang
[1,60]
untukAD_CALL
atauWEBSITE_CALL
tindakan konversi. 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
sebagai yang dijelaskan dalam panduan Sasaran konversi.phone_call_duration_seconds
Mencoba menetapkan atribut ini pada tindakan konversi yang bukan untuk panggilan menghasilkan error
FieldError.VALUE_MUST_BE_UNSET
.type
Atribut
type
tidak dapat diubah dan hanya dapat ditetapkan saat membuat konversi.Memperbarui tindakan konversi dengan
type
sama denganUNKNOWN
menghasilkan ErrorMutateError.MUTATE_NOT_ALLOWED
.value_settings
value_settings
untuk tindakan konversiWEBSITE_CALL
atauAD_CALL
harus menyetelalways_use_default_value
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 menghasilkan Error
RangeError.TOO_LOW
atauRangeError.TOO_HIGH
. Untuk sebagian besar konversi tindakan, 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
.