Bu kılavuzda, Google Ads API'yi kullanarak oluşturabileceğiniz farklı dönüşüm işlemi türlerinin listesi, bunların Google Ads web arayüzüyle nasıl eşlendiği hakkında bilgiler ve yeni dönüşüm işlemlerinin nasıl oluşturulacağını gösteren ayrıntılı bir kod örneği yer alır.
Dönüşümleri ölçmek için izlemek istediğiniz dönüşüm işleminin type
için bir ConversionAction
oluşturun. Örneğin, internetten satın alma ve telefon araması için farklı dönüşüm işlemleri gerekir.
API'de yeni dönüşüm işlemleri oluşturmanın en iyi yolu, aşağıdaki Dönüşüm İşlemi Ekle kod örneğini kullanmaktır. Örnek, arka plandaki tüm kimlik doğrulama görevlerini sizin için üstlenir ve ConversionAction
oluşturma sürecinde size yol gösterir.
Çoğu dönüşüm işleminin izlenmesi için sizden ek adımlar da gerekir. Örneğin, web sitenizdeki dönüşümleri izlemek için web sitenizdeki dönüşüm sayfasına etiket adlı bir kod snippet'i eklemeniz gerekir. Diğer dönüşüm işlemi koşulları için Yardım Merkezi makalemizi inceleyin.
Web sitesi dönüşümleri
Web sitesi dönüşümü, online satışlar, bağlantı tıklamaları, sayfa görüntülemeleri ve kayıtlar gibi web sitesi işlemlerini izlemenize olanak tanır.
Web sitenizdeki dönüşümleri izlemek için ConversionActionType
değerinin WEBPAGE
olarak ayarlandığı bir ConversionAction
oluşturmanız ve web sitenizdeki dönüşüm sayfasına etiket adlı bir kod snippet'i eklemeniz gerekir.
ConversionAction
, bir ConversionAction
'un tag_snippets alanında listelenen her TagSnippet
'teki type
alanıyla API'de ayırt edilen çeşitli web sitesi dönüşümü türlerini kapsar.
TagSnippet
, dönüşüm işlemlerinizi izlemek için web sitenize dahil edilmesi gereken izleme kodunu sağlar.
Web sitesi ve Telefon numarası tıklaması dönüşümleri için event_snippet
gerekir. Bu etiket, ödeme onayı veya potansiyel müşteri formu gönderme sayfası gibi bir dönüşüm işlemini belirten web sayfalarına yerleştirilmelidir. Ayrıca, web sitenizin her sayfasına global_site_tag
etiketi yüklenmelidir. Bu özelliklerin ikisini de ConversionActionService
ile alabilirsiniz. Sayfalarınızı etiketleme hakkında daha fazla bilgi için Yardım Merkezimizi ziyaret edin.
Aşağıdaki tabloda, Google Ads web arayüzündeki her Kaynak için kullanılacak eşdeğer API parametreleri gösterilmektedir:
İzleme Kodu Türü | Google Ads Kaynağı |
---|---|
WEBPAGE |
Web sitesi, Web sitesi (Google Analytics (GA4)) |
WEBPAGE_ONCLICK |
Web sitesi, Web sitesi (Google Analytics (GA4)) |
CLICK_TO_CALL |
Telefon numarası tıklamaları |
--- |
Web sitesi (Google Analytics (UA)) |
Uygulama dönüşümleri
Uygulama dönüşümü, Google Play Store'dan mobil uygulama yüklemelerini veya uygulama içi satın alma işlemlerini izlemenizi sağlar.
Aşağıdaki tabloda, Google Ads web arayüzündeki her Kaynak için kullanılacak eşdeğer ConversionActionType
API parametreleri gösterilmektedir:
Dönüşüm İşlemi Türü | Google Ads Kaynağı |
---|---|
GOOGLE_PLAY_DOWNLOAD |
Google Play > Yüklemeler |
GOOGLE_PLAY_IN_APP_PURCHASE |
Google Play > Uygulama içi satın alma işlemleri |
Google Analytics 4 mülklerini veya üçüncü taraf uygulama analizlerini kullanarak diğer mobil uygulama işlemlerini izlemek istiyorsanız Ek Dönüşüm İşlemi Türleri başlıklı makaleyi inceleyin.
Telefon araması dönüşümleri
Telefon araması dönüşümü izleme, reklamlardan gelen aramaları, web sitenizdeki bir numaraya yapılan aramaları ve mobil sitelerdeki numaralara yapılan tıklamaları izlemenize olanak tanır.
Aşağıdaki tabloda, Google Ads web arayüzündeki her Kaynak için kullanılacak eşdeğer ConversionActionType
API parametreleri gösterilmektedir:
Dönüşüm İşlemi Türü | Google Ads Kaynağı |
---|---|
AD_CALL |
Telefon uzantıları kullanan reklamlardan veya yalnızca telefon araması üreten reklamlardan gelen aramalar |
WEBSITE_CALL |
Web sitenizdeki bir telefon numarasına gelen aramalar |
CLICK_TO_CALL |
Mobil web sitenizdeki bir numaraya yapılan tıklamalar |
CLICK_TO_CALL
türü, gerçek telefon aramalarını izlememesi bakımından AD_CALL
türünden farklıdır. Bunun yerine CLICK_TO_CALL
, yalnızca mobil cihazdan telefon numarasına yapılan tıklamaları izler. Bu yöntem, telefon aramalarını izlemek için Google yönlendirme numarası kullanamadığınız durumlarda kullanışlıdır.
AD_CALL
AD_CALL
dönüşüm işlemi, Google Ads web arayüzünde Reklamlardan gelen aramalar dönüşümü olarak görünür. AD_CALL
dönüşüm işleminizi oluşturduktan sonra, CallAsset
oluştururken call_conversion_action
alanında kaynak adını belirtin. Telefon öğeleri, doğrudan reklamlarınızda telefon numarası göstermenize olanak tanır.
Belirli bir süreden uzun süren aramalar dönüşüm olarak raporlanır. Varsayılan değer 60 saniyedir.
WEBSITE_CALL
WEBSITE_CALL
dönüşüm işlemi, Google Ads web arayüzünde Web sitesinden gelen aramalar dönüşümü olarak görünür.
AD_CALL
'den farklı olarak bu izleyici, web sitenizde listelenen numaralarda arama izleme için dinamik Google yönlendirme numarasını almak üzere event_snippet
ve global_site_tag
'in web sitenize eklenmesi gerekir. Ayrıca, bir çağrı öğesi oluşturmanız ve müşteri, kampanya veya reklam grubu düzeyinde bağlamanız gerekir.
Çevrimdışı dönüşümleri içe aktarın
Aşağıdaki tabloda, Google Ads web arayüzündeki her Kaynak için kullanılacak eşdeğer ConversionActionType
API parametreleri ve her bir dönüşüm işlemi türüne ait dokümanların bağlantısı gösterilmektedir:
Dönüşüm İşlemi Türü | Google Ads Kaynağı | API Kurulum Kılavuzu |
---|---|---|
UPLOAD_CLICKS |
Tıklamalardan elde edilen dönüşümleri ve potansiyel müşteriler için gelişmiş dönüşümleri izleme | Tıklama Yükleme Kılavuzu
Potansiyel Müşteriler İçin Gelişmiş Dönüşümler Kılavuzu |
UPLOAD_CALLS |
Telefon aramalarından elde edilen dönüşümleri izleyin | API Kurulum Kılavuzu |
STORE_SALES |
Mağaza satışı dönüşümlerini izleme | API Kurulum Kılavuzu |
Web için gelişmiş dönüşümler
Web için gelişmiş dönüşümler, WEBPAGE
dönüşüm işlemine ait birinci taraf dönüşüm verilerini dönüşüm etkinliğiyle aynı anda değil, 24 saat içinde göndermenize olanak tanır. Bu sayede, müşteri veritabanı veya CRM sistemi gibi çeşitli kaynaklardan gelen birinci taraf verilerinin yerini belirleyebilirsiniz.
Ek dönüşüm işlemi türleri
Google Ads API, raporlarda ek dönüşüm işlemi türleri sunar ancak bu işlemlerin oluşturulmasını veya değiştirilmesini sınırlayabilir ya da yasaklayabilir.
SKAdNetwork dönüşüm sayısı
iOS uygulama kampanyaları yayınlıyorsanız ve SKAdNetwork'ü uyguladıysanız aşağıdaki kaynakları kullanarak Google'a sağlanan SKAdNetwork verilerine Customer
ve Campaign
düzeyinde erişebilirsiniz:
Rapor alanı | Açıklama |
---|---|
metrics.sk_ad_network_installs |
Apple tarafından bildirilen yükleme sayısı. Bu metrik yalnızca segments.sk_ad_network_conversion_value ve tarihle ilgili segmentlerin herhangi bir kombinasyonuna göre segmentlere ayrılabilir.
|
metrics.sk_ad_network_total_conversions |
Apple tarafından raporlanan yüklemeler ve diğer dönüşüm türleri dahil toplam dönüşüm sayısı. Bu metrik yalnızca SKAdNetwork ile ilgili segmentlere ve tarihle ilgili segmentlere göre segmentlere ayrılabilir. |
segments.sk_ad_network_ad_event_type |
Belirli bir dönüşüm için gerçekleşen etkinlik türü. |
segments.sk_ad_network_attribution_credit |
Belirli bir dönüşüm için ilişkilendirmenin nasıl kredilendirildiği. |
segments.sk_ad_network_fine_conversion_value |
Apple tarafından raporlanan bir dönüşümün değeri. Bu segment, Apple |
segments.sk_ad_network_coarse_conversion_value |
Tek bir dönüşümün kaba değeri. |
segments.sk_ad_network_postback_sequence_index |
Belirli bir dönüşüm için geri göndermenin sıralı konumu. |
segments.sk_ad_network_source_app.sk_ad_network_source_app_id |
iOS Store Kit Ad Network yüklemesini artıran reklamın gösterildiği uygulama kimliği. |
segments.sk_ad_network_source_domain |
iOS Store Kit Ad Network yüklemesini artıran reklamın gösterildiği web sitesi. Boş değer, bu segmentin geçerli olmadığı (ör. iOS dışı kampanya) veya Apple tarafından gönderilen geri göndermelerde bulunmadığı anlamına gelir. |
segments.sk_ad_network_source_type |
iOS Store Kit Ad Network yüklemesini artıran reklamın gösterildiği kaynak türü. Boş değer, bu segmentin geçerli olmadığı (ör. iOS dışı kampanya) veya Apple tarafından gönderilen geri göndermelerde kaynak alan adı ya da kaynak uygulamanın bulunmadığı anlamına gelir. |
segments.sk_ad_network_user_type |
Belirli bir dönüşümü oluşturan kullanıcının türü. |
segments.sk_ad_network_redistributed_fine_conversion_value |
Bu segmentteki dönüşüm değerleri, dönüşüm değerlerine yeniden dağıtılan boş değerleri içerir. Bu segment, Apple tarafından döndürülen gözlemlenen hassas dönüşüm değerlerinin ve Google'dan modellenmiş boş değerlerin toplamını temsil eder. |
segments.sk_ad_network_version |
Kullanılan iOS Store Kit Reklam Ağı API sürümü. |
CustomerSkAdNetworkConversionValueSchema
aracılığıyla, iOS uygulamaları olan belirli bağlı müşteriler için SKAdNetwork dönüşüm değeri eşlemesi de kaydedebilirsiniz.
Örnek Python kodu
#!/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
Bağlı bir Google Analytics mülkünden gelen dönüşümler aşağıdaki type
değerlerinden birine sahiptir:
GA4 mülk dönüşümü:
GOOGLE_ANALYTICS_4_CUSTOM
GOOGLE_ANALYTICS_4_PURCHASE
GA4 mülk kimliğini, mülk adını ve etkinlik adını
google_analytics_4_settings
alanından da alabilirsiniz.Universal Analytics mülkü dönüşümü:
UNIVERSAL_ANALYTICS_GOAL
UNIVERSAL_ANALYTICS_TRANSACTION
GA4 mülk dönüşümünde aşağıdaki değişiklikleri yapabilirsiniz:
status
alanınıHIDDEN
yerineENABLED
olarak değiştirerek dönüşümü GA4 mülkünüzden Google Ads hesabınıza aktarın.primary_for_goal
vecategory
alanlarını Google Ads teklifli sistemini ve raporlarını nasıl etkilemesi gerektiğini belirtecek şekilde değiştirin.name
veyavalue_settings
değerini güncelleyin.remove
işlemi kullanarak dönüşümü Google Ads hesabınızdan kaldırın.
İçe aktarılan bir GA4 dönüşümünün diğer özelliklerini veya içe aktarılan bir Universal Analytics dönüşümünün herhangi bir özelliğini değiştirmeye yönelik her girişim MUTATE_NOT_ALLOWED
hatasıyla sonuçlanır. Bu değişiklikleri yalnızca Google Ads kullanıcı arayüzünü kullanarak yapabilirsiniz.
Firebase ve üçüncü taraf uygulama analizleri
Üçüncü taraf uygulama analizlerini veya Firebase dönüşümlerini içe aktarmak için ConversionActionService
mutate
yöntemini kullanarak ConversionAction
öğesinin status
değerini HIDDEN
yerine ENABLED
olarak değiştirin. Bu dönüşüm işlemlerinde app_id
güncellemesi desteklenmez.
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
Mağaza satışları: Raporlama ile dönüşüm işlemine yükleme
Google Ads API'yi kullanarak STORE_SALES
veya STORE_SALES_DIRECT_UPLOAD
dönüşüm işlemleri oluşturamazsınız ancak API, mağaza satışı işlemlerini yüklemeyi destekler.
STORE_SALES
STORE_SALES_DIRECT_UPLOAD
Salt okunur dönüşüm işlemi türleri
Aşağıdaki dönüşüm işlemi türleri Google Ads API'de salt okunurdur ve raporlama amacıyla sağlanır.
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
Bilinmiyor
Google Ads hesabınızda başka tür dönüşüm işlemleri varsa sorguların ve raporların, ConversionAction.type
değerinin UNKNOWN
olduğu dönüşüm işlemlerini döndürdüğünü görebilirsiniz.
API, bu dönüşüm işlemlerinin yönetilmesini desteklemez ancak metrics.conversions
ve metrics.conversions_value
gibi önemli dönüşüm metrikleri için eksiksiz sonuçlar sunmak amacıyla bunları raporlarda döndürür.
Kod örneği
Aşağıdaki kod örneği, yeni bir dönüşüm işlemi oluşturma sürecinde size yol gösterir. Daha açık belirtmek gerekirse, type
parametresi UPLOAD_CLICKS
olarak ayarlanmış bir dönüşüm işlemi oluşturur.
Bu, İçe aktar > API veya yüklemeleri kullanarak manuel içe aktarma > Tıklamalardan gelen dönüşümleri izleme'yi kullanarak yeni bir dönüşüm işlemi oluşturmayla aynı Google Ads kullanıcı arayüzü akışıdır. Ayrıca category
değerini DEFAULT
olarak ayarlar.
Aşağıdaki varsayılan ayarlar geçerlidir:
Google Ads API,
primary_for_goal
alanını otomatik olarak ayarlar ancak bir dönüşüm işleminin dönüşüm hedeflerinizle birlikte hesabınızdaki raporlamayı ve teklifli sistemi nasıl etkilediğini kontrol etmek için bu alanı açıkça ayarlayabilirsiniz.Google Ads API,
counting_type
değerini otomatik olarakMANY_PER_CLICK
olarak ayarlar. Daha fazla bilgi için Dönüşüm sayma seçenekleri hakkında başlıklı makaleyi inceleyin.Google Ads API,
attribution_model_settings
alanınıAttributionModel
değerineGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
ayarlayarak ilişkilendirme modelini Veriye Dayalı olarak belirler.
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; }
Bu örneği, müşteri kitaplığınızın Yeniden Pazarlama klasöründe ve Dönüşüm işlemi kodu örneği ekleme kod örnekleri koleksiyonunda da bulabilirsiniz.
Doğrulamalar
Google Ads ve Google Ads API, çok çeşitli dönüşüm işlemlerini destekler. Bu nedenle, bazı doğrulama kuralları işlemin type
durumuna göre değişir.
Dönüşüm işlemi oluştururken en sık karşılaşılan hata DUPLICATE_NAME
hatasıdır.
Her dönüşüm işlemi için benzersiz bir ad kullandığınızdan emin olun.
ConversionAction
alanlarını ayarlamayla ilgili bazı ipuçları aşağıda verilmiştir:
- Tüm enum alanları
- Herhangi bir enum alanını
UNKNOWN
olarak ayarlamaya çalışmakRequestError.INVALID_ENUM_VALUE
hatasıyla sonuçlanır. app_id
app_id
özelliği değiştirilemez ve yalnızca yeni bir uygulama dönüşümü oluştururken ayarlanabilir.attribution_model_settings
- Bu özelliği kullanımdan kaldırılmış bir seçeneğe ayarlamak
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS
hatasına neden olur. Google Ads yalnızcaGOOGLE_ADS_LAST_CLICK
veGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
'i destekler. click_through_lookback_window_days
Bu özelliğin izin verilen aralığın dışında bir değere ayarlanması
RangeError.TOO_LOW
veyaRangeError.TOO_HIGH
hatasına neden olur.Bu özellik,
AD_CALL
veyaWEBSITE_CALL
dönüşüm işlemi için[1,60]
aralığında olmalıdır. Diğer dönüşüm işlemlerinin çoğu için izin verilen aralık[1,30]
'tür.include_in_conversions_metric
Bu değer,
create
veyaupdate
işleminde ayarlandığındaFieldError.IMMUTABLE_FIELD
hatası ile başarısız olur. Bunun yerine,primary_for_goal
değerini Dönüşüm hedefleri kılavuzunda açıklandığı şekilde ayarlayın.phone_call_duration_seconds
Bu özelliği, aramalar için olmayan bir dönüşüm işleminde ayarlamaya çalışmak
FieldError.VALUE_MUST_BE_UNSET
hatasına neden olur.type
type
özelliği değiştirilemez ve yalnızca yeni bir dönüşüm oluşturulurken ayarlanabilir.type
değerininUNKNOWN
olduğu bir dönüşüm işleminin güncellenmesiMutateError.MUTATE_NOT_ALLOWED
hatasına neden olur.value_settings
WEBSITE_CALL
veyaAD_CALL
dönüşüm işlemi içinvalue_settings
'tealways_use_default_value
,true
olarak ayarlanmalıdır. Bu değeri oluştururken veya güncellerkenfalse
değeri belirtmekINVALID_VALUE
hatasına neden olur.view_through_lookback_window_days
Bu özelliğin izin verilen aralığın dışında bir değere ayarlanması
RangeError.TOO_LOW
veyaRangeError.TOO_HIGH
hatasına neden olur. Çoğu dönüşüm işlemi için izin verilen aralık[1,30]
'tür.Bu özellik,
AD_CALL
veyaWEBSITE_CALL
dönüşüm işlemlerinde ayarlanamaz. Bir değer belirtmekVALUE_MUST_BE_UNSET
hatasına neden olur.