Reporting API

Mit der Reporting API können Händler programmatisch über die Merchant Center Query Language auf ihre Leistungsdaten zugreifen. Das ist ähnlich wie die Möglichkeit, benutzerdefinierte Berichte direkt im Merchant Center zu erstellen. Die Reporting API bietet folgende Vorteile:

  • Ermöglicht es großen Händlern, Leistungsdaten für Produkteinträge in ihre internen oder Drittanbieter-Berichtssysteme zu importieren.
  • Ermöglicht Nutzern, Drittanbieterpartnern und Aggregatoren, die Merchant Center-Konten verwalten, den Zugriff auf Berichte.

API-Nutzer können angeben, welche Leistungsdaten sie in der Antwort auf den Suchaufruf abrufen möchten, z. B.:

  • Zurückzugebende Messwerte (z. B. „Klicks“, „Impressionen“)
  • Dimensionen, nach denen die Daten segmentiert werden sollen (z. B. „OfferId“, „Date“)
  • Bedingungen, die erfüllt sein müssen (z. B. „Klicks > 100“)

Mit der Abfragesprache der Reporting API können Sie die Content API for Shopping nach Leistungsmesswerten (Klicks, Impressionen) abfragen, die möglicherweise nach verschiedenen Dimensionen segmentiert sind (gemeldete Ereignisattribute wie Programm und Datum sowie Produktattribute wie Marke, Kategorie usw.). Verwenden Sie dazu die Methode Search für den Dienst Reports.

Das Ergebnis einer Anfrage an den Reports-Dienst ist eine Liste von ReportRow-Instanzen. Jede ReportRow-Instanz stellt die Werte der angeforderten Messwerte für die Segmente dar, die Sie in Ihrer Anfrage angegeben haben. Wenn keine Segmente angegeben sind, wird eine einzelne Zeile mit Messwerten zurückgegeben, die über alle Segmente hinweg aggregiert werden. Andernfalls enthält die Antwort eine Zeile für jedes eindeutige Segment-Tupel, wenn Segmente zusammen mit Messwerten angefordert werden. Sie können in einer einzelnen Abfrage mehrere Segmente und mehrere Messwerte auswählen.

Messwerte abfragen

Sie können Messwerte (Klicks, Impressionen, CTR usw.) abfragen, die zurückgegeben werden sollen. Sie müssen einen Filter für den Zeitraum hinzufügen, um den Reports-Dienst abzufragen. Die Beispielabfrage unten gibt eine einzelne Zeile zurück: die Gesamtzahl der Klicks innerhalb der hinzugefügten Bedingung eines Zeitraums.

SELECT metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2020-12-01' AND '2020-12-21';

Beispielantwort

Die folgende JSON-Beispielantwort zeigt, dass dieser Händler zwischen dem 1. und dem 21. Dezember 2020 insgesamt 4.440 Klicks für alle seine Produkte an allen Zielen erhalten hat.

{"results": [
    {
      "metrics": {
        "clicks": "4,440"
      }
    }
]}

Segmente abfragen

Neben Messwerten können Sie auch Segmente abfragen. Das kann ein Attribut eines Produkts (offer_id, brand, category usw.) oder ein Attribut eines gemeldeten Ereignisses (date, program) sein. Ein gemeldetes Ereignis ist eine Impression oder ein Klick für ein Produkt.

Segmente funktionieren ähnlich wie GROUP BY in SQL. Mit Segmenten werden die ausgewählten Messwerte aufgeteilt und nach jedem Segment in der SELECT-Klausel gruppiert. Die Beispielabfrage unten gibt Klicks pro Tag zurück, sortiert nach Klicks absteigend innerhalb der hinzugefügten Bedingung eines Zeitraums. Es werden nur Zeilen zurückgegeben, in denen mindestens ein angeforderter Messwert ungleich null ist.

SELECT
  segments.date,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2020-12-01' AND '2020-12-03'
ORDER BY metrics.clicks DESC;

Beispielantwort

Die folgende JSON-Beispielantwort zeigt, dass dieser Händler am 1. Dezember 2020 1.546 Klicks für alle seine Produkte an allen Zielen und am 2. Dezember 2020 829 Klicks für alle seine Produkte an allen Zielen erhalten hat. Für den 3. Dezember 2020 wird kein Objekt zurückgegeben, da der Händler an diesem Tag keine Klicks hatte.

{
  "results": [
    {
      "segments": {
        "date": {
          "year": 2020,
          "month": 12,
          "day": 1
        }
      },
      "metrics": {
        "clicks": "1546"
      }
    },
    {
      "segments": {
        "date": {
          "year": 2020,
          "month": 12,
          "day": 2
        }
      },
      "metrics": {
        "clicks": "829"
      }
    }
]}