Rufen Sie die Conversion.update()
auf.
, um die folgenden Arten von Änderungen an einer oder mehreren bestehenden Conversions vorzunehmen:
- Ändern Sie den Umsatz, den Währungscode oder die Menge.
- Ändern Sie die advertiser-provided Bestell-ID und alle benutzerdefinierten Floodlight-Variablen.
- Entfernen Sie die Conversion, indem Sie den
conversion.state
ändern. vonACTIVE
bisREMOVED
.
Änderungen an folgenden Werten werden in Search Ads 360 nicht unterstützt:
- Das Conversion-Datum.
- Der Conversion-Typ.
- Das der Conversion zugeordnete Keyword oder der zugeordnete Besuch
- Floodlight-Aktivität oder Name der Aktivität
Sie können jedoch jederzeit eine vorhandene Conversion als ENTFERNT markieren und eine neue Conversion hochladen.
mit aktualisierten Werten für Datum, Typ, Attributions-IDs oder Floodlight-Aktivität. Geben Sie in jedem Fall eine
auch neue conversionId
).
Wenn Ihre Aktualisierungsanfrage wie bei Conversion.insert()
mehrere
wird versucht, die einzelnen Conversions bestmöglich zu aktualisieren.
anstatt den gesamten Batch
als Alles-oder-Nichts-Transaktion zu aktualisieren. Wenn einige Aktualisierungen in einem
wenn ein Batch fehlschlägt, können andere trotzdem erfolgreich sein. Wir empfehlen Ihnen, sich
Antwort für jede aktualisierte Conversion, um sicherzustellen, dass die Aktualisierung erfolgreich ist.
Aktualisierungsanfrage senden
Die meisten Felder, die Sie in einem Conversion.update()
angeben, werden für Folgendes verwendet:
ermitteln, welche Conversions aktualisiert werden sollen. Sie können eine der folgenden Optionen verwenden:
um eine bestehende Conversion zu identifizieren:
clickId
der Conversion angeben <ph type="x-smartling-placeholder">- </ph>
- Alle bearbeiteten Conversions müssen innerhalb von 60 Tagen nach der Generierung der Klick-ID liegen.
criterionId
(Keyword-ID) der Conversion angeben
Bei beiden Methoden müssen Sie den conversionId
, conversionTimestamp
,
und Transaktion type
.
Außerdem, wenn bei der ursprünglichen Conversion revenueMicros
und currencyCode
angegeben wurden
oder quantityMillis
, muss die Aktualisierungsanfrage diese Daten enthalten, auch wenn Sie
nichts ändern.
Conversion nach Klick-ID identifizieren
Wenn bei einer Conversion ursprünglich eine Klick-ID angegeben wurde, können Sie eine Conversion.update()
-Anfrage an, die die folgenden Felder angibt:
clickId
conversionId
conversionTimestamp
type
state
(nur erforderlich, wenn Sie den Status in REMOVED ändern möchten oder AKTIV)quantityMillis
(nur wenn bei der ursprünglichen Conversion angegeben)revenueMicros
(nur wenn bei der ursprünglichen Conversion angegeben)currencyCode
(nur wenn bei der ursprünglichen Conversion angegeben)
Beispiel
Hier ein Beispiel für zwei bestehende Conversions:
{ "kind": "doubleclicksearch#conversionList", "conversion" : [{ "clickId" : "COiYmPDTv7kCFcP0KgodOzQAAA", "conversionId" : "test_20130906_10", "conversionTimestamp" : "1378710000000", "segmentationType" : "FLOODLIGHT", "segmentationName" : "Test", "type": "TRANSACTION", "revenueMicros": "100000000", // 100 million revenueMicros is equivalent to $100 of revenue "currencyCode": "USD" }, { "clickId": "COiYmPDTv7kCFcP0KgodOzQAAA", "conversionId": "test_1383337059137", "conversionTimestamp": "1378710000000", "segmentationType" : "FLOODLIGHT", "segmentationName" : "Test", "type": "ACTION", "quantityMillis": "1000" }] }
Mit der folgenden Anfrage wird eine der Conversions aus dem vorherigen Beispiel aktualisiert und entfernt der andere:
JSON
Beachten Sie, dass eine Conversion.update()
-Anfrage die PUT-Methode verwendet.
HTTP-Methode.
PUT https://www.googleapis.com/doubleclicksearch/v2/conversion Authorization: Bearer your OAuth 2.0 access token Content-type: application/json { "kind": "doubleclicksearch#conversionList", "conversion": [ { "clickId": "COiYmPDTv7kCFcP0KgodOzQAAA", // Replace with data from your site "conversionId": "test_20130906_10", "conversionTimestamp": "1378710000000", "type": "TRANSACTION", "revenueMicros": "90000000", // 90 million revenueMicros is equivalent to $90 of revenue "currencyCode": "USD" }, { "clickId": "COiYmPDTv7kCFcP0KgodOzQAAA", // Replace with data from your site "conversionId": "test_1383337059137", "conversionTimestamp": "1378710000000", "type": "ACTION", "quantityMillis": "1000", "state": "REMOVED" } ] }
Java
/** * Instantiate the Doubleclicksearch service, create a conversion that updates an existing conversion, * and upload the conversions. */ public static void main(String[] args) throws Exception { Doubleclicksearch service = getService(); // See Set Up Your Application. // Set up a List to keep track of each conversion you create. List<Conversion> conversions = new Vector<Conversion>(); // Create a conversion and add it to the conversion list. // Just to get a little fancy, the updateConversionFromVisit() method can be used for all // visit conversions, including conversions that don't specify quantity, revenue, or currency. // If quantityMillis wasn't specified in the original conversion, specify -1L for the // quantityMillis parameter. Likewise, if revenueMicros wasn't specified originally, // specify -1L for the revenueMicros parameter and an empty string for currency. conversionList = updateConversionFromVisit( conversionList, "COiYmPDTv7kCFcP0KgodOzQAAA", // clickId. Replace with data from your site "test_20130906_10", // conversionId 1378710000000L, // timeStamp "TRANSACTION", // type "", // state -1L, // quantityMillis 90000000L, // revenueMicros. Equivalent to $90 of revenue "USD"); // currencyCode // Here's a conversion that needs to be removed. Just set the state parameter to "REMOVED". conversionList = updateConversionFromVisit( conversionList, "COiYmPDTv7kCFcP0KgodOzQAAA", // clickId. Replace with data from your site "test_1383337059137", // conversionId 1378710000000L, // timeStamp "ACTION", // type "REMOVED", // state 1000L, // quantityMillis -1L, // revenueMicros ""); // currencyCode // Upload the List and handle the response. uploadConversions(conversions, service); // See an example in Add New Conversions. } /** * Create a conversion and add it to a List<Conversion>. */ private static List<Conversion> updateConversionFromVisit(List<Conversion> conversions, String clickId, String conversionId, Long timeStamp, String type, String state, Long quantity, Long revenue, String currency) { // Identifies the existing conversion. Conversion conversion = new Conversion() .setClickId(clickId) .setConversionId(conversionId) .setConversionTimestamp(BigInteger.valueOf(timeStamp)) .setType(type); // Only add these fields if the value is not empty greater than -1. if(!state.isEmpty()) conversion.setState(state); if (quantity > -1L) { conversion.setQuantityMillis(quantity); } if (revenue > -1L) { conversion.setRevenueMicros(revenue); if (!currency.isEmpty()) { conversion.setCurrencyCode(currency); } else { System.err.println(String.format( "Can't add conversion %s. It specifies revenue but no currency.", conversion.getConversionId())); return conversions; } } conversions.add(conversion); return conversions; }
Python
def update_conversion(service): """Change the revenue for one existing conversion and remove another. Args: service: An authorized Doubleclicksearch service. See Set Up Your Application. """ request = service.conversion().update( body= { 'conversion' : [{ 'clickId' : 'COiYmPDTv7kCFcP0KgodOzQAAA', // Replace with data from your site 'conversionId' : 'test_20130906_13', 'conversionTimestamp' : '1378710000000', 'segmentationType' : 'FLOODLIGHT', 'segmentationName' : 'Test', 'type': 'TRANSACTION', 'revenueMicros': '90000000', // 90 million revenueMicros is equivalent to $90 of revenue 'currencyCode': 'USD' }, { 'clickId': 'COiYmPDTv7kCFcP0KgodOzQAAA', // Replace with data from your site 'conversionId': 'test_1383337059137_01', 'conversionTimestamp': '1378710000000', 'segmentationType' : 'FLOODLIGHT', 'segmentationName' : 'Test', 'type': 'ACTION', 'quantityMillis': '1000', 'state': 'REMOVED' }] } ) pprint.pprint(request.execute())
Conversion nach Keyword-ID identifizieren
Wenn Sie keinen Zugriff auf eine Klick-ID haben oder eine Conversion ursprünglich einer
Keyword oder Anzeige verwenden, können Sie eine Conversion.update()
-Anfrage senden, die
gibt die folgenden Felder an:
criterionId
(Keyword-ID)conversionId
conversionTimestamp
type
state
(nur erforderlich, wenn Sie den Status in REMOVED ändern möchten oder AKTIV)quantityMillis
(nur wenn bei der ursprünglichen Conversion angegeben)revenueMicros
(nur wenn bei der ursprünglichen Conversion angegeben)currencyCode
(nur wenn bei der ursprünglichen Conversion angegeben)
Optional können Sie andere IDs angeben, z. B. die Anzeigen-ID der Conversion, die Kampagnen-ID, und so weiter, was aber nicht nötig ist. In Search Ads 360 sind nur die IDs aus der obigen Liste erforderlich, um um eine vorhandene Conversion zu identifizieren.
Beispiel
Hier ein Beispiel für eine vorhandene Conversion:
{ "kind": "doubleclicksearch#conversionList", "conversion" : [{ "agencyId": "12300000000000456", "advertiserId": "45600000000010291", "engineAccountId": "700000000042441", "campaignId": "71700000002044839", "adGroupId": "58700000032026064", "criterionId": "43700004289911004", "adId": "44700000155906860", "conversionId": "test_1383157519886", "conversionTimestamp": "1378710000000", "type": "ACTION", "quantityMillis": "1000", "segmentationType": "FLOODLIGHT", "segmentationName": "Test" }] }
Mit der folgenden Anfrage wird der Zeitstempel der Conversion aktualisiert:
JSON
Beachten Sie, dass eine Conversion.update()
-Anfrage die PUT-Methode verwendet.
HTTP-Methode.
PUT https://www.googleapis.com/doubleclicksearch/v2/conversion Authorization: Bearer your OAuth 2.0 access token Content-type: application/json { "kind": "doubleclicksearch#conversionList", "conversion": [ { "criterionId": "43700004289911004", // Replace with your ID "conversionId": "test_1383157519886", "conversionTimestamp": "1378710000000", "type": "ACTION", "quantityMillis": "3000" } ] }
Java
// Send conversion data to updateConversion, which creates a conversion and adds it // to the conversion list. conversionList = updateConversionFromKeyword(conversionList, 43700004289911004L, // criterionId. Replace with your ID "test_1383157519886", // conversionId 1378710000000L, // timeStamp "ACTION", // type "", // state 3000L, // quantityMillis -1L, // revenueMicros ""); // currencyCode private static List<Conversion> updateConversionFromKeyword(List<Conversion> conversions, Long criterionId, String conversionId, Long timeStamp, String type, String state, Long quantity, Long revenue, String currency ) { Conversion conversion = new Conversion() .setCriterionId(criterionId) .setConversionId(conversionId) .setConversionTimestamp(BigInteger.valueOf(timeStamp)) .setType(type); // Only add these fields if the value is not empty greater than -1. if(!state.isEmpty()) conversion.setState(state); if (quantity > -1L) { conversion.setQuantityMillis(quantity); } if (revenue > -1L) { conversion.setRevenueMicros(revenue); if (!currency.isEmpty()) { conversion.setCurrencyCode(currency); } else { System.err.println(String.format( "Can't add conversion %s. It specifies revenue but no currency.", conversion.getConversionId())); return conversions; } } conversions.add(conversion); return conversions; }
Python
def update_conversion(service): """Change the timestamp of a conversion. Use only the keyword id (criterionId) to identify the conversion. Args: service: An authorized Doubleclicksearch service. See Set Up Your Application. """ request = service.conversion().update( body= { 'conversion': [{ 'criterionId': '43700004289911004', // Replace with your ID 'conversionId': 'test_1383157519886', 'conversionTimestamp': '1378760000000', 'type': 'ACTION', 'quantityMillis': '1000' }] } ) pprint.pprint(request.execute())
Search Ads 360-Antworten verarbeiten
Die Antwort auf eine Aktualisierungsanfrage ist dieselbe wie die Antwort auf eine Einfügung. Anfrage: Search Ads 360 zeigt einen Erfolg nur dann an, wenn alle Conversions in der Anfrage erfolgreich aktualisiert.
Wenn die Anfrage erfolgreich ist, enthält die Antwort die vollständigen internen Search Ads 360- Darstellung für jede aktualisierte Conversion, z. B. Kampagnen-ID, Anzeigengruppen-ID und Keyword (Kriterium) ID.
Wenn ein oder mehrere Updates nicht validiert oder hochgeladen werden können, enthält die Antwort „Fehler“ für jede fehlgeschlagene Aktualisierung. Die Antwort enthält keine Nachrichten zu Conversions die erfolgreich aktualisiert wurden. Weitere Informationen zu diesen Fehlermeldungen finden Sie unter Handle Search Ads 360-Antworten für INSERT-Anfragen.