Dönüşüm yönetimi

Google Ads'de dönüşüm, reklam etkileşiminden sonra gerçekleşen değerli bir kullanıcı işlemidir (ör. ürün satın alma, potansiyel müşteri formu gönderme, işletmenizi arama veya fiziksel mağazayı ziyaret etme). Dönüşüm izleme, kampanya performansını değerlendirebilmeniz ve otomatik teklifi optimize edebilmeniz için bu müşteri etkileşimlerini ölçer.

Google Ads API, dönüşüm işlemlerini programatik olarak yapılandırmanıza, çevrimdışı dönüşüm etkinliklerini içe aktarmanıza, kaydedilen dönüşümleri iyileştirmenize veya ayarlamanıza, işlemleri teklif verme ve yaşam döngüsü hedefleri halinde gruplandırmanıza ve yükleme teşhislerini izlemenize olanak tanır.

Dönüşüm iş akışınızı seçme

Kullanım alanınıza uygun ConversionActionType, API hizmeti ve uygulama kılavuzunu belirlemek için aşağıdaki tabloyu kullanın:

Görev Dönüşüm işlemi türü API hizmeti veya kaynağı Uygulama kılavuzu
Hesap kurulumunu doğrulama ve dönüşüm işlemi oluşturma UPLOAD_CLICKS, WEBPAGE, UPLOAD_CALLS, AD_CALL, WEBSITE_CALL, GOOGLE_PLAY_DOWNLOAD, GOOGLE_PLAY_IN_APP_PURCHASE Customer (ConversionTrackingSetting), ConversionActionService Başlarken ve Dönüşüm işlemi kategorileri
Çevrimdışı tıklama dönüşümlerini veya potansiyel müşteriler için gelişmiş dönüşümleri içe aktarma UPLOAD_CLICKS ConversionUploadService.UploadClickConversions (veya yeni entegrasyonlar için Data Manager API) Çevrimdışı tıklama dönüşümlerini içe aktarma
Online dönüşümleri iyileştirme (web için gelişmiş dönüşümler) WEBPAGE ConversionAdjustmentUploadService.UploadConversionAdjustments (ENHANCEMENT) Online tıklama dönüşümlerini içe aktarma
Telefon araması dönüşümlerini içe aktarma UPLOAD_CALLS ConversionUploadService.UploadCallConversions Telefon araması dönüşümlerini içe aktarma
Mağaza satışı işlemlerini içe aktarma STORE_SALES, STORE_SALES_DIRECT_UPLOAD OfflineUserDataJobService (veya Data Manager API) Mağaza satışı dönüşümlerini içe aktarma
Kaydedilen dönüşümleri geri çekme veya yeniden belirtme UPLOAD_CLICKS, WEBPAGE, SALESFORCE (desteği sonlandırıldı) ConversionAdjustmentUploadService.UploadConversionAdjustments (RETRACTION, RESTATEMENT) İçe aktarma işleminden sonra dönüşümleri ayarlama
Dönüşümlere özel etiket meta verileri ekleme UPLOAD_CLICKS, UPLOAD_CALLS, WEBPAGE ConversionCustomVariableService Özel dönüşüm değişkenleri
Teklif hedeflerini, yaşam döngüsü hedeflerini ve değer kurallarını yapılandırma Hesap, kampanya ve yaşam döngüsü hedefleri CustomerConversionGoalService, CampaignConversionGoalService, CustomConversionGoalService, ConversionGoalCampaignConfigService, GoalService, CampaignGoalConfigService, ConversionValueRuleService Dönüşüm hedefleri, Yaşam döngüsü hedefleri ve Dönüşüm değeri kuralları
İçe aktarma durumunu ve hata teşhislerini izleme UPLOAD_CLICKS, WEBPAGE, UPLOAD_CALLS offline_conversion_upload_client_summary, offline_conversion_upload_conversion_action_summary Çevrimdışı veri teşhisini izleme
Dönüşüm metriklerini sorgulama ve hataları giderme Tüm dönüşüm türleri GoogleAdsService.SearchStream (customer, campaign, conversion_action) Dönüşüm istatistiklerini getirme ve Dönüşüm içe aktarma işlemlerinde sorun giderme

Uçtan uca dönüşüm yaşam döngüsü

Google Ads API'de eksiksiz bir dönüşüm yönetimi entegrasyonu dört aşamadan oluşur:

  1. Hesap kurulumunu doğrulama ve dönüşüm işlemleri oluşturma: Geçerli dönüşüm hesabını (google_ads_conversion_customer) onaylamak, dönüşüm izlemenin etkin olduğunu doğrulamak, kullanıcı rızasını yapılandırmak ve hedef ConversionActionType ve ConversionActionCategory ile bir ConversionAction oluşturmak için Customer.conversion_tracking_setting sorgusu yapın.
  2. Dönüşüm etkinliklerini içe aktarma: partial_failure, true olarak ayarlanmış şekilde ConversionUploadService kullanarak çevrimdışı tıklama veya telefon araması dönüşümlerini aktarın, ConversionAdjustmentUploadService kullanarak ENHANCEMENT düzenlemeleriyle web sitesi dönüşümlerini destekleyin veya OfflineUserDataJobService kullanarak mağaza satışlarını toplu olarak yükleyin.
  3. Dönüşümleri ayarlama ve optimize etme: ConversionAdjustmentUploadService kullanarak kaydedilen dönüşümleri geri çekin veya yeniden belirtin, ConversionCustomVariable meta verileri ekleyin, dönüşüm değeri kuralları uygulayın ve teklif optimizasyonunu kontrol etmek için işlemleri dönüşüm hedefleri ve yaşam döngüsü hedefleri olarak düzenleyin.
  4. Teşhisleri izleme ve performans raporu oluşturma: Yükleme işleme durumunu ve kısmi hata uyarılarını incelemek için offline_conversion_upload_client_summary ve offline_conversion_upload_conversion_action_summary sorgularını kullanın. metrics.conversions ve metrics.all_conversions metriklerini karşılaştırmak için customer veya campaign kaynaklarını (isteğe bağlı olarak segments.conversion_action ile segmentlere ayrılmış) sorgulayın ya da metrics.all_conversions ve son dönüşüm zaman damgalarını incelemek için conversion_action kaynağını sorgulayın.

Hızlı başlangıç: Kurulumu doğrulama, işlem oluşturma ve durumu kontrol etme

Aşağıdaki örneklerde, dönüşüm izlemeyi ilk kullanıma hazırlamak ve izlemek için gereken en yaygın üç sorgu ve değişiklik gösterilmektedir.

1. GAQL ile dönüşüm izleme ayarlarını doğrulama

ConversionAction oluşturmadan veya etkinlik yüklemeden önce, dönüşümleri hangi hesabın yönettiğini (google_ads_conversion_customer), müşteri verileri şartlarının kabul edilip edilmediğini ve hesap düzeyinde gelişmiş dönüşümlerin etkinleştirilip etkinleştirilmediğini (EnhancedConversionsConfig) belirlemek için GoogleAdsService.SearchStream kullanarak customer kaynağını sorgulayın:

SELECT
  customer.conversion_tracking_setting.conversion_tracking_id,
  customer.conversion_tracking_setting.conversion_tracking_status,
  customer.conversion_tracking_setting.cross_account_conversion_tracking_id,
  customer.conversion_tracking_setting.google_ads_conversion_customer,
  customer.conversion_tracking_setting.accepted_customer_data_terms,
  customer.conversion_tracking_setting.enablement_setting,
  customer.conversion_tracking_setting.effective_enablement_setting
FROM customer

google_ads_conversion_customer içinde döndürülen customers/{customer_id} kaynak adından {customer_id} değerini çıkarın ve sonraki tüm ConversionActionService ve ConversionUploadService isteklerini bu müşteri kimliğine gönderin. Tam kurulum ve hesaplar arası hiyerarşi ayrıntıları için Başlangıç bölümüne bakın.

2. Dönüşüm işlemi oluşturma

ConversionAction oluşturmak için ConversionActionService.MutateConversionActions kullanın. Aşağıdaki örnekte, özel değer ve yeniden inceleme ayarları içeren bir UPLOAD_CLICKS dönüşüm işlemi oluşturulmaktadır:

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.V26.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: GoogleAdsClient, customer_id: str) -> None:
    conversion_action_service: ConversionActionServiceClient = (
        client.get_service("ConversionActionService")
    )

    # Create the operation.
    conversion_action_operation: ConversionActionOperation = client.get_type(
        "ConversionActionOperation"
    )

    # Create conversion action.
    conversion_action: ConversionAction = 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: ConversionAction.ValueSettings = (
        conversion_action.value_settings
    )
    value_settings.default_value = 15.0
    value_settings.always_use_default_value = True

    # Add the conversion action.
    conversion_action_response: MutateConversionActionsResponse = (
        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::V26::Resources::ConversionAction->new({
      name                          => $conversion_action_name,
      category                      => DEFAULT,
      type                          => WEBPAGE,
      status                        => ENABLED,
      viewThroughLookbackWindowDays => 15,
      valueSettings                 =>
        Google::Ads::GoogleAds::V26::Resources::ValueSettings->new({
          defaultValue          => 23.41,
          alwaysUseDefaultValue => "true"
        })});

  # Create a conversion action operation.
  my $conversion_action_operation =
    Google::Ads::GoogleAds::V26::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;
}
      

curl

REST isteği

REST üzerinden aynı ConversionAction öğesini oluşturmak için ConversionActionService.MutateConversionActions adresine bir POST isteği gönderin:

POST https://googleads.googleapis.com/v26/customers/{customer_id}/conversionActions:mutate
{
  "operations": [
    {
      "create": {
        "name": "Earth to Mars Cruise Conversion",
        "type": "UPLOAD_CLICKS",
        "category": "DEFAULT",
        "status": "ENABLED",
        "primaryForGoal": true,
        "countingType": "ONE_PER_CLICK",
        "clickThroughLookbackWindowDays": "60",
        "valueSettings": {
          "defaultValue": 23.41,
          "defaultCurrencyCode": "USD",
          "alwaysUseDefaultValue": true
        }
      }
    }
  ]
}

Dönüşüm işleminiz ENABLED olduğunda, dönüşüm kaynağınızın iş akışını kullanarak dönüşüm etkinliklerini veya geliştirmeleri içe aktarın (Dönüşüm etkinliklerini içe aktarma bölümüne bakın).

3. Çevrimdışı dönüşüm yükleme durumunu izleme

Tıklama dönüşümlerini, telefon araması dönüşümlerini veya dönüşüm ayarlamalarını yükledikten sonra, son yüklemelerinizdeki genel iş durumunu, başarı ve bekleme oranlarını ve hata dökümlerini kontrol etmek için offline_conversion_upload_client_summary sorgusunu çalıştırın:

SELECT
  offline_conversion_upload_client_summary.client,
  offline_conversion_upload_client_summary.status,
  offline_conversion_upload_client_summary.total_event_count,
  offline_conversion_upload_client_summary.successful_event_count,
  offline_conversion_upload_client_summary.success_rate,
  offline_conversion_upload_client_summary.pending_event_count,
  offline_conversion_upload_client_summary.pending_rate,
  offline_conversion_upload_client_summary.last_upload_date_time,
  offline_conversion_upload_client_summary.alerts
FROM offline_conversion_upload_client_summary

Dönüşüm işlemi düzeyinde teşhis için offline_conversion_upload_conversion_action_summary sorgusu yapın (Çevrimdışı veri teşhislerini izleme bölümüne bakın) ve belirli hata kodlarını çözmek için Dönüşüm içe aktarma sorunlarını giderme bölümüne bakın.

Yaşam döngüsü aşamasına göre rehber dizini

Yaşam döngüsü aşamasına göre düzenlenmiş dönüşüm yönetimi kılavuzlarının tamamını inceleyin:

1. Hesap kurulumu ve dönüşüm işlemleri

  • Dönüşüm işlemi kategorileri: Doğru dönüşüm kaynağını seçin (web sitesi (WEBPAGE), telefon araması (UPLOAD_CALLS, AD_CALL, WEBSITE_CALL), mobil uygulama (GOOGLE_PLAY_DOWNLOAD, GOOGLE_PLAY_IN_APP_PURCHASE, Firebase, SKAdNetwork), Google Analytics 4 (GOOGLE_ANALYTICS_4_CUSTOM, GOOGLE_ANALYTICS_4_PURCHASE), çevrimdışı (UPLOAD_CLICKS) veya fiziksel mağaza (STORE_SALES)) ve ilgili ConversionActionType ve API iş akışıyla eşleyin.
  • Başlangıç: Kullanıcı rızasını yapılandırın, ConversionTrackingSetting doğrulayın, hesaplar arası dönüşüm izlemeyi ayarlayın ve istemci kitaplıklarını veya REST'i kullanarak dönüşüm işlemleri oluşturun.

2. Dönüşüm etkinliklerini içe aktarma

3. Dönüşümleri ayarlama ve optimize etme

4. İzleme, raporlama ve sorun giderme