In Google Ads ist eine Conversion eine wertvolle Nutzeraktion, die nach einer Anzeigeninteraktion erfolgt, z. B. der Kauf eines Produkts, das Einreichen eines Lead-Formulars, ein Anruf bei Ihrem Unternehmen oder der Besuch eines Geschäfts. Mit Conversion-Tracking werden diese Kundeninteraktionen gemessen, damit Sie die Kampagnenleistung bewerten und die automatische Gebotseinstellung optimieren können.
Mit der Google Ads API können Sie Conversion-Aktionen programmatisch konfigurieren, Offline-Conversion-Ereignisse importieren, erfasste Conversions optimieren oder anpassen, Aktionen in Gebots- und Zielvorhaben für den Kundenlebenszyklus gruppieren und die Upload-Diagnose im Blick behalten.
Conversion-Workflow auswählen
Ermitteln Sie anhand der folgenden Tabelle die ConversionActionType, den API-Dienst und den Implementierungsleitfaden für Ihren Anwendungsfall:
| Aufgabe | Typ der Conversion-Aktion | API-Dienst oder -Ressource | Implementierungsleitfaden |
|---|---|---|---|
| Kontoeinrichtung überprüfen und Conversion-Aktion erstellen |
UPLOAD_CLICKS, WEBPAGE,
UPLOAD_CALLS, AD_CALL,
WEBSITE_CALL, GOOGLE_PLAY_,
GOOGLE_PLAY_
|
Customer
(ConversionTracking),
ConversionAction
|
Erste Schritte und Kategorien von Conversion-Aktionen |
| Offline-Klick-Conversions oder erweiterte Conversions für Leads importieren | UPLOAD_CLICKS |
ConversionUploadService.
(oder
Data Manager API
für neue Integrationen)
|
Offline-Klick-Conversions importieren |
| Online-Conversions optimieren (erweiterte Conversions für das Web) | WEBPAGE |
ConversionAdjustment
(ENHANCEMENT)
|
Online-Klick-Conversions importieren |
| Anruf-Conversions importieren | UPLOAD_CALLS |
ConversionUploadService.
|
Anruf-Conversions importieren |
| Ladenverkäufe importieren |
STORE_SALES, STORE_SALES_
|
OfflineUserData
(oder
Data Manager API)
|
Conversions in Form von Ladenverkäufen importieren |
| Erfasste Conversions widerrufen oder neu angeben |
UPLOAD_CLICKS, WEBPAGE,
SALESFORCE (verworfen)
|
ConversionAdjustment
(RETRACTION, RESTATEMENT)
|
Conversions nach dem Import anpassen |
| Benutzerdefinierte Tag-Metadaten an Conversions anhängen |
UPLOAD_CLICKS, UPLOAD_CALLS,
WEBPAGE
|
ConversionCustom
|
Benutzerdefinierte Conversion-Variablen |
| Gebotsziele, Zielvorhaben für den Kundenlebenszyklus und Wertregeln konfigurieren | Konto-, Kampagnen- und Zielvorhaben für den Kundenlebenszyklus |
CustomerConversion,
CampaignConversion,
CustomConversion,
ConversionGoal,
GoalService,
CampaignGoal,
ConversionValue
|
Conversion-Zielvorhaben, Zielvorhaben für den Kundenlebenszyklus und Conversion-Wert-Regeln |
| Importstatus und Fehlerdiagnose im Blick behalten |
UPLOAD_CLICKS, WEBPAGE,
UPLOAD_CALLS
|
offline_conversion_upload_,
offline_conversion_upload_
|
Offlinedatendiagnose im Blick behalten |
| Conversion-Messwerte abfragen und Fehler beheben | Alle Conversion-Typen |
GoogleAdsService.
(customer, campaign,
conversion_action)
|
Conversion-Statistiken abrufen und Fehlerbehebung bei Conversion-Importen |
Vollständiger Conversion-Lebenszyklus
Eine vollständige Integration der Conversion-Verwaltung in die Google Ads API umfasst vier Phasen:
- Kontoeinrichtung prüfen und Conversion-Aktionen erstellen: Fragen Sie
Customer.conversion_tracking_settingab, um das effektive Conversion-Konto (google_ads_conversion_customer) zu bestätigen, zu prüfen, ob das Conversion-Tracking aktiv ist, die Nutzereinwilligung zu konfigurieren und eineConversionActionmit dem ZielConversionActionTypeundConversionActionCategoryzu erstellen. - Conversion-Ereignisse importieren: Sie können Offline-Klick- oder Anruf-Conversions mit
ConversionUploadServicestreamen, wobeipartial_failureauftruefestgelegt ist. Außerdem können Sie Website-Conversions mitENHANCEMENT-Anpassungen überConversionAdjustmentUploadServiceergänzen oder Ladenverkäufe mitOfflineUserDataJobServiceim Batch hochladen. - Conversions anpassen und optimieren: Sie können erfasste Conversions mit
ConversionAdjustmentUploadServicezurückziehen oder neu angeben,ConversionCustomVariable-Metadaten anhängen, Conversion-Wert-Regeln anwenden und Aktionen in Conversion-Zielvorhaben und Zielvorhaben für den Kundenlebenszyklus organisieren, um die Gebotsoptimierung zu steuern. - Diagnosedaten und Berichtsleistung überwachen: Fragen Sie
offline_conversion_upload_client_summaryundoffline_conversion_upload_conversion_action_summaryab, um den Verarbeitungsstatus des Uploads und Warnungen zu teilweisen Fehlern zu prüfen. Fragen Sie die Ressourcencustomerodercampaignab (optional nachsegments.conversion_actionsegmentiert), um die Messwertemetrics.conversionsundmetrics.all_conversionszu vergleichen, oder fragen Sie die Ressourceconversion_actionab, ummetrics.all_conversionsund die Zeitstempel der letzten Conversion zu prüfen.
Kurzanleitung: Einrichtung überprüfen, Aktionen erstellen und Status prüfen
In den folgenden Beispielen sehen Sie die drei häufigsten Abfragen und Mutationen, die zum Initialisieren und Überwachen des Conversion-Trackings erforderlich sind.
1. Conversion-Tracking-Einstellungen mit GAQL überprüfen
Bevor Sie eine ConversionAction erstellen oder Ereignisse hochladen, fragen Sie die Ressource customer mit GoogleAdsService.SearchStream ab, um festzustellen, welches Konto Conversions verwaltet (google_ads_conversion_customer), ob die Nutzungsbedingungen für Kundendaten akzeptiert wurden und ob erweiterte Conversions auf Kontoebene aktiviert sind (EnhancedConversionsConfig):
SELECT
customer.conversion_tracking_setting.conversion_tracking_id,
customer.conversion_tracking_setting.conversion_tracking_status,
customer.conversion_tracking_setting.cross_account_conversion_tracking_id,
customer.conversion_tracking_setting.google_ads_conversion_customer,
customer.conversion_tracking_setting.accepted_customer_data_terms,
customer.conversion_tracking_setting.enablement_setting,
customer.conversion_tracking_setting.effective_enablement_setting
FROM customer
Extrahieren Sie die {customer_id} aus dem customers/{customer_id}-Ressourcennamen, der in google_ads_conversion_customer zurückgegeben wird, und senden Sie alle nachfolgenden ConversionActionService- und ConversionUploadService-Anfragen an diese Kundennummer. Ausführliche Informationen zur Einrichtung und zur kontoübergreifenden Hierarchie finden Sie unter Erste Schritte.
2. Conversion-Aktion erstellen
Verwenden Sie ConversionActionService.MutateConversionActions, um ein ConversionAction zu erstellen. Im folgenden Beispiel wird eine UPLOAD_CLICKS-Conversion-Aktion mit benutzerdefinierten Einstellungen für Wert und Rückblick erstellt:
Java
private void runExample(GoogleAdsClient googleAdsClient, long customerId) { // Creates a ConversionAction. ConversionAction conversionAction = ConversionAction.newBuilder() // Note that conversion action names must be unique. If a conversion action already // exists with the specified conversion_action_name the create operation will fail with // a ConversionActionError.DUPLICATE_NAME error. .setName("Earth to Mars Cruises Conversion #" + getPrintableDateTime()) .setCategory(ConversionActionCategory.DEFAULT) .setType(ConversionActionType.WEBPAGE) .setStatus(ConversionActionStatus.ENABLED) .setViewThroughLookbackWindowDays(15L) .setValueSettings( ValueSettings.newBuilder() .setDefaultValue(23.41) .setAlwaysUseDefaultValue(true) .build()) .build(); // Creates the operation. ConversionActionOperation operation = ConversionActionOperation.newBuilder().setCreate(conversionAction).build(); try (ConversionActionServiceClient conversionActionServiceClient = googleAdsClient.getLatestVersion().createConversionActionServiceClient()) { MutateConversionActionsResponse response = conversionActionServiceClient.mutateConversionActions( Long.toString(customerId), Collections.singletonList(operation)); System.out.printf("Added %d conversion actions:%n", response.getResultsCount()); for (MutateConversionActionResult result : response.getResultsList()) { System.out.printf( "New conversion action added with resource name: '%s'%n", result.getResourceName()); } } }
C#
public void Run(GoogleAdsClient client, long customerId) { // Get the ConversionActionService. ConversionActionServiceClient conversionActionService = client.GetService(Services.V26.ConversionActionService); // Note that conversion action names must be unique. // If a conversion action already exists with the specified name the create operation // will fail with a ConversionAction.DUPLICATE_NAME error. string ConversionActionName = "Earth to Mars Cruises Conversion #" + ExampleUtilities.GetRandomString(); // Add a conversion action. ConversionAction conversionAction = new ConversionAction() { Name = ConversionActionName, Category = ConversionActionCategory.Default, Type = ConversionActionType.Webpage, Status = ConversionActionStatus.Enabled, ViewThroughLookbackWindowDays = 15, ValueSettings = new ConversionAction.Types.ValueSettings() { DefaultValue = 23.41, AlwaysUseDefaultValue = true } }; // Create the operation. ConversionActionOperation operation = new ConversionActionOperation() { Create = conversionAction }; try { // Create the conversion action. MutateConversionActionsResponse response = conversionActionService.MutateConversionActions(customerId.ToString(), new ConversionActionOperation[] { operation }); // Display the results. foreach (MutateConversionActionResult newConversionAction in response.Results) { Console.WriteLine($"New conversion action with resource name = " + $"'{newConversionAction.ResourceName}' was added."); } } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId) { // Creates a conversion action. $conversionAction = new ConversionAction( [ // Note that conversion action names must be unique. // If a conversion action already exists with the specified conversion_action_name // the create operation will fail with a ConversionActionError.DUPLICATE_NAME error. 'name' => 'Earth to Mars Cruises Conversion #' . Helper::getPrintableDatetime(), 'category' => ConversionActionCategory::PBDEFAULT, 'type' => ConversionActionType::WEBPAGE, 'status' => ConversionActionStatus::ENABLED, 'view_through_lookback_window_days' => 15, 'value_settings' => new ValueSettings( [ 'default_value' => 23.41, 'always_use_default_value' => true ] ) ] ); // Creates a conversion action operation. $conversionActionOperation = new ConversionActionOperation(); $conversionActionOperation->setCreate($conversionAction); // Issues a mutate request to add the conversion action. $conversionActionServiceClient = $googleAdsClient->getConversionActionServiceClient(); $response = $conversionActionServiceClient->mutateConversionActions( MutateConversionActionsRequest::build($customerId, [$conversionActionOperation]) ); printf("Added %d conversion actions:%s", $response->getResults()->count(), PHP_EOL); foreach ($response->getResults() as $addedConversionAction) { /** * @var ConversionAction $addedConversionAction */ printf( "New conversion action added with resource name: '%s'%s", $addedConversionAction->getResourceName(), PHP_EOL ); } }
Python
def main(client: GoogleAdsClient, customer_id: str) -> None: conversion_action_service: ConversionActionServiceClient = ( client.get_service("ConversionActionService") ) # Create the operation. conversion_action_operation: ConversionActionOperation = client.get_type( "ConversionActionOperation" ) # Create conversion action. conversion_action: ConversionAction = conversion_action_operation.create # Note that conversion action names must be unique. If a conversion action # already exists with the specified conversion_action_name, the create # operation will fail with a ConversionActionError.DUPLICATE_NAME error. conversion_action.name = f"Earth to Mars Cruises Conversion {uuid.uuid4()}" conversion_action.type_ = ( client.enums.ConversionActionTypeEnum.UPLOAD_CLICKS ) conversion_action.category = ( client.enums.ConversionActionCategoryEnum.DEFAULT ) conversion_action.status = client.enums.ConversionActionStatusEnum.ENABLED conversion_action.view_through_lookback_window_days = 15 # Create a value settings object. value_settings: ConversionAction.ValueSettings = ( conversion_action.value_settings ) value_settings.default_value = 15.0 value_settings.always_use_default_value = True # Add the conversion action. conversion_action_response: MutateConversionActionsResponse = ( conversion_action_service.mutate_conversion_actions( customer_id=customer_id, operations=[conversion_action_operation], ) ) print( "Created conversion action " f'"{conversion_action_response.results[0].resource_name}".' )
Ruby
def add_conversion_action(customer_id) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new # Add a conversion action. conversion_action = client.resource.conversion_action do |ca| ca.name = "Earth to Mars Cruises Conversion #{(Time.new.to_f * 100).to_i}" ca.type = :UPLOAD_CLICKS ca.category = :DEFAULT ca.status = :ENABLED ca.view_through_lookback_window_days = 15 # Create a value settings object. ca.value_settings = client.resource.value_settings do |vs| vs.default_value = 15 vs.always_use_default_value = true end end # Create the operation. conversion_action_operation = client.operation.create_resource.conversion_action(conversion_action) # Add the ad group ad. response = client.service.conversion_action.mutate_conversion_actions( customer_id: customer_id, operations: [conversion_action_operation], ) puts "New conversion action with resource name = #{response.results.first.resource_name}." end
Perl
sub add_conversion_action { my ($api_client, $customer_id) = @_; # Note that conversion action names must be unique. # If a conversion action already exists with the specified conversion_action_name, # the create operation fails with error ConversionActionError.DUPLICATE_NAME. my $conversion_action_name = "Earth to Mars Cruises Conversion #" . uniqid(); # Create a conversion action. my $conversion_action = Google::Ads::GoogleAds::V26::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V26::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V26::Services::ConversionActionService::ConversionActionOperation ->new({create => $conversion_action}); # Add the conversion action. my $conversion_actions_response = $api_client->ConversionActionService()->mutate({ customerId => $customer_id, operations => [$conversion_action_operation]}); printf "New conversion action added with resource name: '%s'.\n", $conversion_actions_response->{results}[0]{resourceName}; return 1; }
curl
REST-Anfrage
Wenn Sie dieselbe ConversionAction über REST erstellen möchten, senden Sie eine POST-Anfrage an ConversionActionService.MutateConversionActions:
POST https://googleads.googleapis.com/v26/customers/{customer_id}/conversionActions:mutate
{
"operations": [
{
"create": {
"name": "Earth to Mars Cruise Conversion",
"type": "UPLOAD_CLICKS",
"category": "DEFAULT",
"status": "ENABLED",
"primaryForGoal": true,
"countingType": "ONE_PER_CLICK",
"clickThroughLookbackWindowDays": "60",
"valueSettings": {
"defaultValue": 23.41,
"defaultCurrencyCode": "USD",
"alwaysUseDefaultValue": true
}
}
}
]
}
Sobald Ihre Conversion-Aktion ENABLED ist, können Sie Conversion-Ereignisse oder -Erweiterungen über den Workflow für Ihre Conversion-Quelle importieren (siehe Conversion-Ereignisse importieren).
3. Zustand des Uploads von Offline-Conversions überwachen
Nachdem Sie Klick-Conversions, Anruf-Conversions oder Conversion-Anpassungen hochgeladen haben, können Sie offline_conversion_upload_client_summary abfragen, um den Gesamtstatus des Jobs, die Erfolgs- und ausstehenden Raten sowie die Fehleraufschlüsselung für Ihre letzten Uploads zu prüfen:
SELECT
offline_conversion_upload_client_summary.client,
offline_conversion_upload_client_summary.status,
offline_conversion_upload_client_summary.total_event_count,
offline_conversion_upload_client_summary.successful_event_count,
offline_conversion_upload_client_summary.success_rate,
offline_conversion_upload_client_summary.pending_event_count,
offline_conversion_upload_client_summary.pending_rate,
offline_conversion_upload_client_summary.last_upload_date_time,
offline_conversion_upload_client_summary.alerts
FROM offline_conversion_upload_client_summary
Fragen Sie offline_conversion_upload_conversion_action_summary ab, um Diagnosen auf Conversion-Aktionsebene zu erhalten (siehe Diagnose von Offlinedaten überwachen). Weitere Informationen zum Beheben bestimmter Fehlercodes finden Sie unter Fehlerbehebung bei Conversion-Importen.
Leitfadenverzeichnis nach Lebenszyklusphase
Hier finden Sie alle Leitfäden zur Conversion-Verwaltung, sortiert nach Lebenszyklusphase:
1. Kontoeinrichtung und Conversion-Aktionen
- Conversion-Aktionskategorien: Wählen Sie die richtige Conversion-Quelle aus – Website (
WEBPAGE), Telefonanruf (UPLOAD_CALLS,AD_CALL,WEBSITE_CALL), mobile App (GOOGLE_PLAY_DOWNLOAD,GOOGLE_PLAY_IN_APP_PURCHASE, Firebase,SKAdNetwork), Google Analytics 4 (GOOGLE_ANALYTICS_4_CUSTOM,GOOGLE_ANALYTICS_4_PURCHASE), offline (UPLOAD_CLICKS) oder Geschäft (STORE_SALES) – und ordnen Sie sie der entsprechendenConversionActionTypeund dem API-Workflow zu. - Erste Schritte: Konfigurieren Sie die Nutzereinwilligung, bestätigen Sie
ConversionTrackingSetting, richten Sie kontoübergreifendes Conversion-Tracking ein und erstellen Sie Conversion-Aktionen mithilfe von Clientbibliotheken oder REST.
2. Conversion-Ereignisse importieren
- Offline-Klick-Conversions importieren: Laden Sie Offline-Conversions (
GCLID,GBRAID,WBRAID) und erweiterte Conversions für Leads (gehashte E‑Mail-Adressen und Telefonnummern von Erstanbietern) hoch, um tatsächliche Transaktionen zu erfassen. - Online-Klick-Conversions importieren: Ergänzen Sie Website-Conversion-Tags mit selbst erhobenen Nutzerdaten wie E‑Mail-Adresse, Name, Privatadresse und Telefonnummer. Verwenden Sie dazu erweiterte Conversions für das Web (
ENHANCEMENTAnpassungen). - Anruf-Conversions importieren: Sie können Conversion-Ereignisse für Anrufe hochladen, die über Google-Weiterleitungsnummern oder Ihr eigenes Anruf-Tracking-System erfasst werden.
- Conversions in Form von Ladenverkäufen importieren: Laden Sie Daten zu Transaktionen in Ladengeschäften mit
OfflineUserDataJobServiceim Batch hoch.
3. Conversions anpassen und optimieren
- Conversions nach dem Import anpassen: Sie können stornierte Bestellungen zurückziehen (
RETRACTION) oder geänderte Conversion-Werte neu angeben (RESTATEMENT) für die Conversion-AktionenUPLOAD_CLICKS,WEBPAGEundSALESFORCE(eingestellt). - Conversion-Wert-Regeln verwalten: Conversion-Werte können bei der Auktion dynamisch anhand von Kriterien wie Zielgruppe, Gerät, geografischer Standort oder Reiseplan angepasst werden.
- Benutzerdefinierte Conversion-Variablen: Sie können benutzerdefinierte Schlüssel/Wert-Tags (
ConversionCustomVariable) definieren und an Klick-, Anruf- und Web-Conversions anhängen, um segmentierte Berichte zu erhalten. - Conversion-Zielvorhaben: Conversion-Aktionen nach den Feldern
category(ConversionActionCategory) undorigin(ConversionOrigin) gruppieren und Zielvorhaben auf Kundenebene, Kampagnen- und benutzerdefinierte Zielvorhaben sowie Zielvorhaben für den Kundenlebenszyklus (Kundenakquisition, Kundenbindung und Kundenbindungsprogramme) konfigurieren. Sie können auchOPTIMIZE_FOR_NEW_CUSTOMERS-Empfehlungen für zusätzliche Conversion-Werte für Neukunden abrufen und anwenden.
4. Monitoring, Berichterstellung und Fehlerbehebung
- Diagnose für Offlinedaten im Blick behalten: Fragen Sie die Diagnose für Offlinedaten auf Kontoebene (
offline_conversion_upload_client_summary) und auf Ebene der Conversion-Aktion (offline_conversion_upload_conversion_action_summary) ab, um Erfolgsquoten, ausstehende Ereignisse und Upload-Benachrichtigungen im Blick zu behalten. - Conversion-Statistiken abrufen: Fragen Sie Conversion-Leistungsmesswerte in GAQL ab und ordnen Sie Google Ads-UI-Spalten Google Ads API-Feldern zu.
- Fehlerbehebung bei Conversion-Importen: Hier finden Sie Informationen zur Diagnose und Behebung häufiger
ConversionUploadError- undConversionAdjustmentUploadError-Codes.