Conversions erfassen und importieren

In AdWords wird eine Conversion erfasst, wenn ein Nutzer eine festgelegte Aktion ausführt, nachdem er eine Anzeige angeklickt oder sich eine Displaynetzwerk-Anzeige angesehen hat. Beispiele für solche Aktionen sind der Kauf eines Produkts, die Installation einer mobilen App oder die Anmeldung zu einem Newsletter.

Mit Conversion-Tracking erhalten Sie wichtige Informationen zu den Aktionen, die Nutzer ausführen, nachdem sie eine Anzeige angesehen oder sie angeklickt haben. So wissen Sie beispielsweise, wenn Nutzer anrufen, ein Produkt kaufen oder eine mobile App installieren. In AdWords stehen verschiedene Conversion-Tracker zur Verfügung, je nachdem, welche Arten von Conversions es gibt.

In dieser Anleitung werden verschiedene Conversion-Tracker und deren Verwendung beschrieben. Außerdem erfahren Sie, wie Sie mithilfe der API Offline-Conversions in AdWords importieren.

Arten von Conversion-Trackern

Wenn Sie einen bestimmten Conversion-Typ erfassen möchten, richten Sie einen entsprechenden ConversionTracker ein. Für das Erfassen eines Onlinekaufs und das Erfassen eines Telefonanrufs benötigen Sie beispielsweise unterschiedliche Conversion-Tracker.

Bei vielen Conversion-Typen müssen Sie weitere Schritte durchführen, damit sie erfasst werden. So müssen Sie einen AdWordsConversionTracker erstellen und der Conversion-Seite Ihrer Website ein Code-Snippet, auch Tag genannt, hinzufügen, um beispielsweise Conversion-Aktionen auf Ihrer Website zu erfassen.

Die verschiedenen Conversion-Quellen für Anrufe in AdWords (Klicks auf eine Telefonnummer, Anrufe über Anzeigen sowie Anrufe über die Website) werden in der AdWords API jeweils mit einem anderen ConversionTracker erfasst:

In den folgenden Abschnitten werden die verschiedenen Arten von Conversion-Trackern beschrieben.

Conversions auf Websites

Mit dem AdWordsConversionTracker können Sie verschiedene Typen von Website-Conversions erfassen, die in der API anhand des Felds trackingCodeType unterschieden werden.

In der folgenden Tabelle sehen Sie, welche API-Parameter für die jeweilige Quelle in der AdWords-Benutzeroberfläche verwendet werden:

trackingCodeType Quelle in der AdWords-Benutzeroberfläche
WEBPAGE Website
WEBPAGE_ONCLICK Website
CLICK_TO_CALL Klicks auf eine Telefonnummer
--- Analytics

Für die Conversions Website und Klicks auf eine Telefonnummer ist das googleEventSnippet erforderlich. Es wird auf Webseiten platziert, auf denen eine Conversion-Aktion erfolgt, z. B. auf Seiten mit einer Kaufbestätigung oder für die Übermittlung der Lead-Informationen. Außerdem müssen Sie das googleGlobalSiteTag auf allen Ihren Webseiten installieren. Beide Attribute können Sie mit ConversionTrackerService abrufen.

Der Typ CLICK_TO_CALL unterscheidet sich von AdCallMetricsConversion, da von ihm keine tatsächlichen Anrufe erfasst werden, sondern nur die über Mobilgeräte erfolgten Klicks auf eine Telefonnummer. Diese Möglichkeit ist sinnvoll, wenn Sie Anrufe nicht mit einer Google-Weiterleitungsnummer erfassen können.

Anruf-Conversions

Anrufe über Erweiterungen werden mit dem Tracker AdCallMetricsConversion erfasst. Dabei wird eine Google-Weiterleitungsnummer verwendet und der Conversion-Tracker im FeedItem der Anruferweiterung festgelegt. In der AdWords-Benutzeroberfläche wird dieser Conversion-Typ Anrufe über Anzeigen genannt.

Sie können diesen Conversion-Typ erfassen, indem Sie den Conversion-Tracker im FeedItem der Anruferweiterung festlegen und dabei den Platzhaltertyp für CONVERSION TYPE ID verwenden.

Ein Anruf wird als Conversion erfasst, wenn er eine festgelegte Mindestdauer übersteigt. Diese liegt standardmäßig bei 60 Sekunden.

App-Conversions

Mit AppConversion können Sie sowohl App-Installationen als auch In-App-Aktionen für Android und iOS erfassen. In der folgenden Tabelle sehen Sie die entsprechenden API-Parameter, die in der AdWords-Benutzeroberfläche für die jeweilige Quelle verwendet werden:

appPlatform appConversionType Quelle in der AdWords-Benutzeroberfläche
ITUNES FIRST_OPEN App-Installation unter iOS (erstes Öffnen)
ITUNES IN_APP_PURCHASE In-App-Aktionen auf iOS-Geräten
ANDROID_MARKET DOWNLOAD App-Installation unter Android (über Google Play)
ANDROID_MARKET FIRST_OPEN App-Installation unter Android (erstes Öffnen)
ANDROID_MARKET IN_APP_PURCHASE In-App-Aktionen auf Android-Geräten

Wenn Sie FIRST_OPEN als appConversionType festlegen, können Sie eine appPostbackUrl angeben, damit Sie sofort eine Bestätigung erhalten, wenn ein Nutzer Ihre App zum ersten Mal öffnet. Weitere Informationen finden Sie im Leitfaden zu Conversion-Tracking für mobile Android-Apps.

Klick-Conversions hochladen

Eine UploadConversion entspricht in der AdWords-Benutzeroberfläche der Conversion-Quelle Import > Klick-Conversion. Wenn Sie den Conversion-Tracker in der AdWords-Weboberfläche erstellen, wird die automatische Tag-Kennzeichnung für das Konto von selbst aktiviert. Wenn Sie den Conversion-Tracker über die API erstellen, geschieht dies nicht. Sie müssen die automatische Tag-Kennzeichnung dann mithilfe von CustomerService aktivieren. Ohne die automatische Tag-Kennzeichnung erhalten Sie den GCLID-Parameter nicht, der erforderlich ist, um die einem Klick zugehörigen Conversions hochzuladen.

Sobald Sie eine UploadConversion erstellt haben, können Sie OfflineConversionFeedService verwenden, um Klick-Conversions hochzuladen. Weitere Informationen finden Sie im Abschnitt Klick-Conversions importieren.

Anruf-Conversions hochladen

Eine UploadCallConversion entspricht in der AdWords-Benutzeroberfläche der Conversion-Quelle Import > Anruf-Conversion.

Wenn es für einen Anruf keine Google-Weiterleitungsnummer gibt, lässt sich ein Click-to-Call nicht als Conversion hochladen. Denn ohne diese Nummer lässt sich nicht mit Sicherheit sagen, ob tatsächlich der Klick zum Anruf und schließlich zur Conversion geführt hat. Wenn ein Klick ohne Google-Weiterleitungsnummer hochgeladen wird, wird er vom Conversion-Tracker nicht berücksichtigt.

Sobald Sie eine UploadCallConversion erstellt haben, können Sie OfflineCallConversionFeedService verwenden, um Anruf-Conversions hochzuladen. Weitere Informationen finden Sie im Abschnitt Anruf-Conversions importieren.

Über Websites generierte Anrufe

Eine WebsiteCallMetricsConversion entspricht in der AdWords-Benutzeroberfläche den Anrufen über die Website.

Anders als bei einer AdCallMetricsConversion müssen für diesen Conversion-Tracker ein googleEventSnippet und ein googleGlobalSiteTag auf der Website hinzugefügt werden. Dadurch ist es möglich, die dynamische Google-Weiterleitungsnummer abzurufen, über die Anrufe bei Telefonnummern auf der Website erfasst werden. Außerdem müssen Sie eine Anruferweiterung einrichten und der Kampagne oder den Anzeigengruppen hinzufügen, für die Sie über Websites generierte Anrufe erfassen möchten.

Ladenverkäufe (direkter Upload)

Mit "Ladenverkäufe (direkter Upload)" können Sie Offlinetransaktionen entweder direkt oder über Drittanbieter in AdWords importieren. Durch den Abgleich dieser Informationen mit Transaktionsdaten aus Ihren Kassensystemen oder Ihrer Kundendatenbank haben Sie die Möglichkeit, festzustellen, wie sich Ihre Google Anzeigen auf Offlinekäufe auswirken. Die Offlinetransaktionen können über OfflineDataUploadService in ein OfflineDataUpload-Objekt hochgeladen werden.

Systemweite Standard-Conversion-Tracker

In AdWords gibt es einige systemweite Standard-Conversion-Tracker, für die keine Tags erforderlich sind. Sie haben Standardeinstellungen für bestimmte Felder wie Name oder Wert.

Wenn Sie die Einstellungen dieser Standard-Conversion-Tracker ändern möchten, erstellen Sie einen ConversionTracker desselben Untertyps und geben Sie die conversionTypeId des systemdefinierten Trackers im Feld originalConversionTypeId des ConversionTracker-Objekts an. Dies entspricht der Bearbeitung Ihrer eigenen Kopie des systemweiten Conversion-Trackers. Der systemweite Conversion-Tracker in Ihrem Konto wird dann automatisch durch den Conversion-Tracker ersetzt, den Sie erstellt haben, auch für Conversion-Statistiken in Berichten. Dabei wird die ID des systemweiten Conversion Trackers als originalConversionTypeId verwendet.

In jedem Konto kann nur ein einziger ConversionTracker mit einem systemdefinierten Conversion-Typ erstellt werden. Wenn Sie versuchen, einen zweiten ConversionTracker zu erstellen, indem Sie denselben systemdefinierten Conversion-Tracker im Feld originalConversionTypeId verwenden, schlägt der Vorgang fehl. Sobald Sie also einen systemweiten Conversion-Tracker für Ihr Konto bearbeitet haben, verfügen Sie über die bearbeitete Kopie anstatt über das Original.

Beispielsweise werden alle Anruferweiterungen im Konto, für die der systemweite Conversion-Tracker AdCallMetricsConversion verwendet wurde, dem von Ihnen neu erstellten Tracker zugeordnet. Statt der bisherigen Conversion-Statistiken, die anhand des systemweiten Conversion-Typs erstellt wurden, sehen Sie nun Statistiken auf Basis des neuen Typs.

In der folgenden Tabelle sehen Sie alle systemweiten Standard-Conversion-Tracker und die zugehörigen IDs.

ConversionTracker Name conversionTypeId
AdCallMetricsConversion Anrufe über Anzeigen 179
AppConversion Android-Downloads 214

Das Besondere am Standard-Conversion-Tracker AppConversion ist, dass Sie hier die App-ID nicht festlegen können. Stattdessen werden alle Conversions über Google Play-Apps erfasst, für die es keine konkretere AppConversion gibt.

Kontoübergreifendes Conversion-Tracking

Wenn Sie kontoübergreifendes Conversion-Tracking verwenden, gibt ConversionTrackerService folgende Conversion-Typen zurück:

  1. Alle Conversion-Typen, die über das Verwaltungskonto definiert wurden und vom Konto für kontoübergreifendes Conversion-Tracking verwendet werden.
  2. Alle Conversion-Typen, für die Statistiken erstellt wurden, einschließlich systemdefinierter Typen und Typen, die einem Administrator zugeordnet sind, auch wenn der Administrator die Verknüpfung später aufhebt.
  3. Alle Typen, die ein Kunde über sein Konto definiert hat, einschließlich Zielvorhaben und Transaktionen, die in verknüpften Analytics-Profilen erstellt wurden. Dazu gehören Typen, die nicht in AdWords importiert wurden. Sie haben daher den Status HIDDEN und können nur über die AdWords-Weboberfläche importiert werden.

Sie können kontoübergreifende Conversion-Tracker über die API einrichten und Informationen daraus abfragen. Dafür müssen Sie jedoch über das Verwaltungskonto kontoübergreifendes Conversion-Tracking für Ihre Konten aktivieren. Weitere Informationen finden Sie in der AdWords-Hilfe.

Früher enthielt die Spalte Conversions keine geräteübergreifenden Conversions. Damit diese ebenfalls berücksichtigt werden, verwenden Sie die Eigenschaft optimizeOnEstimatedConversions der Conversion-Tracking-Einstellungen des Nutzers. Diese Conversions werden dann in verschiedenen automatischen Gebotsstrategien verwendet, mit denen Gebote für Conversions optimiert werden. Beispiele sind "Ziel-CPA" (Cost-per-Acquisition), "Ziel-ROAS" (Return on Advertising Spend) oder "Auto-optimierter CPC".

Conversion-Felder in Berichten

Sie können Conversion-Statistiken für Ihre Konten, Kampagnen oder Anzeigengruppen abrufen, indem Sie die in Berichten verfügbaren Conversion-Felder verwenden.

In den folgenden Tabellen sehen Sie einige häufig verwendete Berichtsfelder, die sich auf Conversions beziehen.

Conversions und davon abgeleitete Felder

Feldname Beschreibung
Conversions Das wichtigste Feld in Berichten zu Conversions, in dem Conversion-Aktionen angezeigt werden, für die Sie bieten können. Nur Conversions aus Aktionen (ConversionTracker), in denen für das Feld excludeFromBidding der Wert false festgelegt wurde, werden berücksichtigt.
ConversionRate Conversions geteilt durch die Gesamtanzahl der Klicks, für die Conversions erfasst werden können. Damit wird angegeben, wie oft eine Interaktion mit einer Anzeige durchschnittlich zu einer Conversion führt, bei der für das Feld excludeFromBidding der Wert false festgelegt wurde.
ConversionValue Der Gesamtwert aller Conversion-Aktionen (ConversionTracker), in denen für das Feld excludeFromBidding der Wert false festgelegt wurde.
CostPerConversion Gesamtkosten geteilt durch Conversions
ValuePerConversion ConversionValue geteilt durch Conversions

AllConversions und davon abgeleitete Felder

Feldname Beschreibung
AllConversions Beinhaltet alle Conversions aus AdWords, unabhängig von den für das Feld excludeFromBidding festgelegten Werten. Alle Conversion-Quellen (Website, geräteübergreifend, Anrufe usw.) werden berücksichtigt.
AllConversionRate AllConversions geteilt durch die Gesamtanzahl der Klicks, für die Conversions erfasst werden können. Damit wird angegeben, wie oft eine Interaktion mit einer Anzeige im Durchschnitt zu einer Conversion führt.
AllConversionValue Der Gesamtwert aller Conversions. Umfasst Conversions auf Websites, geräteübergreifende und Anruf-Conversions sowie Conversion-Aktionen (ConversionTracker) unabhängig vom Wert von excludeFromBidding
CostPerAllConversion Gesamtkosten geteilt durch AllConversions
ValuePerAllConversion AllConversionValue geteilt durch AllConversions

CrossDeviceConversions

Feldname Beschreibung
CrossDeviceConversions Conversions, die erzielt werden, wenn ein Kunde auf einem Gerät mit einer Anzeige interagiert, die Conversion jedoch auf einem anderen Gerät oder in einem anderen Browser durchführt. Beispiele für solche Interaktionen sind Klicks auf Textanzeigen oder Aufrufe von Videoanzeigen. CrossDeviceConversions ist bereits im Feld AllConversions enthalten.

Conversions zugeordnete Spalten mit dem Zusatz "(aktuelles Modell)"

Wenn Sie in AdWords das Feld attributionModelType für eine Conversion-Aktion ändern, werden dadurch die Conversions in den Spalten "Conversions" und "Alle Conversions" lediglich anders gezählt. Wie sich das neu ausgewählte Attributionsmodell auf Ihre bisherigen Conversion-Daten auswirken würde, ist den Spalten mit dem Zusatz "(aktuelles Modell)" zu entnehmen. Informationen dazu finden Sie in der Liste unten. Beim Vergleich dieser Spalten mit den normalen Spalten für Conversion-Tracking sehen Sie, inwieweit Ihre Daten anders ausgefallen wären, wenn Sie das aktuelle Attributionsmodell verwendet hätten.

Feldname Beschreibung
CostPerCurrentModelAttributedConversion Bisherige Daten für CostPerConversion auf Grundlage des aktuellen Attributionsmodells
CurrentModelAttributedConversionValue Bisherige ConversionValue-Daten auf Grundlage des aktuellen Attributionsmodells
CurrentModelAttributedConversions Bisherige Conversions-Daten auf Grundlage des aktuellen Attributionsmodells
ValuePerCurrentModelAttributedConversion Bisherige ValuePerConversion-Daten auf Grundlage des aktuellen Attributionsmodells

Conversion-Attribution in Berichten

Das Datum einer Conversion und das Datum, an dem sie hochgeladen wurde, haben keinen Einfluss auf das Datum, an dem die Conversion mit den zugehörigen Werten in Berichten berücksichtigt wird. Alle Messwerte in Berichten werden dem Impressionsdatum jedes Klicks zugeordnet.

Beispiel: Sie laden am 21. Oktober 2017 folgende Conversions hoch. Für alle ist eine conversionTime mit 20171020 als Datumsangabe angegeben:

ImpressionDate Conversions ConversionValue
18. Oktober 2017 500 1.000 €
19. Oktober 2017 250 200 €
20. Oktober 2017 100 150 €

In diesem Fall werden im Bericht am 20. Oktober 2017 die Werte für Conversions und ConversionValues nur um 100 bzw. 150 € angepasst. Wie sich Conversions und ConversionValues bei Berücksichtigung aller hochgeladenen Conversions ändern, sehen Sie wenn Sie als Zeitraum des Berichts den 18. bis 20. Oktober 2017 festlegen.

Auch die Messwerte für Conversions und ConversionValue vom 21. Oktober 2017 (also dem Datum, an dem Sie die Conversions hochgeladen haben) ändern sich nach dem Upload nicht.

Klick-Conversions importieren

Sie können mit der AdWords API Offline-Conversions in AdWords hochladen. Klicks lassen sich den zugehörigen Conversions dann flexibler zuordnen. So können Sie Anzeigen erfassen, die zu Offlineverkäufen geführt haben, beispielsweise in einem Telefongespräch oder durch Beteiligung eines Vertriebsmitarbeiters.

In diesem Abschnitt erfahren Sie, wie Sie mit der AdWords API einen Feed zum Importieren von Offline-Conversions erstellen.

Einrichtung

Zuerst müssen Sie Import-Conversion-Typen erstellen. Dieser Schritt ist für jede Klassifizierung von einzelnen Conversions erforderlich. Sie können diese Typen über die AdWords-Benutzeroberfläche oder mithilfe von Code erstellen:

Java

// Create an upload conversion for offline conversion imports.
UploadConversion uploadConversion = new UploadConversion();
// Set an appropriate category. This field is optional, and will be set to
// DEFAULT if not mentioned.
uploadConversion.setCategory(ConversionTrackerCategory.LEAD);
uploadConversion.setName("Upload Conversion #" + System.currentTimeMillis());
uploadConversion.setViewthroughLookbackWindow(30);
uploadConversion.setCtcLookbackWindow(90);

// Optional: Set the default currency code to use for conversions
// that do not specify a conversion currency. This must be an ISO 4217
// 3-character currency code such as "EUR" or "USD".
// If this field is not set on this UploadConversion, AdWords will use
// the account's currency.
uploadConversion.setDefaultRevenueCurrencyCode("EUR");

// Optional: Set the default revenue value to use for conversions
// that do not specify a conversion value. Note that this value
// should NOT be in micros.
uploadConversion.setDefaultRevenueValue(2.50);
// Optional: To upload fractional conversion credits, mark the upload conversion
// as externally attributed. See
// https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
// to learn more about importing externally attributed conversions.

// uploadConversion.setIsExternallyAttributed(true);

conversionTrackers.add(uploadConversion);

PHP

// Create an upload conversion for offline conversion imports.
$uploadConversion = new UploadConversion();
// Set an appropriate category. This field is optional, and will be set to
// DEFAULT if not mentioned.
$uploadConversion->setCategory(ConversionTrackerCategory::LEAD);
$uploadConversion->setName('Upload Conversion # ' . uniqid());
$uploadConversion->setViewthroughLookbackWindow(30);
$uploadConversion->setCtcLookbackWindow(90);

// Optional: Set the default currency code to use for conversions
// that do not specify a conversion currency. This must be an ISO 4217
// 3-character currency code such as "EUR" or "USD".
// If this field is not set on this UploadConversion, AdWords will use
// the account's currency.
$uploadConversion->setDefaultRevenueCurrencyCode('EUR');

// Optional: Set the default revenue value to use for conversions
// that do not specify a conversion value. Note that this value
// should NOT be in micros.
$uploadConversion->setDefaultRevenueValue(2.50);

// Optional: To upload fractional conversion credits, mark the upload
// conversion as externally attributed. See
// https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
// to learn more about importing externally attributed conversions.

// uploadConversion->setIsExternallyAttributed(true);

$conversionTrackers[] = $uploadConversion;

Python

upload_conversion = {
    'xsi_type': 'UploadConversion',
    'name': 'Upload Conversion #%s' % uuid.uuid4(),
    # Optional fields.
    # Set an appropriate category. This will be set to DEFAULT if not
    # specified.
    'category': 'LEAD',
    'viewthroughLookbackWindow': '30',
    'ctcLookbackWindow': '90',
    # Set the default currency code to use for conversions that do
    # not specify a conversion currency. This must be an ISO 4217 3-character
    # code such as "EUR" or "USD".
    # If this field is not set, AdWords will use the account's currency.
    'defaultRevenueCurrencyCode': 'EUR',
    # Set the default revenue value to use for conversions that do not specify
    # a converison value. Note that this value should NOT be in micros.
    'defaultRevenueValue': '2.50',
    # To upload fractional conversion credits, mark the upload conversion as
    # externally attributed. To learn more about importing externally
    # attributed conversions, see:
    # https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
    # 'isExternallyAttributed': 'true'
}

Ruby

# Prepare for adding upload conversion tracker.
operation2 = {
  :operator => 'ADD',
  :operand => {
    # The 'xsi_type' field allows you to specify the xsi:type of the object
    # being created. It's only necessary when you must provide an explicit
    # type that the client library can't infer.
    :xsi_type => 'UploadConversion',

    # Set an appropriate category. This field is optional, and will be set to
    # DEFAULT if not mentioned.
    :category => 'LEAD',
    :name => "Upload Conversion #%d" % (Time.new.to_f * 1000).to_i,
    :viewthrough_lookback_window => 30,
    :ctc_lookback_window => 90,

    # Optional: Set the default currency code to use for conversions that do
    # not specify a conversion currency. This must be an ISO 4217 3-character
    # currency code such as "EUR" or "USD".
    # If this field is not set on this UploadConversion, AdWords will use the
    # account currency.
    :default_revenue_currency_code => 'EUR',

    # Optional: Set the default revenue value to use for conversions that do
    # not specify a conversion value.
    # Note: that this value should NOT be in micros.
    :default_revenue_value => 2.50,

    # Optional: To upload fractional conversion credits, mark the upload
    # conversion as externally attributed. See
    # https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
    # to learn more about importing externally attributed conversions.
    #:is_externally_attributed => true
  }
}

Perl

# Create an upload conversion for offline conversion imports.
my $upload_conversion_tracker =
  Google::Ads::AdWords::v201802::UploadConversion->new({
    # Set an appropriate category. This field is optional, and will be set to
    # DEFAULT if not mentioned.
    category                             => "LEAD",
    name                                 => "Upload Conversion #" . uniqid(),
    viewthroughLookbackWindow            => 30,
    ctcLookbackWindow                    => 90,
    # Optional: Set the default currency code to use for conversions
    # that do not specify a conversion currency. This must be an ISO 4217
    # 3-character currency code such as "EUR" or "USD".
    # If this field is not set on this UploadConversion, AdWords will use
    # the account's currency.
    defaultRevenueCurrencyCode => "EUR",
    # Optional: Set the default revenue value to use for conversions
    # that do not specify a conversion value. Note that this value
    # should NOT be in micros.
    defaultRevenueValue => 2.50,
    # Optional: To upload fractional conversion credits, mark the upload conversion
    # as externally attributed. See
    # https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
    # to learn more about importing externally attributed conversions.
    # isExternallyAttributed => true
  });
push @conversion_trackers, $upload_conversion_tracker;

C#

// Create an upload conversion for offline conversion imports.
UploadConversion uploadConversion = new UploadConversion();
// Set an appropriate category. This field is optional, and will be set to
// DEFAULT if not mentioned.
uploadConversion.category = ConversionTrackerCategory.LEAD;
uploadConversion.name = "Upload Conversion #" + ExampleUtilities.GetRandomString();
uploadConversion.viewthroughLookbackWindow = 30;
uploadConversion.ctcLookbackWindow = 90;

// Optional: Set the default currency code to use for conversions
// that do not specify a conversion currency. This must be an ISO 4217
// 3-character currency code such as "EUR" or "USD".
// If this field is not set on this UploadConversion, AdWords will use
// the account's currency.
uploadConversion.defaultRevenueCurrencyCode = "EUR";

// Optional: Set the default revenue value to use for conversions
// that do not specify a conversion value. Note that this value
// should NOT be in micros.
uploadConversion.defaultRevenueValue = 2.50;

// Optional: To upload fractional conversion credits, mark the upload conversion
// as externally attributed. See
// https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
// to learn more about importing externally attributed conversions.

// uploadConversion.isExternallyAttributed = true;

conversionTrackers.Add(uploadConversion);

VB

' Create an upload conversion for offline conversion imports.
Dim uploadConversion As New UploadConversion()
' Set an appropriate category. This field is optional, and will be set to
' DEFAULT if not mentioned.
uploadConversion.category = ConversionTrackerCategory.LEAD
uploadConversion.name = "Upload Conversion #" + ExampleUtilities.GetRandomString()
uploadConversion.viewthroughLookbackWindow = 30
uploadConversion.ctcLookbackWindow = 90

' Optional: Set the default currency code to use for conversions
' that do not specify a conversion currency. This must be an ISO 4217
' 3-character currency code such as "EUR" or "USD".
' If this field is not set on this UploadConversion, AdWords will use
' the account's currency.
uploadConversion.defaultRevenueCurrencyCode = "EUR"

' Optional: Set the default revenue value to use for conversions
' that do not specify a conversion value. Note that this value
' should NOT be in micros.
uploadConversion.defaultRevenueValue = 2.5

' Optional: To upload fractional conversion credits, mark the upload conversion
' as externally attributed. See
' https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
' to learn more about importing externally attributed conversions.

' uploadConversion.isExternallyAttributed = True

conversionTrackers.Add(uploadConversion)

In diesem Snippet wird ein UploadConversion-Objekt mithilfe von ConversionTrackerService erstellt. Anhand des Werts für conversionName, der eindeutig sein muss, wird dieses Conversion-Ereignis identifiziert.

Nachdem Sie die Import-Conversion-Typen erstellt haben, aktivieren Sie Ihre Website und das Lead-Erfassungssystem, um die GCLID zu erfassen und zu speichern. In AdWords erhält jede Impression einer AdWords-Anzeige eine eindeutige ID (Google Click ID – GCLID). Sie wird an den AdWords-Server gesendet, wenn ein Nutzer die Anzeige anklickt. Darüber hinaus müssen Sie die automatische Tag-Kennzeichnung aktivieren, sodass Ihre Website die GCLID als URL-Parameter empfangen kann. Weitere Informationen zu diesen Schritten finden Sie in der AdWords-Hilfe.

Offline-Conversions hochladen

Nachdem Sie das UploadConversion-Objekt erstellt haben, müssen Sie ihm die Offline-Conversions zuordnen. Hierfür übergeben Sie die GCLID, Datum und Uhrzeit der Conversion (mit Zeitzonen-ID), den Conversion-Namen und optional den Conversion-Wert sowie die Conversion-Währung an OfflineConversionFeedService:

Java

/**
 * Runs the example.
 *
 * @param adWordsServices the services factory.
 * @param session the session.
 * @param conversionName the name of the conversion tracker.
 * @param gClid the GCLID for the conversion.
 * @param conversionTime the date and time of the conversion.
 * @param conversionValue the value of the conversion.
 * @throws ApiException if the API request failed with one or more service errors.
 * @throws RemoteException if the API request failed due to other errors.
 */
public static void runExample(AdWordsServicesInterface adWordsServices, AdWordsSession session,
    String conversionName, String gClid, String conversionTime,
    double conversionValue) throws RemoteException {

  // Get the OfflineConversionFeedService.
  OfflineConversionFeedServiceInterface offlineConversionFeedService =
      adWordsServices.get(session, OfflineConversionFeedServiceInterface.class);

  // Associate offline conversions with the existing named conversion tracker. If this tracker
  // was newly created, it may be a few hours before it can accept conversions.
  OfflineConversionFeed feed = new OfflineConversionFeed();
  feed.setConversionName(conversionName);
  feed.setConversionTime(conversionTime);
  feed.setConversionValue(conversionValue);
  feed.setGoogleClickId(gClid);

  OfflineConversionFeedOperation offlineConversionOperation =
      new OfflineConversionFeedOperation();
  offlineConversionOperation.setOperator(Operator.ADD);
  offlineConversionOperation.setOperand(feed);

  OfflineConversionFeedReturnValue offlineConversionReturnValue = offlineConversionFeedService
      .mutate(new OfflineConversionFeedOperation[] {offlineConversionOperation});

  OfflineConversionFeed newFeed = offlineConversionReturnValue.getValue(0);

  System.out.printf(
      "Uploaded offline conversion value of %.4f for Google Click ID '%s' to '%s'.%n",
      newFeed.getConversionValue(), newFeed.getGoogleClickId(), newFeed.getConversionName());
}

PHP

$offlineConversionService = $adWordsServices->get($session, OfflineConversionFeedService::class);

// Associate offline conversions with the existing named conversion tracker.
// If this tracker was newly created, it may be a few hours before it can
// accept conversions.
$feed = new OfflineConversionFeed();
$feed->setConversionName($conversionName);
$feed->setConversionTime($conversionTime);
$feed->setConversionValue($conversionValue);
$feed->setGoogleClickId($gclid);

// Optional: To upload fractional conversion credits, set the external
// attribution model and credit. To use this feature, your conversion
// tracker should be marked as externally attributed. See
// https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
// to learn more about importing externally attributed conversions.

// $feed->setExternalAttributionModel('Linear');
// $feed->setExternalAttributionCredit(0.3);

$offlineConversionOperation = new OfflineConversionFeedOperation();
$offlineConversionOperation->setOperator(Operator::ADD);
$offlineConversionOperation->setOperand($feed);
$offlineConversionOperations = [$offlineConversionOperation];

$result = $offlineConversionService->mutate($offlineConversionOperations);

$feed = $result->getValue()[0];
printf(
    "Uploaded offline conversion value of %d for Google Click ID = '%s' to '%s'.\n",
    $feed->getConversionValue(),
    $feed->getGoogleClickId(),
    $feed->getConversionName()
);

Python

# Initialize appropriate services.
offline_conversion_feed_service = client.GetService(
    'OfflineConversionFeedService', version='v201802')

# Associate offline conversions with the existing named conversion tracker. If
# this tracker was newly created, it may be a few hours before it can accept
# conversions.
feed = {
    'conversionName': conversion_name,
    'conversionTime': conversion_time,
    'conversionValue': conversion_value,
    'googleClickId': click_id,
    # Optional: To upload fractional conversion credits, set the external
    # attribution model and credit. To use this feature, your conversion
    # tracker should be marked as externally attributed. To learn more about
    # importing externally attributed conversins, see:
    # https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
    # 'externalAttributionCredit': 0.3,
    # 'externalAttributionModel': 'Linear'
}

offline_conversion_operation = {
    'operator': 'ADD',
    'operand': feed
}

offline_conversion_response = offline_conversion_feed_service.mutate(
    [offline_conversion_operation])
new_feed = offline_conversion_response['value']

print ('Uploaded offline conversion value of "%s" for Google Click ID '
       '"%s" to "%s".' % (new_feed['conversionValue'],
                          new_feed['googleClickId'],
                          new_feed['conversionName']))

Ruby

conversion_feed_srv =
    adwords.service(:OfflineConversionFeedService, API_VERSION)

# Associate offline conversions with the existing named conversion tracker. If
# this tracker was newly created, it may be a few hours before it can accept
# conversions.
feed = {
  :conversion_name => conversion_name,
  :google_click_id => google_click_id,
  :conversion_time => conversion_time,
  :conversion_value => conversion_value
}

# Optional: To upload fractional conversion credits, set the external
# attribution model and credit. To use this feature, your conversion tracker
# should be marked as externally attributed. See
# https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
# to learn more about importing externally attributed conversions.
#
# feed[:external_attribution_model] = "Linear"
# feed[:external_attribution_credit] = 0.3

return_feeds = conversion_feed_srv.mutate([
  {:operator => 'ADD', :operand => feed}])
return_feeds[:value].each do |return_feed|
  puts ("Uploaded offline conversion value %.2f for Google Click ID '%s', " +
      'to %s') % [return_feed[:conversion_value],
                  return_feed[:google_click_id],
                  return_feed[:conversion_name]]
end

Perl

sub upload_offline_conversions {
  my $client                        = shift;
  my $conversion_name               = shift;
  my $gclid                         = shift;
  my $conversion_time               = shift;
  my $conversion_value              = shift;
  my @offline_conversion_operations = ();

  # Associate offline conversions with the existing named conversion tracker. If
  # this tracker was newly created, it may be a few hours before it can accept
  # conversions.
  my $feed = Google::Ads::AdWords::v201802::OfflineCallConversionFeed->new({
      conversionName  => $conversion_name,
      conversionTime  => $conversion_time,
      conversionValue => $conversion_value,
      googleClickId   => $gclid
  });

  my $offline_conversion_operation =
    Google::Ads::AdWords::v201802::OfflineCallConversionFeedOperation->new({
      operator => "ADD",
      operand  => $feed
    });

  push @offline_conversion_operations, $offline_conversion_operation;

  # Add the upload conversion.
  my $feed_result =
    $client->OfflineCallConversionFeedService()
    ->mutate({operations => \@offline_conversion_operations});

  # Display results.
  if ($feed_result->get_value()) {
    foreach my $oc_feed (@{$feed_result->get_value()}) {
      printf "Uploaded offline conversion value of \"%s\" for Google Click " .
        "ID \"%s\" was created.\n",
        $oc_feed->get_conversionName(),
        $oc_feed->get_googleClickId();
    }
  } else {
    print "No offline conversion were added.\n";
    return;
  }

  return 1;
}

C#

public void Run(AdWordsUser user, String conversionName, String gClid, String conversionTime,
    double conversionValue) {
  using (OfflineConversionFeedService offlineConversionFeedService =
      (OfflineConversionFeedService) user.GetService(
          AdWordsService.v201802.OfflineConversionFeedService)) {

    try {
      // Associate offline conversions with the existing named conversion tracker. If
      // this tracker was newly created, it may be a few hours before it can accept
      // conversions.
      OfflineConversionFeed feed = new OfflineConversionFeed();
      feed.conversionName = conversionName;
      feed.conversionTime = conversionTime;
      feed.conversionValue = conversionValue;
      feed.googleClickId = gClid;

      // Optional: To upload fractional conversion credits, set the external attribution model
      // and credit. To use this feature, your conversion tracker should be marked as externally
      // attributed. See
      // https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
      // to learn more about importing externally attributed conversions.

      // feed.externalAttributionModel = "Linear";
      // feed.externalAttributionCredit = 0.3;

      OfflineConversionFeedOperation offlineConversionOperation =
          new OfflineConversionFeedOperation();
      offlineConversionOperation.@operator = Operator.ADD;
      offlineConversionOperation.operand = feed;

      OfflineConversionFeedReturnValue offlineConversionRetval =
          offlineConversionFeedService.mutate(
              new OfflineConversionFeedOperation[] { offlineConversionOperation });

      OfflineConversionFeed newFeed = offlineConversionRetval.value[0];

      Console.WriteLine("Uploaded offline conversion value of {0} for Google Click ID = " +
          "'{1}' to '{2}'.", newFeed.conversionValue, newFeed.googleClickId,
          newFeed.conversionName);
    } catch (Exception e) {
      throw new System.ApplicationException("Failed upload offline conversions.", e);
    }
  }
}

VB

''' <summary>
''' Runs the code example.
''' </summary>
''' <param name="user">The AdWords user.</param>
''' <param name="conversionName">The name of the upload conversion to be
''' created.</param>
''' <param name="gClid">The Google Click ID of the click for which offline
''' conversions are uploaded.</param>
''' <param name="conversionValue">The conversion value to be uploaded.
''' </param>
''' <param name="conversionTime">The conversion time, in yyyymmdd hhmmss
''' format.</param>
Public Sub Run(ByVal user As AdWordsUser, ByVal conversionName As String,
    ByVal gClid As String, ByVal conversionTime As String, ByVal conversionValue As Double)
  Using offlineConversionFeedService As OfflineConversionFeedService = CType(user.GetService(
      AdWordsService.v201802.OfflineConversionFeedService),
          OfflineConversionFeedService)

    Try
      ' Associate offline conversions with the existing named conversion tracker. If
      ' this tracker was newly created, it may be a few hours before it can accept
      ' conversions.
      Dim feed As New OfflineConversionFeed()
      feed.conversionName = conversionName
      feed.conversionTime = conversionTime
      feed.conversionValue = conversionValue
      feed.googleClickId = gClid

      ' Optional: To upload fractional conversion credits, set the external attribution model
      ' and credit. To use this feature, your conversion tracker should be marked as externally
      ' attributed. See
      ' https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
      ' to learn more about importing externally attributed conversions.

      ' feed.externalAttributionModel = "Linear"
      ' feed.externalAttributionCredit = 0.3

      Dim offlineConversionOperation As New OfflineConversionFeedOperation()
      offlineConversionOperation.operator = [Operator].ADD
      offlineConversionOperation.operand = feed

      Dim offlineConversionRetval As OfflineConversionFeedReturnValue =
        offlineConversionFeedService.mutate(
            New OfflineConversionFeedOperation() {offlineConversionOperation})

      Dim newFeed As OfflineConversionFeed = offlineConversionRetval.value(0)

      Console.WriteLine("Uploaded offline conversion value of {0} for Google Click ID = " &
          "'{1}' to '{2}'.", newFeed.conversionValue, newFeed.googleClickId,
          newFeed.conversionName)
    Catch e As Exception
      Throw New System.ApplicationException("Failed to upload offline conversions.", e)
    End Try
  End Using
End Sub

Extern zugeordnete Conversions importieren

Wenn Sie Drittanbieter-Tools oder selbst entwickelte Lösungen für das Conversion-Tracking verwenden, ist es in manchen Fällen sinnvoll, nur einen Teil einer Conversion AdWords zuzuordnen. Unter Umständen ist es auch erforderlich, eine Conversion mehreren AdWords-Klicks zuzuordnen. Wenn Sie extern zugeordnete Conversions importieren, können Sie Conversions hochladen und jeder GCLID einen Teil des Beitrags zuordnen.

Wenn Sie eine Conversion hochladen und deren Beitrag aufteilen möchten, gehen Sie wie beim Hochladen von Offline-Conversions vor. Zusätzlich sind folgende Schritte erforderlich:

  1. Wenn Sie das UploadConversion-Objekt erstellen, kennzeichnen Sie es als extern zugeordnet, indem Sie die Eigenschaft isExternallyAttributed auf true setzen.

  2. Geben Sie die Eigenschaften externalAttributionModel und externalAttributionCredit des OfflineConversionFeed-Objekts an, wenn Sie Conversions hochladen.

Validierungsregeln

Wenn Sie einen OfflineConversionFeed hochladen möchten, müssen bestimmte Voraussetzungen erfüllt sein.

Um den Fehler des Typs OfflineConversionError.INVALID_CONVERSION_TYPE zu vermeiden, muss sich der conversionName auf eine UploadConversion beziehen. Dabei gilt Folgendes:

  • Der status der UploadConversion zum Zeitpunkt des Klicks musste ENABLED sein.

  • Die UploadConversion muss zum Zeitpunkt des Klicks im aktiven Conversion-Konto desjenigen AdWords-Kontos vorhanden gewesen sein, dem der Klick zuzuordnen ist. Wenn zu diesem Zeitpunkt kein kontoübergreifendes Conversion-Tracking im betreffenden Konto verwendet wurde, wird dort von AdWords nach der UploadConversion gesucht, die zum Hochladen von Conversions verwendet wurde. Sie finden Ihr aktives Conversion-Tracking-Konto in der AdWords-Benutzeroberfläche unter Tools > Conversions. Dort wird allerdings das aktuelle aktive Conversion-Tracking-Konto angezeigt. Zum Zeitpunkt des Klicks kann auch ein anderes Konto aktiv gewesen sein.

Außerdem müssen folgende Bedingungen erfüllt sein:

  • Die conversionTime muss nach dem Zeitpunkt des Klicks liegen. Andernfalls tritt der Fehler OfflineConversionError.CONVERSION_PRECEDES_CLICK auf.

  • Die conversionTime muss vor dem Lookback-Window für die Klick-Conversion liegen, das Sie für das UploadConversion-Objekt angegeben haben. Andernfalls tritt der Fehler OfflineConversionError.EXPIRED_CLICK auf.

  • Der conversionValue muss größer oder gleich null sein.

  • Der conversionTime muss eine Zeitzonen-ID zugeordnet sein. Diese kann sich auf jede gültige Zeitzone beziehen und muss nicht unbedingt mit der Zeitzone des Kontos übereinstimmen.

Tipp

Berücksichtigen Sie Folgendes, wenn Sie einen OfflineConversionFeed erstellen:

  • Uploadvorgänge sind unteilbar. Wenn eine Conversion eine ungültige GCLID hat oder zu lange zurückliegt, wird keine der übrigen zugehörigen Conversions hochgeladen. Nutzen Sie die für teilweise fehlgeschlagene Vorgänge bereitgestellte Funktion, um dies zu vermeiden.

  • Doppelte Uploads einer Conversion (GCLID, Name und Zeit sind identisch) sind zwar zulässig, es wird jedoch nur die erste Instanz erfasst.

  • Hochgeladene Conversions werden in Berichten mit dem Datum der Impression des ursprünglichen Klicks berücksichtigt, nicht mit dem Datum der Updoadanfrage oder dem Datum in der conversionTime der OfflineConversionFeeds.

  • Nach dem Erstellen der UploadConversion sollten Sie mit dem Hochladen sechs Stunden warten.

  • Beim Attributionsmodell "Letzer Klick" dauert bis zu drei Stunden, bis importierte Conversion-Statistiken im AdWords-Konto angezeigt werden. Wenn Sie ein anderes Attributionsmodell für das Suchnetzwerk verwenden, kann es länger als drei Stunden dauern.

  • Wenn Sie Klick-Conversions für mehrere Konten hochladen, können Sie die clientCustomerId eines gemeinsamen Verwaltungskontos angeben und Vorgänge mit GCLIDs aus verschiedenen Konten berücksichtigen. Eine Conversion wird dem entsprechenden Konto basierend auf der Herkunft der GCLID zugeordnet.

  • Wenn Sie geräteübergreifendes Conversion-Tracking aktivieren und Klick-Conversions hochladen, muss der Conversion-Typ im Verwaltungskonto sein, anstatt im Konto, das der GCLID zugeordnet ist.

Codebeispiele

Im Ordner Remarketing jeder Clientbibliothek gibt es ein Codebeispiel für das Hochladen von Offline-Conversions.

Anruf-Conversions importieren

Mit der AdWords API können Sie Offline-Anruf-Conversions in AdWords hochladen. So lassen sich Anrufe den zugehörigen Conversions flexibler zuordnen.

In diesem Abschnitt erfahren Sie, wie Sie mit der AdWords API einen Feed zum Importieren von Offline-Anruf-Conversions erstellen.

Einrichtung

Im ersten Schritt erstellen Sie einen Conversion-Tracker für Offline-Anruf-Conversions, entweder über die AdWords-Benutzeroberfläche oder mithilfe von Code. In letzterem Fall legen Sie eine UploadCallConversion an. Die Vorgehensweise ist ähnlich wie im Beispiel im Abschnitt Klick-Conversions importieren unter Einrichtung. Verwenden Sie statt einer UploadConversion wie im Beispiel jedoch eine UploadCallConversion.

Offline-Anruf-Conversions hochladen

Nachdem Sie das UploadCallConversion-Objekt erstellt haben, müssen Sie ihm Ihre Offline-Anruf-Conversions zuordnen. Hierfür übergeben Sie die Anrufer-ID, Datum und Uhrzeit der Conversion (mit Zeitzonen-ID), den Conversion-Namen sowie optional den Conversion-Wert und die Conversion-Währung an OfflineCallConversionFeedService:

Java

/**
 * Runs the example.
 *
 * @param adWordsServices the services factory.
 * @param session the session.
 * @param callerId the caller ID of the call.
 * @param callStartTime the call start time of the call.
 * @param conversionName the name of the conversion tracker.
 * @param conversionTime the date and time of the conversion.
 * @param conversionValue the value of the conversion.
 * @throws ApiException if the API request failed with one or more service errors.
 * @throws RemoteException if the API request failed due to other errors.
 */
public static void runExample(
    AdWordsServicesInterface adWordsServices,
    AdWordsSession session,
    String callerId,
    String callStartTime,
    String conversionName,
    String conversionTime,
    double conversionValue)
    throws RemoteException {

  // Get the OfflineCallConversionFeedService.
  OfflineCallConversionFeedServiceInterface offlineCallConversionFeedService =
      adWordsServices.get(session, OfflineCallConversionFeedServiceInterface.class);

  // Associate offline call conversions with the existing named conversion tracker. If this
  // tracker was newly created, it may be a few hours before it can accept conversions.
  OfflineCallConversionFeed feed = new OfflineCallConversionFeed();
  feed.setCallerId(callerId);
  feed.setCallStartTime(callStartTime);
  feed.setConversionName(conversionName);
  feed.setConversionTime(conversionTime);
  feed.setConversionValue(conversionValue);

  OfflineCallConversionFeedOperation offlineCallConversionOperation =
      new OfflineCallConversionFeedOperation();
  offlineCallConversionOperation.setOperator(Operator.ADD);
  offlineCallConversionOperation.setOperand(feed);

  // This example uploads only one call conversion, but you can upload multiple call conversions
  // by passing additional operations.
  OfflineCallConversionFeedReturnValue offlineCallConversionReturnValue =
      offlineCallConversionFeedService.mutate(
          new OfflineCallConversionFeedOperation[] {offlineCallConversionOperation});

  // Display results.
  for (OfflineCallConversionFeed feedResult : offlineCallConversionReturnValue.getValue()) {
    System.out.printf(
        "Uploaded offline conversion value of %.4f for caller ID '%s'.%n",
        feedResult.getConversionValue(), feedResult.getCallerId());
  }
}

PHP

public static function runExample(
    AdWordsServices $adWordsServices,
    AdWordsSession $session,
    $callerId,
    $callStartTime,
    $conversionName,
    $conversionTime,
    $conversionValue
) {
    $offlineCallConversionService = $adWordsServices->get(
        $session,
        OfflineCallConversionFeedService::class
    );

    // Associate offline call conversions with the existing named conversion
    // tracker. If this tracker was newly created, it may be a few hours before
    // it can accept conversions.
    $feed = new OfflineCallConversionFeed();
    $feed->setCallerId($callerId);
    $feed->setCallStartTime($callStartTime);
    $feed->setConversionName($conversionName);
    $feed->setConversionTime($conversionTime);
    $feed->setConversionValue($conversionValue);

    $offlineCallConversionOperations = [];
    $offlineCallConversionOperation = new OfflineCallConversionFeedOperation();
    $offlineCallConversionOperation->setOperator(Operator::ADD);
    $offlineCallConversionOperation->setOperand($feed);
    $offlineCallConversionOperations[] = $offlineCallConversionOperation;

    // This example uploads only one call conversion, but you can upload
    // multiple call conversions by passing additional operations.
    $result = $offlineCallConversionService->mutate($offlineCallConversionOperations);

    $feed = $result->getValue()[0];
    printf(
        "Uploaded offline call conversion value of '%s' for caller ID '%s'.\n",
        $feed->getConversionValue(),
        $feed->getCallerId()
    );
}

Python

def main(client, caller_id, call_start_time, conversion_name, conversion_time,
         conversion_value):
  # Initialize appropriate services.
  occ_feed_service = client.GetService(
      'OfflineCallConversionFeedService', version='v201802')

  # Associate offline call conversions with the existing named conversion
  # tracker. If this tracker was newly created, it may be a few hours before it
  # can accept conversions.
  feed = {
      'callerId': caller_id,
      'callStartTime': call_start_time,
      'conversionName': conversion_name,
      'conversionTime': conversion_time,
      'conversionValue': conversion_value,
  }

  occ_operations = [{'operator': 'ADD', 'operand': feed}]

  occ_response = occ_feed_service.mutate(occ_operations)
  values = occ_response['value']

  if values:
    for occ_feed in values:
      print ('Uploaded offline call conversion value of "%s" for caller ID '
             '"%s".\n' % (occ_feed['conversionName'], occ_feed['callerId']))
  else:
    print 'No offline call conversions were added.'

Ruby

occ_feed_srv =
    adwords.service(:OfflineCallConversionFeedService, API_VERSION)

# Associate offline conversions with the existing named conversion tracker. If
# this tracker was newly created, it may be a few hours before it can accept
# conversions.
feed = {
  :caller_id => caller_id,
  :call_start_time => call_start_time,
  :conversion_name => conversion_name,
  :conversion_time => conversion_time,
  :conversion_value => conversion_value
}

occ_operations = [{
  :operator => 'ADD',
  :operand => feed
}]

occ_response = occ_feed_srv.mutate(occ_operations)

if occ_response[:value]
  occ_response[:value].each do |occ_feed|
    puts 'Uploaded offline call conversion value "%s" for caller ID "%s"' %
        [occ_feed[:conversion_name], occ_feed[:caller_id]]
  end
end

Perl

sub upload_offline_call_conversions {
  my $client                             = shift;
  my $caller_id                          = shift;
  my $call_start_time                    = shift;
  my $conversion_name                    = shift;
  my $conversion_time                    = shift;
  my $conversion_value                   = shift;
  my @offline_call_conversion_operations = ();

  # Associate offline call conversions with the existing named
  # conversion tracker. If this tracker was newly created, it may be a
  # few hours before it can accept conversions.
  my $feed = Google::Ads::AdWords::v201802::OfflineCallConversionFeed->new({
    callerId        => $caller_id,
    callStartTime   => $call_start_time,
    conversionName  => $conversion_name,
    conversionTime  => $conversion_time,
    conversionValue => $conversion_value
  });

  my $offline_call_conversion_operation =
    Google::Ads::AdWords::v201802::OfflineCallConversionFeedOperation->new({
      operator => "ADD",
      operand  => $feed
    });

  push @offline_call_conversion_operations, $offline_call_conversion_operation;

  # This example uploads only one call conversion, but you can upload multiple
  # call conversions by passing additional operations.
  my $result =
    $client->OfflineCallConversionFeedService()
    ->mutate({operations => \@offline_call_conversion_operations});

  # Display results.
  if ($result->get_value()) {
    foreach my $feed_result (@{$result->get_value()}) {
      printf "Uploaded offline call conversion value of \"%s\" for caller ID " .
        "\"%s\".\n",
        $feed_result->get_conversionValue(),
        $feed_result->get_callerId();
    }
  } else {
    print "No offline call conversions were added.\n";
    return;
  }

  return 1;
}

C#

public void Run(AdWordsUser user, String conversionName, String callStartTime, String callerId,
    String conversionTime, double conversionValue) {
  using (OfflineCallConversionFeedService offlineCallConversionFeedService =
       (OfflineCallConversionFeedService) user.GetService(
           AdWordsService.v201802.OfflineCallConversionFeedService)) {

    // Associate offline call conversions with the existing named conversion tracker. If this
    // tracker was newly created, it may be a few hours before it can accept conversions.
    OfflineCallConversionFeed feed = new OfflineCallConversionFeed();
    feed.callerId = callerId;
    feed.callStartTime = callStartTime;
    feed.conversionName = conversionName;
    feed.conversionTime = conversionTime;
    feed.conversionValue = conversionValue;

    OfflineCallConversionFeedOperation offlineCallConversionOperation =
        new OfflineCallConversionFeedOperation();
    offlineCallConversionOperation.@operator = Operator.ADD;
    offlineCallConversionOperation.operand = feed;

    try {
      // This example uploads only one call conversion, but you can upload
      // multiple call conversions by passing additional operations.
      OfflineCallConversionFeedReturnValue offlineCallConversionReturnValue =
          offlineCallConversionFeedService.mutate(
              new OfflineCallConversionFeedOperation[] { offlineCallConversionOperation });

      // Display results.
      foreach (OfflineCallConversionFeed feedResult in
          offlineCallConversionReturnValue.value) {
        Console.WriteLine("Uploaded offline call conversion value of {0} for caller ID '{1}'.",
            feedResult.conversionValue, feedResult.callerId);
      }
    } catch (Exception e) {
      throw new System.ApplicationException("Failed to upload offline call conversions.", e);
    }
  }
}

VB

Using offlineCallConversionFeedService As OfflineCallConversionFeedService =
    CType(user.GetService(AdWordsService.v201802.OfflineCallConversionFeedService),
        OfflineCallConversionFeedService)

  ' Associate offline call conversions with the existing named conversion tracker. If this
  ' tracker was newly created, it may be a few hours before it can accept conversions.
  Dim feed As New OfflineCallConversionFeed()
  feed.callerId = callerId
  feed.callStartTime = callStartTime
  feed.conversionName = conversionName
  feed.conversionTime = conversionTime
  feed.conversionValue = conversionValue

  Dim offlineCallConversionOperation As New OfflineCallConversionFeedOperation()
  offlineCallConversionOperation.operator = [Operator].ADD
  offlineCallConversionOperation.operand = feed

  Try
    ' This example uploads only one call conversion, but you can upload
    ' multiple call conversions by passing additional operations.
    Dim offlineCallConversionReturnValue As OfflineCallConversionFeedReturnValue =
      offlineCallConversionFeedService.mutate(
          New OfflineCallConversionFeedOperation() {offlineCallConversionOperation})

    ' Display results.
    For Each feedResult As OfflineCallConversionFeed In
        offlineCallConversionReturnValue.value
      Console.WriteLine("Uploaded offline call conversion value of {0} for caller ID '{1}'.",
          feedResult.conversionValue, feedResult.callerId)
    Next
  Catch e As Exception
    Throw New System.ApplicationException("Failed to upload offline call conversions.", e)
  End Try
End Using

Validierungsregeln

Wenn Sie einen OfflineCallConversionFeed hochladen möchten, müssen bestimmte Voraussetzungen erfüllt sein.

Um den Fehler des Typs OfflineCallConversionError.INVALID_CONVERSION_TYPE zu vermeiden, muss sich der conversionName auf eine UploadCallConversion beziehen. Dabei gilt Folgendes:

  • Die UploadCallConversion muss den status ENABLED gehabt haben, als der Anruf erfolgte.

  • Die UploadCallConversion muss zum Zeitpunkt des Anrufs im aktiven Conversion-Konto desjenigen AdWords-Kontos vorhanden gewesen sein, dem der Anruf zuzuordnen ist. Wenn zum Zeitpunkt des Anrufs im betreffenden Konto kein kontoübergreifendes Conversion-Tracking eingerichtet war, sucht AdWords nach dem UploadCallConversion-Objekt, das zum Hochladen von Conversions verwendet wurde. Sie finden Ihr aktives Conversion-Tracking-Konto in der AdWords-Benutzeroberfläche unter Tools > Conversions. Dort wird allerdings das aktuelle aktive Conversion-Tracking-Konto angezeigt. Dieses kann sich von dem Conversion-Tracking-Konto unterscheiden, das zum Zeitpunkt des Anrufs aktiv war.

Außerdem müssen folgende Bedingungen erfüllt sein:

  • Der conversionValue muss größer oder gleich null sein.

  • Der conversionTime muss eine Zeitzonen-ID zugeordnet sein. Diese kann sich auf jede gültige Zeitzone beziehen und muss nicht unbedingt mit der Zeitzone des Kontos übereinstimmen.

Tipp

Berücksichtigen Sie Folgendes, wenn Sie einen OfflineCallConversionFeed erstellen:

  • Nachdem Sie die UploadCallConversion erstellt haben, sollten Sie mit dem Hochladen sechs Stunden warten.

  • Es dauert bis zu drei Stunden, bis importierte Conversion-Statistiken in Ihrem AdWords-Konto angezeigt werden.

  • Obwohl doppelte Uploads einer Conversion (Anrufer-ID, Name und Zeit sind identisch) zulässig sind, wird dann nur die erste Conversion erfasst.

Codebeispiele

Im Ordner Remarketing jeder Clientbibliothek gibt es ein Codebeispiel für das Hochladen von Offline-Anruf-Conversions.

Conversions des Typs "Ladenverkäufe (direkter Upload)" importieren

Mit der AdWords API können Sie Conversions des Typs "Ladenverkäufe (direkter Upload)" in AdWords hochladen.

Einrichtung

Zuerst müssen Sie Import-Conversion-Typen erstellen. Dieser Schritt ist für jede Klassifizierung von einzelnen Conversions erforderlich. Die Typen können Sie nur in der AdWords-Benutzeroberfläche erstellen. Anhand von conversionName lässt sich das Conversion-Ereignis eindeutig identifizieren. Nachdem Sie die Import-Conversion-Typen erstellt haben, können Sie Conversions des Typs "Ladenverkäufe (direkter Upload)" über die AdWords-Benutzeroberfläche oder die AdWords API hochladen.

Conversions des Typs "Ladenverkäufe (direkter Upload)" hochladen

Sobald Sie den Conversion-Tracker erstellt haben, müssen Sie ihm Conversions des Typs "Ladenverkäufe (direkter Upload)" zuordnen. Geben Sie hierzu den Namen der Conversion und die Transaktionen in Ladengeschäften im OfflineDataUpload-Objekt über OfflineDataUploadService weiter.

Validierungsregeln

Damit Sie ein OfflineDataUpload-Objekt hochladen können, müssen bestimmte Voraussetzungen erfüllt sein.

Der conversionName muss sich auf einen bestimmten Conversion-Tracker beziehen, damit der Fehler OfflineDataUploadError.INVALID_CONVERSION_TYPE nicht auftritt. Dabei gilt Folgendes:

  • Der Conversion-Tracker war zum Zeitpunkt des Klicks aktiviert.

  • Der Conversion-Tracker war zum Zeitpunkt des Klicks im aktiven Conversion-Konto des AdWords-Kontos vorhanden. Wenn zu diesem Zeitpunkt kein kontoübergreifendes Conversion-Tracking im betreffenden Konto verwendet wurde, sucht AdWords im Konto, das zum Hochladen von Conversions verwendet wurde, nach dem Conversion-Tracker. Sie finden Ihr aktives Conversion-Tracking-Konto in der AdWords-Benutzeroberfläche unter Tools > Conversions. Dort wird allerdings das aktuelle aktive Conversion-Tracking-Konto angezeigt. Zum Zeitpunkt des Klicks kann auch ein anderes Konto aktiv gewesen sein.

Außerdem müssen folgende Bedingungen erfüllt sein:

  • Der Wert für transactionAmount muss größer als null sein.

  • Der transactionTime muss eine Zeitzonen-ID zugeordnet sein. Diese kann sich auf jede gültige Zeitzone beziehen und muss nicht unbedingt mit der Zeitzone des Kontos übereinstimmen.

Codebeispiele

Im Ordner Remarketing jeder Clientbibliothek befindet sich ein Codebeispiel für das Hochladen von Offlinedaten.

Feedback geben zu...