Erste Schritte

Sie müssen Conversion-Tracking in Ihrem Google Ads-Conversion-Konto aktivieren, um Conversions zu erfassen. In dieser Anleitung erfahren Sie, wie Sie prüfen, ob Conversion-Tracking aktiviert ist, wie Sie es aktivieren, falls es noch nicht aktiviert ist, und wie Sie Informationen zu vorhandenen Conversion-Aktionen abrufen.

Für die meisten Conversion-Aktionen sind außerdem zusätzliche Schritte erforderlich, um sie zu erfassen. Weitere Informationen zu den verschiedenen Conversion-Aktionstypen und ihren Anforderungen finden Sie in der Anleitung Conversion-Aktionen erstellen.

Sie müssen bestätigen, dass Sie die Berechtigung haben, Conversion-Daten an Google weiterzugeben. Dazu gibt es zwei Möglichkeiten:

  1. Standardeinstellungen für die Einwilligung auf Kontoebene konfigurieren. Klicken Sie in der Google Ads-Benutzeroberfläche auf Tools -> Datenverwaltung -> Einstellungen für die Einwilligung -> Standardeinstellungen für die Einwilligung.
  2. Legen Sie das Feld ClickConversion.consent für jede importierte Conversion fest.

Website für das Conversion-Tracking einrichten

Wenn Sie mit der Integration von Offline-Conversion-Importen beginnen, müssen Sie zuerst die Schritte in der Anleitung Google-Tag für erweiterte Conversions für Leads konfigurieren ausführen, um Ihre Website für das Tracking erweiterter Conversions für Leads zu konfigurieren. Sie können Ihre Website auch mit Google Tag Manager konfigurieren. Folgen Sie dazu den Schritten in der Anleitung Google Tag Manager für erweiterte Conversions für Leads konfigurieren .

Conversion-Tracking in Ihrem Google Ads-Conversion-Konto aktivieren

Informationen zur Einrichtung des Conversion-Trackings abrufen

Sie können die Einrichtung des Conversion-Trackings für Ihr Konto prüfen und bestätigen, dass Conversion Tracking aktiviert ist, indem Sie die Customer Ressource nach der ConversionTrackingSetting abfragen. Führen Sie die folgende Abfrage mit GoogleAdsService.SearchStream aus:

SELECT
  customer.conversion_tracking_setting.google_ads_conversion_customer,
  customer.conversion_tracking_setting.conversion_tracking_status,
  customer.conversion_tracking_setting.conversion_tracking_id,
  customer.conversion_tracking_setting.cross_account_conversion_tracking_id
FROM customer

Das Feld google_ads_conversion_customer gibt das Google Ads-Konto an, in dem Conversions für diesen Kunden erstellt und verwaltet werden. Bei Kunden, die kontoübergreifendes Conversion-Tracking, verwenden, ist dies die ID eines Verwaltungskontos. Die Google Ads-Conversion-Kunden-ID sollte in Google Ads API-Anfragen zum Erstellen und Verwalten von Conversions als customer_id angegeben werden. Dieses Feld wird auch dann ausgefüllt, wenn Conversion-Tracking nicht aktiviert ist.

Das conversion_tracking_status Feld gibt an, ob Conversion-Tracking aktiviert ist und ob das Konto kontoübergreifendes Conversion-Tracking verwendet.

Conversion-Aktion unter dem Google Ads-Conversion-Kunden erstellen

Wenn der Wert von conversion_tracking_status NOT_CONVERSION_TRACKED ist, ist Conversion-Tracking für das Konto nicht aktiviert. Aktivieren Sie Conversion-Tracking indem Sie mindestens eine ConversionAction in dem Google Ads-Conversion-Konto erstellen, wie im folgenden Beispiel. Alternativ können Sie eine Conversion-Aktion in der Benutzeroberfläche erstellen. Folgen Sie dazu der Anleitung in der Hilfe für den Conversion-Typ, den Sie aktivieren möchten.

Erweiterte Conversions werden automatisch aktiviert, wenn sie über die Google Ads API gesendet werden. Sie können jedoch über die Google Ads-Benutzeroberfläche deaktiviert werden.

Codebeispiel

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

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

Achten Sie darauf, dass der conversion_action_type auf den richtigen ConversionActionType-Wert festgelegt ist. Weitere Informationen zum Erstellen von Conversion-Aktionen in der Google Ads API finden Sie unter Conversion-Aktionen erstellen.

Vorhandene Conversion-Aktion abrufen

Sie können Details zu einer vorhandenen Conversion-Aktion abrufen, indem Sie die folgende Abfrage ausführen. Achten Sie darauf, dass die Kunden-ID in der Anfrage auf den oben angegebenen Google Ads Conversion-Kunden festgelegt ist und der Conversion-Aktionstyp auf den richtigen ConversionActionType Wert festgelegt ist.

SELECT
  conversion_action.resource_name,
  conversion_action.name,
  conversion_action.status
FROM conversion_action
WHERE conversion_action.type = 'INSERT_CONVERSION_ACTION_TYPE'

Kontoübergreifendes Conversion-Tracking

Wenn Sie kontoübergreifendes Conversion Tracking verwenden, gibt ConversionActionService die folgenden Conversion-Aktionen zurück:

  • Alle Conversion-Aktionen, die vom Verwaltungskonto definiert wurden, das vom Konto für kontoübergreifendes Conversion-Tracking verwendet wird
  • Alle Conversion-Aktionen, für die der Kunde Statistiken erfasst hat, einschließlich systemdefinierter Aktionen und Aktionen, die dem Verwaltungskonto gehören, auch wenn die Verknüpfung mit dem Verwaltungskonto später aufgehoben wird
  • Alle Aktionen, die der Kunde in seinem eigenen Konto definiert hat
  • In verknüpften Google Analytics-Properties erstellte Analytics-Conversions Dazu gehören auch Aktionen für Analytics-Conversions, die nicht in Google Ads importiert wurden, die den Status HIDDEN haben.

Sie können die Google Ads API verwenden, um kontoübergreifendes Conversion-Tracking zu aktivieren, wenn Sie Kundenkonten erstellen.

Legen Sie beim Erstellen eines neuen Customer das conversion_tracking_setting.google_ads_conversion_customer auf den Ressourcennamen des Verwaltungskontos fest, das Conversion-Aktionen im Namen des Kundenkontos verwalten soll. Dieses Verwaltungskonto muss auch das Konto sein, das die create-Anfrage für das neue Kundenkonto ausgibt.

Ab Version v20 können Sie die Google Ads API verwenden, um kontoübergreifendes Conversion-Tracking sowohl beim Erstellen als auch beim Aktualisieren von Kundenkonten zu aktivieren.

Wenn Sie ein vorhandenes Kundenkonto aktualisieren, können Sie kontoübergreifendes Conversion-Tracking aktivieren, indem Sie das conversion_tracking_setting.google_ads_conversion_customer Feld festlegen. Dieses Feld sollte auf den Ressourcennamen des Verwaltungskontos festgelegt werden, das Conversion-Aktionen im Namen des Kundenkontos verwalten soll. Dieses Verwaltungskonto muss auch das Konto sein, das die update-Anfrage für das Kundenkonto ausgibt.

Hinweis: Die Verwendung der Google Ads API zum Ändern der Einstellungen für das kontoübergreifende Conversion-Tracking eines Kundenkontos ist nur für Konten auf der Zulassungsliste möglich. Wenden Sie sich dazu an Ihren Account Manager.

Wenn Sie kontoübergreifendes Conversion-Tracking aktivieren oder den Conversion Tracking-Manager für ein vorhandenes Kundenkonto ändern, gelten dieselben Einschränkungen wie bei einer Änderung in der Benutzeroberfläche wenn Sie diese Änderung in der Benutzeroberfläche vornehmen würden. Im Detail:

  • Das Kundenkonto übernimmt die Standardregeln für Conversion-Werte und die Standardzielvorhaben für den Kundenlebenszyklus des neuen Conversion-Tracking-Managers.
  • Für Kampagnen, die auf eine bestimmte Conversion-Aktion ausgerichtet sind, werden die standardmäßigen Conversion-Zielvorhaben des Conversion-Manager-Kontos verwendet. Wenn Sie weiterhin auf eine bestimmte Conversion-Aktion ausrichten, kann dies zu inkonsistentem Verhalten führen, da das Verwaltungskonto möglicherweise nicht dieselben Zielvorhaben wie das Kundenkonto hat. Achten Sie darauf, dass Ihre Kampagnen für die richtigen Zielvorhaben optimiert sind.
  • Falls ein Konto zu mehreren Verwaltungskonten gehört, können dafür nur Conversion-Aktionen aus einem Verwaltungskonto verwendet werden. Wenn kein Conversion-Tracking-Konto angegeben ist, verwendet das Konto standardmäßig sich selbst als Conversion-Tracking-Konto.

Conversion-Aktionen erstellen

Wenn Sie Conversions erfassen möchten, richten Sie eine ConversionAction für den type der Conversion-Aktion ein, die Sie erfassen möchten. Für einen Onlinekauf und einen Anruf sind beispielsweise unterschiedliche Conversion-Aktionen erforderlich.

Die beste Möglichkeit, neue Conversion-Aktionen in der API einzurichten, ist die Verwendung des Codebeispiels Conversion-Aktion hinzufügen unten. Das Beispiel übernimmt alle Hintergrundaufgaben für die Authentifizierung und führt Sie durch das Erstellen einer ConversionAction.

Für die meisten Conversion-Aktionen sind außerdem zusätzliche Schritte erforderlich, um sie zu erfassen. Wenn Sie beispielsweise Conversions auf Ihrer Website erfassen möchten, müssen Sie der Conversion-Seite auf Ihrer Website einen Code Snippet hinzufügen, der als Tag bezeichnet wird. Detaillierte Anforderungen für andere Conversion-Aktionstypen finden Sie in diesem Hilfeartikel.

Codebeispiel

Im folgenden Codebeispiel wird beschrieben, wie Sie eine neue Conversion-Aktion erstellen. Dabei wird eine Conversion-Aktion erstellt, bei der type auf UPLOAD_CLICKS festgelegt ist. Außerdem wird category auf DEFAULTfestgelegt.

Die folgenden Standardeinstellungen gelten:

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

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

Dieses Beispiel finden Sie im Ordner „Remarketing“ Ihrer Clientbibliothek und in der Sammlung von Codebeispielen: Codebeispiel für das Hinzufügen einer Conversion-Aktion example.

Validierungen

Google Ads und die Google Ads API unterstützen eine Vielzahl von Conversion-Aktionen. Daher variieren einige Validierungsregeln je nach type der Aktion.

Der mit Abstand häufigste Fehler beim Erstellen einer Conversion-Aktion ist DUPLICATE_NAME. Achten Sie darauf, dass Sie für jede Conversion-Aktion einen eindeutigen Namen verwenden.

Hier einige Tipps zum Festlegen der ConversionAction-Felder:

Alle Enum-Felder
Wenn Sie versuchen, ein Enum-Feld auf UNKNOWN festzulegen, wird der Fehler RequestError.INVALID_ENUM_VALUE ausgelöst.
app_id
Das Attribut app_id ist unveränderlich und kann nur beim Erstellen einer neuen App-Conversion festgelegt werden.
attribution_model_settings
Wenn Sie dieses Attribut auf eine veraltete Option festlegen, wird der CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS Fehler ausgelöst. Google Ads unterstützt nur GOOGLE_ADS_LAST_CLICK und GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN.
click_through_lookback_window_days

Wenn Sie dieses Attribut auf einen Wert außerhalb des zulässigen Bereichs festlegen, wird der Fehler RangeError.TOO_LOW oder RangeError.TOO_HIGH ausgelöst.

Für eine AD_CALL- oder WEBSITE_CALL-Conversion-Aktion muss dieses Attribut im Bereich [1,60] liegen. Für die meisten anderen Conversion-Aktionen liegt der zulässige Bereich bei [1,30].

include_in_conversions_metric

Wenn Sie diesen Wert in einem create- oder update-Vorgang festlegen, schlägt der Vorgang mit dem Fehler FieldError.IMMUTABLE_FIELD fehl. Legen Sie stattdessen primary_for_goal fest, wie in der Anleitung Conversion-Zielvorhaben beschrieben.

phone_call_duration_seconds

Wenn Sie versuchen, dieses Attribut für eine Conversion-Aktion festzulegen, die nicht für Anrufe gilt, wird der Fehler FieldError.VALUE_MUST_BE_UNSET ausgelöst.

type

Das Attribut type ist unveränderlich und kann nur beim Erstellen einer neuen Conversion festgelegt werden.

Wenn Sie eine Conversion-Aktion mit type gleich UNKNOWN aktualisieren, wird der Fehler MutateError.MUTATE_NOT_ALLOWED ausgelöst.

value_settings

Für die value_settings einer WEBSITE_CALL- oder AD_CALL-Conversion-Aktion muss always_use_default_value auf true festgelegt sein. Wenn Sie beim Erstellen oder Aktualisieren dieses Werts false angeben, wird der Fehler INVALID_VALUE ausgelöst.

view_through_lookback_window_days

Wenn Sie dieses Attribut auf einen Wert außerhalb des zulässigen Bereichs festlegen, wird der Fehler RangeError.TOO_LOW oder RangeError.TOO_HIGH ausgelöst. Für die meisten Conversion-Aktionen liegt der zulässige Bereich bei [1,30].

Dieses Attribut kann nicht für AD_CALL- oder WEBSITE_CALL-Conversion-Aktionen festgelegt werden. Wenn Sie einen Wert angeben, wird der Fehler VALUE_MUST_BE_UNSET ausgelöst.