Erste Schritte

Sie müssen Conversion-Tracking in Ihrem Google Ads-Conversion-Konto aktivieren, um Anzeigen-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 unter Conversion-Aktionskategorien und Conversion-Aktionen erstellen.

Wenn Sie Conversions oder Nutzerdaten importieren, müssen Sie bestätigen, dass Sie die Berechtigung haben, Conversion-Daten an Google weiterzugeben. Dafür stehen Ihnen zwei Möglichkeiten zur Verfügung:

  1. Standardeinstellungen für die Einwilligung auf Kontoebene konfigurieren Klicken Sie in der Google Ads-Benutzeroberfläche auf Tools > Data Manager > Einwilligungseinstellungen > Standardeinstellungen für die Einwilligung.
  2. Legen Sie das Einwilligungsfeld für jede importierte Conversion oder Nutzdaten-Nutzlast fest (z. B. ClickConversion.consent, CallConversion.consent oder UserData.consent).

Website für das Conversion-Tracking einrichten

Wenn Sie Website-Conversions erfassen oder erweiterte Conversions für Leads implementieren, konfigurieren Sie zuerst das Website-Tagging. Folgen Sie der Anleitung unter Google-Tag für erweiterte Conversions für Leads konfigurieren, oder verwenden Sie Google Tag Manager gemäß der Anleitung unter Google Tag Manager für erweiterte Conversions für Leads konfigurieren.

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

Folgen Sie dieser Anleitung, um die Einrichtung des Conversion-Trackings für Ihr Konto zu überprüfen und Conversion-Aktionen zu erstellen oder abzurufen.

Schritte zum Aktivieren des Conversion-Trackings

Informationen zur Einrichtung des Conversion-Trackings abrufen

Sie können die Einrichtung des Conversion-Trackings für Ihr Konto überprüfen und bestätigen, dass das Conversion Tracking aktiviert ist, indem Sie die Customer Ressource nach dem 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 Trackingverwenden, ist dies die ID eines Verwaltungskontos. Die Google Ads-Anzeigen-Conversion-Kundennummer 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 das Conversion-Tracking nicht aktiviert ist.

Das conversion_tracking_status Feld gibt an, ob das 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 das Conversion-Tracking für das Konto nicht aktiviert. Aktivieren Sie das 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 im Google Ads-Hilfeartikel zur Einrichtung des Conversion-Trackings 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.V25.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::V25::Resources::ConversionAction->new({
      name                          => $conversion_action_name,
      category                      => DEFAULT,
      type                          => WEBPAGE,
      status                        => ENABLED,
      viewThroughLookbackWindowDays => 15,
      valueSettings                 =>
        Google::Ads::GoogleAds::V25::Resources::ValueSettings->new({
          defaultValue          => 23.41,
          alwaysUseDefaultValue => "true"
        })});

  # Create a conversion action operation.
  my $conversion_action_operation =
    Google::Ads::GoogleAds::V25::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 das type auf den richtigen ConversionActionType Wert gesetzt 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 Kundennummer in der Anfrage auf den zuvor ermittelten Google Ads Conversion-Kunden gesetzt ist und der Conversion-Aktionstyp auf den richtigen ConversionActionType Wert gesetzt ist.

SELECT
  conversion_action.id,
  conversion_action.resource_name,
  conversion_action.name,
  conversion_action.type,
  conversion_action.category,
  conversion_action.status
FROM conversion_action

WHERE conversion_action.type = 'INSERT_CONVERSION_ACTION_TYPE'

Kontoübergreifendes Conversion-Tracking

Mit dem kontoübergreifenden Conversion-Tracking können Google Ads-Konten Conversions im Namen anderer Konten importieren, über die möglicherweise die Anzeigen ausgeliefert wurden, die Conversions generiert haben. Dies kann die Integration vereinfachen, da Sie die Konten konsolidieren können, die Importanfragen stellen.

Kontoübergreifendes Conversion-Tracking in der Google Ads API aktivieren

Sie können die Google Ads API verwenden, um sich für das kontoübergreifende Conversion-Tracking zu registrieren, wenn Sie Kundenkonten erstellen oder aktualisieren.

Setzen Sie in einer Customer-Ressource das conversion_tracking_setting.google_ads_conversion_customer -Feld auf den Ressourcennamen des Verwaltungskontos, das Conversion-Aktionen im Namen des Kundenkontos verwalten soll.

Anfragen, mit denen der Conversion-Kunde eines Kundenkontos geändert wird, müssen vom Verwaltungskonto gesendet werden, das der neue Conversion-Kunde für den Kunden wird. Setzen Sie dazu login-customer-id auf die ID des Verwaltungskontos.

Wenn Sie sich für das kontoübergreifende Conversion-Tracking registrieren oder den Conversion Tracking-Manager für ein vorhandenes Kundenkonto ändern, gelten dieselben Einschränkungen wie wenn Sie diese Änderung in der Benutzeroberfläche vornehmen. Konkret:

  • Das Kundenkonto übernimmt die Standardregeln für Conversion-Werte und die Standard-Zielvorhaben 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.
  • Wenn ein Konto zu mehr als einem Verwaltungskonto gehört, können nur Conversion-Aktionen von einem Manager verwendet werden. Wenn kein Conversion-Tracking-Konto angegeben ist, verwendet das Konto standardmäßig sich selbst als Conversion-Tracking-Konto.

Conversions kontoübergreifend importieren

Wenn das kontoübergreifende Tracking aktiviert ist, können Kunden- und Verwaltungskonten Conversions im Namen des Kontos zur Anzeigenauslieferung importieren. So können Sie Ihre Importlogik vereinfachen, da Sie das Konto zur Anzeigenauslieferung nicht für jede Conversion zum Zeitpunkt des Imports bestimmen müssen. Sie können einfach ein Konto aus Ihrer Kontostruktur auswählen, um alle Conversions zu importieren.

Damit eine Conversion erfolgreich hochgeladen werden kann, muss das Konto, das den Upload durchführt, Zugriff auf die Conversion-Aktion haben. In einer kontoübergreifenden Trackinghierarchie hat das Konto, das den Upload durchführt, Zugriff auf die Aktion, wenn es im Konto-Baum ein übergeordnetes Konto (Verwaltungskonto) oder ein untergeordnetes Konto des Inhabers der Conversion-Aktion ist.

Das folgende Diagramm veranschaulicht die Autorisierungsstruktur für den Import von Conversions. C1 ist das Kundenkonto, über das die Anzeige ausgeliefert wurde, die die Conversion generiert hat. M2 ist der Inhaber der Conversion-Aktion und das übergeordnete Conversion-Tracking-Konto von C1. Die grün hervorgehobenen Konten dürfen Conversions im Namen von C1 importieren, die rot hervorgehobenen Konten nicht.

Autorisierungsstruktur

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 das Codebeispiel „Conversion-Aktion hinzufügen“. Das Beispiel übernimmt alle Hintergrundaufgaben für die Authentifizierung und führt Sie durch die Erstellung 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 ein Code Snippet hinzufügen, das als Tag bezeichnet wird. Detaillierte Anforderungen für andere Conversion-Aktionstypen finden Sie in unserem Google Ads-Hilfeartikel zu Conversion-Typen.

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 das kontoübergreifende Conversion-Tracking verwendet wird
  • Alle Conversion-Aktionen, für die der Kunde Statistiken erfasst hat, einschließlich systemdefinierter Aktionen und Aktionen, die dem Manager gehören, auch wenn dieser die Verknüpfung später aufhebt
  • Alle Aktionen, die der Kunde in seinem eigenen Konto definiert hat
  • Analytics-Conversions, die in verknüpften Google Analytics-Properties erstellt wurden. Dazu gehören Aktionen für Analytics-Conversions, die nicht in Google Ads importiert wurden, die den Status HIDDEN haben.

Codebeispiel

Das folgende Codebeispiel führt Sie durch die Erstellung einer neuen Conversion-Aktion. Konkret wird eine Conversion-Aktion erstellt, bei der die type auf UPLOAD_CLICKS gesetzt ist. Außerdem wird category auf DEFAULT gesetzt.

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

  # Create a conversion action operation.
  my $conversion_action_operation =
    Google::Ads::GoogleAds::V25::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 „Conversion-Aktion hinzufügen“ 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 zu setzen, führt dies zu einem RequestError.INVALID_ENUM_VALUE-Fehler.
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 dies auf eine veraltete Option setzen, führt dies zu einem CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS Fehler. 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 setzen, führt dies zu einem RangeError.TOO_LOW- oder RangeError.TOO_HIGH-Fehler.

Für eine AD_CALL- oder WEBSITE_CALL-Conversion-Aktion muss dieses Attribut zwischen 1 und 60 Tagen liegen. Für die meisten anderen Conversion-Aktionen liegt der zulässige Bereich zwischen 1 und 90 Tagen.

include_in_conversions_metric

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

phone_call_duration_seconds

Wenn Sie versuchen, dieses Attribut für eine Conversion-Aktion festzulegen, die nicht für Anrufe gilt, führt dies zu einem FieldError.VALUE_MUST_BE_UNSET-Fehler.

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, führt dies zu einem MutateError.MUTATE_NOT_ALLOWED Fehler.

value_settings

Für die value_settings einer WEBSITE_CALL- oder AD_CALL-Conversion-Aktion muss always_use_default_value auf true gesetzt sein. Wenn Sie beim Erstellen oder Aktualisieren dieses Werts false angeben, führt dies zu einem INVALID_VALUE-Fehler.

view_through_lookback_window_days

Wenn Sie dieses Attribut auf einen Wert außerhalb des zulässigen Bereichs setzen, führt dies zu einem RangeError.TOO_LOW- oder RangeError.TOO_HIGH-Fehler. Für die meisten Conversion-Aktionen liegt der zulässige Bereich zwischen 1 und 30 Tagen.

Dieses Attribut kann nicht für AD_CALL- oder WEBSITE_CALL-Conversion-Aktionen festgelegt werden. Wenn Sie einen Wert angeben, führt dies zu einem VALUE_MUST_BE_UNSET-Fehler.