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.
Einwilligung vorbereiten
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:
- 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.
- Legen Sie das Einwilligungsfeld für jede importierte Conversion oder Nutzdaten-Nutzlast fest (z.
B.
ClickConversion.consent,CallConversion.consentoderUserData.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.

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
HIDDENhaben.
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:
Die Google Ads API legt das
primary_for_goalFeld automatisch fest. Sie können dieses Feld jedoch explizit festlegen, um zu steuern, wie sich eine Conversion-Aktion auf Berichte und Gebote in Ihrem Konto auswirkt, wenn sie mit Ihren Conversion-Zielvorhaben kombiniert wird.Die Google Ads API legt
counting_typeautomatisch aufMANY_PER_CLICKfest. Weitere Informationen finden Sie unter Optionen für die Conversion-Zählung.Die Google Ads API legt das Attributionsmodell auf Datengetrieben fest, indem das Feld
attribution_model_settingsauf den WertGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVENAttributionModelgesetzt wird. Weitere Informationen zu Attributionsmodellen finden Sie unter Attributionsmodellen.
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
UNKNOWNzu setzen, führt dies zu einemRequestError.INVALID_ENUM_VALUE-Fehler. app_id- Das Attribut
app_idist 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_MODELSFehler. Google Ads unterstützt nurGOOGLE_ADS_LAST_CLICKundGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN. click_through_lookback_window_daysWenn Sie dieses Attribut auf einen Wert außerhalb des zulässigen Bereichs setzen, führt dies zu einem
RangeError.TOO_LOW- oderRangeError.TOO_HIGH-Fehler.Für eine
AD_CALL- oderWEBSITE_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_metricWenn Sie diesen Wert in einem
create- oderupdate-Vorgang festlegen, schlägt der Vorgang mit einemFieldError.IMMUTABLE_FIELD-Fehler fehl. Legen Sie stattdessenprimary_for_goalfest, wie im Leitfaden zu Conversion-Zielvorhaben beschrieben.phone_call_duration_secondsWenn 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.typeDas Attribut
typeist unveränderlich und kann nur beim Erstellen einer neuen Conversion festgelegt werden.Wenn Sie eine Conversion-Aktion mit
typegleichUNKNOWNaktualisieren, führt dies zu einemMutateError.MUTATE_NOT_ALLOWEDFehler.value_settingsFür die
value_settingseinerWEBSITE_CALL- oderAD_CALL-Conversion-Aktion mussalways_use_default_valueauftruegesetzt sein. Wenn Sie beim Erstellen oder Aktualisieren dieses Wertsfalseangeben, führt dies zu einemINVALID_VALUE-Fehler.view_through_lookback_window_daysWenn Sie dieses Attribut auf einen Wert außerhalb des zulässigen Bereichs setzen, führt dies zu einem
RangeError.TOO_LOW- oderRangeError.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- oderWEBSITE_CALL-Conversion-Aktionen festgelegt werden. Wenn Sie einen Wert angeben, führt dies zu einemVALUE_MUST_BE_UNSET-Fehler.