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 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ı 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 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şlemini izleyebilmek için 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 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 bölümüne bakın.

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 bir 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 yararlı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 kaynak adını call_conversion_action alanında belirtin. Telefon öğeleri, doğrudan reklamlarınızda bir 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 Bir web sitesinden gelen telefon aramaları dönüşümü olarak görünür.

AD_CALL'in aksine bu izleyici, web sitenizde listelenen numaralarda arama izleme için dinamik Google yönlendirme numarasını almak üzere event_snippet ve global_site_tag URL'lerinin web sitenize eklenmesini gerektirir. Ayrıca, bir telefon öğesi oluşturmalı ve bunu müşteri, kampanya veya reklam grubu düzeyinde bağlamalısınız.

Ç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 Dönüşümler mağaza satışlarını izleyin 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 tespit edebilirsiniz.

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 olmak üzere 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, metrics.sk_ad_network_installs ve metrics.sk_ad_network_total_conversions dışındaki metriklere uygulanamaz ve yalnızca tarihle ilgili segmentlerle birleştirilebilir.

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

segments.sk_ad_network_coarse_conversion_value Tek bir dönüşümün yaklaşık değeri.
segments.sk_ad_network_postback_sequence_index Belirli bir dönüşüm için geri göndermenin sırayla 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:

İç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ş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 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şlemlerinin yüklenmesini 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 temel dönüşüm metrikleri için eksiksiz sonuçlar sağlamak amacıyla bunları raporlarda gösterir.

Kod örneği

Aşağıdaki kod örneği, yeni bir dönüşüm işlemi oluşturma işleminde 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'yi veya yüklemeleri kullanarak manuel olarak içe aktar > Tıklamalardan gelen dönüşümleri izle'yi kullanarak yeni bir dönüşüm işlemi oluşturmayla aynı Google Ads kullanıcı arayüzü akışıdır. Ayrıca category, DEFAULT olarak ayarlanır.

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.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 örnek ayrıca müşteri kitaplığınızın Yeniden Pazarlama klasöründe ve kod örnekleri koleksiyonunda da bulunabilir: Dönüşüm İşlemi kodu örneği ekleme.

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 türüne 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 sıralama alanları
Herhangi bir enum alanını UNKNOWN olarak ayarlamaya çalışmak RequestError.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ızca GOOGLE_ADS_LAST_CLICK ve GOOGLE_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 veya RangeError.TOO_HIGH hatasına neden olur.

Bu özellik, AD_CALL veya WEBSITE_CALL dönüşüm işlemi için [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ğer, create veya update işleminde ayarlandığında FieldError.IMMUTABLE_FIELD hatası oluşur. 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.

Bir dönüşüm işlemini type UNKNOWN değerine eşit olacak şekilde güncellendiğinde MutateError.MUTATE_NOT_ALLOWED hatası verilir.

value_settings

WEBSITE_CALL veya AD_CALL dönüşüm işlemi için value_settings'te always_use_default_value, true olarak ayarlanmalıdır. Bu değeri oluştururken veya güncellerken false değeri belirtmek INVALID_VALUE hatasına neden olur.

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]'tür.

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