Übersicht

Reporting API

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

  • Große Händler können Leistungsdaten für Produkteinträge in ihre internen oder Drittanbieter-Berichtssysteme importieren.
  • Damit können Nutzer, Drittanbieter und Aggregatoren, die Merchant Center-Konten verwalten, auf Berichte zugreifen.

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

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

Die Abfragesprache der Reporting API kann die Content API for Shopping mit der Methode Search im Reports-Dienst 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.).

Das Ergebnis einer Abfrage an den Dienst Reports ist eine Liste von ReportRow-Instanzen, wobei jede ReportRow die Werte angeforderter Messwerte für Segmente darstellt, die Sie in der Abfrage angegeben haben. Wenn keine Segmente angegeben sind, wird eine einzelne Zeile zurückgegeben, in der Messwerte für alle Segmente zusammengefasst sind. Wenn Segmente zusammen mit Messwerten angefordert werden, enthält die Antwort eine Zeile für jedes eindeutige Segmenttupel. Es ist möglich, mehrere Segmente und Messwerte in einer einzigen Abfrage auszuwä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 Berichtsdienst abzufragen. Die folgende Beispielabfrage gibt eine einzelne Zeile zurück: die Summe 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

Das Beispiel für die JSON-Codeantwort unten zeigt, wie dieser Händler zwischen dem 1. Dezember 2020 und dem 21. Dezember 2020 4.440 Klicks für alle seine Produkte über alle Ziele hinweg addiert hat.

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

Segmente abfragen

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

Segmente verhalten sich ähnlich wie GROUP BY in SQL. Segmente teilen die ausgewählten Messwerte auf und gruppieren nach jedem Segment in der SELECT-Klausel. Die folgende Beispielabfrage 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 Beispielantwort für den JSON-Code zeigt, dass dieser Händler am 1. Dezember 2020 1.546 Klicks für seine Produkte in allen seinen Zielen und am 2. Dezember 2020 für alle seine Produkte in allen Zielen 829 Klicks erzielt hat. Am 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"
      }
    }
]}