Dönüşüm İşlemleri Oluşturma

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 bilgi ve yeni dönüşüm işlemlerinin nasıl oluşturulacağını gösteren ayrıntılı kod örneği verilmektedir.

Dönüşümleri ölçmek amacıyla izlemek istediğiniz dönüşüm işleminin type için bir ConversionAction oluşturun. Örneğin, internetten satın alma ve telefonla arama, farklı dönüşüm işlemleri gerektirir.

API'de yeni dönüşüm işlemleri oluşturmanın en iyi yolu aşağıdaki Dönüşüm İşlemi kodu örneğini kullanmaktır. Örnek, sizin için tüm arka plan kimlik doğrulama görevlerini yürütür ve ConversionAction oluşturma konusunda size yol gösterir.

Çoğu dönüşüm işlemini izlemek için sizin de ek adımlar uygulamanız gerekir. Örneğin, web sitenizdeki dönüşümleri izlemek için web sitenizdeki dönüşüm sayfasına etiket adı verilen bir kod snippet'i eklemeniz gerekir. Dönüşüm işlemi ile ilgili diğer şartlar için Yardım Merkezi makalemizi inceleyin.

Web sitesi dönüşümleri

Web sitesi dönüşümü, online satış, bağlantı tıklamaları, sayfa görüntüleme ve kaydolma gibi web sitesi işlemlerini izlemenize olanak tanır.

Web sitenizde dönüşümleri izlemek için ConversionActionType özelliği WEBPAGE olarak ayarlanmış bir ConversionAction oluşturmanız ve web sitenizdeki dönüşüm sayfasına etiket adı verilen bir kod snippet'i eklemeniz gerekir.

ConversionAction, API'de ConversionAction öğesinin tag_snippets alanında listelenen TagSnippet içindeki type alanıyla ayırt edilen çeşitli web sitesi dönüşümü türlerini kapsar.

TagSnippet, dönüşüm işlemlerinizi izlemek için web sitenize eklenmesi gereken izleme kodunu sağlar. Web sitesi ve Telefon numarası tıklama dönüşümleri, ödeme onayı veya potansiyel müşteri formu gönderme sayfası gibi bir dönüşüm işlemini belirten web sayfalarına event_snippet yerleştirilmesini gerektirir. global_site_tag ise web sitenizin her sayfasına yüklenmelidir. Bu özelliklerin ikisini de ConversionActionService ile alabilirsiniz. Sayfalarınızı nasıl etiketleyeceğinizle ilgili daha fazla bilgi için Yardım Merkezimize göz atın.

Aşağıdaki tabloda, Google Ads web arayüzündeki her bir 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üşümleri, Google Play Store'daki mobil uygulama yüklemelerini veya uygulama içi satın alma işlemlerini izlemenize olanak tanır.

Aşağıdaki tabloda, Google Ads web arayüzündeki her bir 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. Diğer Dönüşüm İşlemi Türleri bölümüne bakın.

Telefon araması dönüşümleri

Telefon araması dönüşümü izleme ile reklamlardan gelen aramaları, web sitenizdeki bir numaraya yapılan aramaları ve mobil sitelerdeki numaralara yapılan tıklamaları izleyebilirsiniz.

Aşağıdaki tabloda, Google Ads web arayüzündeki her bir 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 açısından AD_CALL türünden farklıdır. Bunun yerine, CLICK_TO_CALL yalnızca bir mobil cihazdan bir telefon numarasına yapılan tıklamaları izler. Bu özellik, 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 telefon 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östermenizi sağlar.

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 Bir web sitesinden gelen telefon aramaları dönüşümü olarak görünür.

AD_CALL'ten farklı olarak bu izleyici, web sitenizde listelenen arama izleme numaralarında kullanılan dinamik Google yönlendirme numarasını almak için event_snippet ve global_site_tag'in web sitenize eklenmesini gerektirir. Ayrıca, bir telefon öğesi oluşturmanız ve bu öğeyi müşteri, kampanya veya reklam grubu düzeyinde bağlamanız gerekir.

Çevrimdışı dönüşümleri içe aktarma

Aşağıdaki tabloda, Google Ads web arayüzündeki her bir Kaynak için kullanılacak eşdeğer ConversionActionType API parametreleri ve her bir dönüşüm işlemi türüyle ilgili dokümanların bağlantıları 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 izleyin Tıklama Kılavuzunu Yükleyin
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ğazadaki satışları izleme dönüşümleri 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, bir dönüşüm etkinliğinden sonraki 24 saat içinde göndermenizi sağlar. Bu, müşteri veritabanı veya CRM sistemi gibi çeşitli kaynaklardan gelen birinci taraf verilerinin bulunmasını mümkün kılar.

Diğer dönüşüm işlemi türleri

Google Ads API, raporlarda başka dönüşüm işlemi türlerini de kullanıma 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ıyor ve SKAdNetwork'ü uyguladıysanız aşağıdaki kaynakları kullanarak Google'a Customer ve Campaign düzeyinde sağlanan SKAdNetwork verilerine erişebilirsiniz:

Rapor alanı Açıklama
metrics.sk_ad_network_conversions Apple tarafından raporlanan dönüşüm sayısı. Bu metrik yalnızca segments.sk_ad_network_conversion_value ve tarihle ilgili segmentlerin herhangi bir kombinasyonuna göre segmentlere ayrılabilir.
segments.sk_ad_network_conversion_value

Apple tarafından raporlanan bir dönüşümün değeri. Bu segment, metrics.sk_ad_network_conversions dışındaki herhangi bir metriğe uygulanamaz ve yalnızca tarihle ilgili segmentlerle birleştirilebilir.

Apple, 0 değerini bildirirse 0 değeri döndürülür ancak aksi durumda hiçbir değer sağlamaz. İki durumu birbirinden ayırt etmek için alan varlığını kontrol edin.

iOS uygulamalarına sahip belirli bağlı müşteriler için CustomerSkAdNetworkConversionValueSchema üzerinden SKAdNetwork dönüşüm değeri eşlemesini 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="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

Bağlı bir Google Analytics mülkünden elde edilen 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üşümlerinde aşağıdaki değişiklikleri yapabilirsiniz:

  • GA4 mülkünüzdeki status alanını HIDDEN yerine ENABLED olarak değiştirerek dönüşümü Google Ads hesabınıza aktarın.
  • Google Ads teklifini ve raporlarını nasıl etkileyeceğini belirtmek için primary_for_goal ve category alanlarını değiştirin.
  • name veya value_settings öğelerini güncelleyin.
  • Bir 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 tüm özelliklerini değiştirme girişimleri MUTATE_NOT_ALLOWED hatasına neden olur. 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 yöntemini kullanarak ConversionAction öğesinin HIDDEN olan status değerini ENABLED yerine ENABLED yapın.mutate Bu dönüşüm işlemleri için 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ı

STORE_SALES veya STORE_SALES_DIRECT_UPLOAD dönüşüm işlemleri oluşturmak için Google Ads API'yi kullanamazsınız ancak API, mağaza satış işlemlerinin yüklenmesini destekler.

  • STORE_SALES
  • STORE_SALES_DIRECT_UPLOAD

Çeşitli

Aşağıdaki dönüşüm işlemi türleri Google Ads API'de salt okunurdur ve raporlama amacıyla sağlanmıştı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ız başka dönüşüm işlemi türleri içeriyorsa sorgu ve raporların ConversionAction.type UNKNOWN olduğu dönüşüm işlemleri döndürdüğünü görebilirsiniz. API bu dönüşüm işlemlerinin yönetilmesini desteklemez ancak metrics.conversions ve metrics.conversions_value gibi temel dönüşüm metrikleriyle ilgili tam sonuçlar sağlamak için 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. Özel olarak belirtmek gerekirse, type UPLOAD_CLICKS olarak ayarlanmış bir dönüşüm işlemi oluşturur. Bu işlem, İçe Aktar > API veya yüklemeler kullanarak manuel içe aktarma > Tıklamalardan elde edilen dönüşümleri izle seçeneğini kullanarak yeni bir dönüşüm işlemi oluştururken gerçekleştirilecek Google Ads kullanıcı arayüzü akışıyla aynıdır. Ayrıca category özelliğini DEFAULT olarak ayarlar.

Aşağıdaki varsayılan ayarlar geçerlidir:

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

Bu örnek, müşteri kitaplığınızın Yeniden Pazarlama klasöründe ve Dönüşüm İşlemi kod örneği ekleme kod örnekleri koleksiyonunda da bulunabilir.

Doğrulamalar

Google Ads ve Google Ads API çok çeşitli dönüşüm işlemlerini destekler. Bu nedenle bazı doğrulama kuralları işleme type göre değişir.

Dönüşüm işlemi oluşturulurken en sık karşılaşılan hata DUPLICATE_NAME şeklindedir. Her dönüşüm işlemi için benzersiz bir ad kullandığınızdan emin olun.

ConversionAction alanlarının ayarlanmasına ilişkin bazı ipuçlarını aşağıda bulabilirsiniz:

Tüm numaralandırma alanları
Herhangi bir numaralandırma alanının UNKNOWN olarak ayarlanmaya çalışılması RequestError.INVALID_ENUM_VALUE hatasıyla sonuçlanır.
app_id
app_id özelliği sabittir ve yalnızca yeni bir uygulama dönüşümü oluştururken ayarlanabilir.
attribution_model_settings
Bu seçeneğin kullanımdan kaldırılmış seçenek olarak ayarlanması, CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS hatasına neden olur. Google Ads yalnızca GOOGLE_ADS_LAST_CLICK ve GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN özelliklerini destekler.
click_through_lookback_window_days

Bu özelliğin izin verilen aralığın dışındaki bir değere ayarlanması RangeError.TOO_LOW veya RangeError.TOO_HIGH hatasına neden olur.

Bir AD_CALL veya WEBSITE_CALL dönüşüm işlemi için bu özellik [1,60] aralığında olmalıdır. Diğer çoğu dönüşüm işlemi için izin verilen aralık [1,30] şeklindedir.

include_in_conversions_metric

Bu değerin ayarlanması, bir create veya update işleminde FieldError.IMMUTABLE_FIELD hatası vererek başarısız olur. Bunun yerine, Dönüşüm hedefleri kılavuzunda açıklandığı gibi primary_for_goal hedefini ayarlayın.

phone_call_duration_seconds

Bu özelliğin telefon aramaları için olmayan bir dönüşüm işleminde ayarlanmaya çalışılması FieldError.VALUE_MUST_BE_UNSET hatasına neden olur.

type

type özelliği sabittir ve yalnızca yeni bir dönüşüm oluşturulurken ayarlanabilir.

Bir dönüşüm işlemini type şuna eşittir: UNKNOWN olarak güncellendiğinde MutateError.MUTATE_NOT_ALLOWED hatası oluşur.

value_settings

WEBSITE_CALL veya AD_CALL dönüşüm işleminin value_settings always_use_default_value değeri true olarak ayarlanmalıdır. Bu değeri oluştururken veya güncellerken false değerinin belirtilmesi INVALID_VALUE hatasıyla sonuçlanır.

view_through_lookback_window_days

Bu özelliğin izin verilen aralığın dışındaki bir değere ayarlanması RangeError.TOO_LOW veya RangeError.TOO_HIGH hatasına neden olur. Çoğu dönüşüm işlemi için izin verilen aralık [1,30] şeklindedir.

Bu özellik, AD_CALL veya WEBSITE_CALL dönüşüm işlemlerinde ayarlanamaz. Değer belirtildiğinde VALUE_MUST_BE_UNSET hatası oluşur.