Google Merchant Center-Übertragungen

Mit BigQuery Data Transfer Service for Google Merchant Center können Sie wiederkehrende Ladejobs für Google Merchant Center-Berichtsdaten automatisch planen und verwalten.

Unterstützte Berichte

BigQuery Data Transfer Service for Google Merchant Center unterstützt derzeit die folgenden Daten:

Produkte und Produktprobleme

  • Dies umfasst Produktdaten, die dem Merchant Center über Feeds oder die Content API for Shopping bereitgestellt werden. Ebenfalls enthalten sind Probleme auf Artikelebene, die Google bei Ihren Produkten erkannt hat. Sie können diese Daten im Google Merchant Center oder durch Abfragen der Content API for Shopping ansehen.

  • Informationen zum Laden dieser Daten in BigQuery finden Sie im Produkttabellenschema im Google Merchant Center.

Preisvergleiche

Bestseller

  • Dazu gehören Daten zu den beliebtesten Produkten und Marken in Shopping-Anzeigen und unbezahlten Einträgen sowie Informationen dazu, ob die Produkte in Ihrem Inventar vorhanden sind oder nicht.

  • Der Bericht basiert auf dem Bestseller-Bericht, der über das Google Merchant Center verfügbar ist.

  • Bestseller-Berichte bestehen aus den folgenden Tabellen:

    1. BestSellers_TopProducts_ ist eine Rangliste der Top-Produkte nach Land und Google-Produktkategorie. Die folgende Tabelle enthält Daten von allen Händlern in Shopping-Anzeigen und unbezahlten Einträgen.
    2. BestSellers_TopProducts_Inventory_ ist eine Zuordnungstabelle zwischen Top-Produkten und Ihrem Inventar.
    3. BestSellers_TopBrands_ ist eine Rangliste der Top-Marken, berechnet nach Land und Google-Produktkategorie. Er stellt Daten aus allen Händlern in Shopping-Anzeigen und unbezahlten Einträgen dar.
  • Informationen dazu, wie Bestsellerdaten in BigQuery geladen werden, finden Sie im Google Merchant Center in den Tabellenschemas Top-Produkte, Produktinventar und Top-Marken.

BigQuery Data Transfer Service for Google Merchant Center unterstützt derzeit die folgenden Berichtsoptionen:

Berichtsoption Support
Planen

Konfigurierbar von täglichen, wöchentlichen, monatlichen oder benutzerdefinierten Einstellungen. Standardmäßig wird dies auf "Täglich" gesetzt, wenn die Übertragung erstellt wird. Das Mindestintervall zwischen Übertragungen beträgt 6 Stunden.

Beschränkungen

Alle Merchant Center-Übertragungen unterliegen den folgenden Einschränkungen:

  • Nachdem Sie eine Übertragung für Ihre Händler-ID erstellt haben, müssen Sie möglicherweise bis zu 90 Minuten warten, bevor die Daten Ihres Händlerkontos für die Übertragung vorbereitet und verfügbar sind.
  • Sie können keine maximale Backfill-Dauer konfigurieren. Ein Backfill-Verlauf wird derzeit nicht unterstützt. Ein Backfill kann nur für den aktuellen Tag eingerichtet werden.

Produkte und Produktprobleme

  • Daten zu Produkten und Produktproblemen in BigQuery geben nicht die Echtzeitansicht Ihres Händlerkontos wieder. Informationen zur Zeitachse Ihrer Daten finden Sie im Feld product_data_timestamp des Schemas.

Preisvergleiche

  • Preisvergleichsdaten stellen keine Echtzeitansicht von Preisvergleichen dar. Die Zeitachse Ihrer Daten finden Sie im Feld price_benchmark_timestamp des Preisvergleichschemas.
  • Nicht alle Produkte haben einen Preisvergleich.

Bestseller

  • Nicht alle Länder enthalten Rankingdaten. Der Bericht enthält die folgenden Länder: DE, FR, UK, NL, JP, AU, CA, SE, IT, ES, CH, DK, CZ, BE und RU.
  • Die Daten der Bestseller umfassen keine Echtzeitansicht der Marken-Rankings. Informationen zum Anzeigen der Zeitachse erhalten Sie im Feld rank_timestamp des Schemas BestSellers_TopProducts_ und BestSellers_TopBrands_.
  • Nur die beliebtesten Artikel in Shopping-Anzeigen und unbezahlten Einträgen werden in die Tabelle BestSellers_TopProducts_ aufgenommen.
  • Nur die beliebtesten Marken in Shopping-Anzeigen und unbezahlten Einträgen werden in die Tabelle BestSellers_TopBrands_ aufgenommen. Möglicherweise enthält die Tabelle Products_ Zeilen mit einem google_brand_id, das keiner der Marken in der Tabelle BestSellers_TopBrands_ zugeordnet ist.
  • Marken-IDs im Feld google_brand_id können sich im Laufe der Zeit ändern, um die sich ändernde Art von Unternehmen und Marken zu berücksichtigen. Aus diesem Grund ist die Erfassung von Marken über einen längeren Zeitraum nicht garantiert.
  • Während Marken in vielen verschiedenen Kategorien eingestuft werden, befinden sich alle Produkte in der Tabelle Products_ in Blattkategorien. Verwenden Sie das Feld google_product_category_ids, wie in Beispielabfragen für Bestseller dargestellt, um Marken und Produkte in Nicht-Blatt-Kategorien zusammenzuführen.

Unterstützung von Mehrfachkundenkonten

Bestandskunden mit mehreren Händler-IDs sollten möglichst ein übergeordnetes Mehrfachkundenkonto (Multi-Client Account, MCA) konfigurieren. Durch das Konfigurieren eines MCA haben Sie die Möglichkeit, eine einzige Übertragung für all Ihre Händler-IDs zu erstellen.

Wenn Sie Google Merchant Center-MCAs anstelle von einzelnen Händler-IDs verwenden, bieten sich Ihnen verschiedene Vorteile:

  • Sie müssen nicht mehr mehrere Übertragungen verwalten, um Berichtsdaten für mehrere Händler-IDs zu übertragen.
  • Abfragen für mehrere Händler-IDs sind viel einfacher zu schreiben, da alle Händler-ID-Daten in derselben Tabelle gespeichert sind.
  • Die Verwendung von MCAs verringert potenzielle Probleme mit BigQuery-Kontingenten für Ladejobs, da Ihre gesamten Händler-ID-Daten im selben Job geladen werden.

Ein möglicher Nachteil der MCA-Verwendung besteht darin, dass Ihre nachfolgenden Abfragekosten wahrscheinlich höher sind. Da all Ihre Daten in derselben Tabelle gespeichert sind, müssen Abfragen, die Daten für eine einzelne Händler-ID abrufen, trotzdem die gesamte Tabelle scannen.

Wenn Sie ein MCA verwenden, wird die MCA-ID unter aggregator_id und die einzelnen Unterkonten unter merchant_id aufgeführt. Bei Konten ohne MCA ist aggregator_id auf null eingestellt.

Vorbereitung

Führen Sie vor dem Erstellen einer Google Merchant Center-Übertragung folgende Schritte aus:

  • Prüfen Sie, ob Sie alle erforderlichen Aktionen ausgeführt haben, damit Sie den BigQuery Data Transfer Service aktivieren können.
  • Erstellen Sie ein BigQuery-Dataset zum Speichern der Google Merchant Center-Daten.
  • Wenn Sie Übertragungen mithilfe der klassischen BigQuery-Web-UI erstellen möchten, müssen Sie Pop-up-Fenster von bigquery.cloud.google.com zulassen, damit das Berechtigungsfenster angezeigt werden kann. Sie müssen BigQuery Data Transfer Service for Google Merchant Center die Berechtigung zum Verwalten Ihrer Produkteinträge und Konten in Google Shopping erteilen.
  • Wenn Sie Benachrichtigungen über die Übertragungsausführung für Pub/Sub einrichten möchten, benötigen Sie die Berechtigungen pubsub.topics.setIamPolicy. Pub/Sub-Berechtigungen sind nicht erforderlich, wenn Sie nur E-Mail-Benachrichtigungen einrichten. Weitere Informationen finden Sie unter Ausführungsbenachrichtigungen im BigQuery Data Transfer Service.

Erforderliche Berechtigungen

Achten Sie darauf, dass die Person, die die Übertragung erstellt, die folgenden Berechtigungen hat:

  • BigQuery:

    • bigquery.transfers.update-Berechtigungen zum Erstellen der Übertragung
    • bigquery.datasets.update-Berechtigungen für das Ziel-Dataset

    Die vordefinierte IAM-Rolle bigquery.admin enthält die Berechtigungen bigquery.transfers.update und bigquery.datasets.update. Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie unter Referenz zur Zugriffssteuerung.

  • Google Merchant Center:

    • Zugriff auf das Google Merchant Center-Konto, das in der Übertragungskonfiguration verwendet wird. Wenn Sie bestätigen möchten, dass der Zugriff möglich ist, klicken Sie in der Google Merchant Center-Benutzeroberfläche auf den Abschnitt Nutzer.

    • Um auf Daten zur preislichen Wettbewerbsfähigkeit und zu Bestsellern zugreifen zu können, müssen Sie zuerst das Market Insights-Programm aktivieren.

Google Merchant Center-Übertragung einrichten

Zum Einrichten einer Datenübertragung für die Google Merchant Center-Berichterstellung benötigen Sie Folgendes:

  • Händler-ID oder Mehrfachkundenkonto-ID: Dies ist die Händler-ID, die im oberen linken Bereich der Google Merchant Center-UI angezeigt wird.

So erstellen Sie eine Datenübertragung für die Google Merchant Center-Berichterstellung:

Console

  1. Rufen Sie in der Cloud Console die Seite "BigQuery" auf.

    Zur Seite "BigQuery"

  2. Klicken Sie auf Übertragungen.

  3. Klicken Sie auf Create Transfer (Übertragung erstellen).

  4. Gehen Sie auf der Seite Create Transfer (Übertragung erstellen) so vor:

    • Wählen Sie im Abschnitt Source type (Quelltyp) für Source (Quelle) die Option Google Merchant Center aus.

    • Geben Sie im Abschnitt Transfer config name (Konfigurationsname für Übertragung) für Display name (Anzeigename) einen Namen wie My Transfer für die Übertragung ein. Der Übertragungsname kann ein beliebiger Wert sein, mit dem Sie die Übertragung einfach identifizieren können, wenn Sie sie später ändern müssen.

      Name der Übertragung

    • Klicken Sie im Abschnitt Schedule options (Zeitplanoptionen) für Schedule (Zeitplan) auf Start at a set time (Zu einer festgelegten Zeit starten).

      • Wählen Sie für Repeats (Wiederholungen) eine Option aus, um festzulegen, wie oft die Übertragung ausgeführt werden soll.

        • Daily (Täglich) (Standardeinstellung)
        • Weekly (Wöchentlich)
        • Monthly (Monatlich)
        • Custom (Benutzerdefiniert)
        • On demand
      • Geben Sie für Start date and run time (Startdatum und Laufzeit) das Datum und die Uhrzeit für den Start der Übertragung ein. Dieser Wert sollte mindestens 90 Minuten nach der aktuellen UTC-Zeit liegen. Wenn Sie Start now (Jetzt starten) auswählen, ist diese Option deaktiviert.

        Zeitplan für die Übertragung

        Wenn Sie die Zeitplanoptionen auf Start now (Jetzt starten) belassen, wird die erste Übertragungsausführung sofort gestartet und die folgende Fehlermeldung wird ausgegeben: No data to transfer found for the Merchant account. If you have just created this transfer, you may need to wait for up to 90 minutes before the data of your Merchant account are prepared and available for the transfer. Warten Sie in diesem Fall 90 Minuten und richten Sie anschließend einen Backfill ein oder warten Sie bis morgen auf die nächste geplante Ausführung.

    • Wählen Sie im Abschnitt Destination settings (Zieleinstellungen) für Destination dataset (Ziel-Dataset) das Dataset aus, das Sie zum Speichern Ihrer Daten erstellt haben.

      Dataset übertragen

    • Geben Sie im Abschnitt Data source details (Details zur Datenquelle) für Merchant ID (Händler-ID) Ihre Händler-ID oder MCA-ID ein.

      Wählen Sie die Berichte aus, die Sie übertragen möchten. Weitere Informationen finden Sie unter Unterstützte Berichte.

      Google Merchant Center-Übertragungsdaten.

    • Optional: Im Abschnitt Notification options (Benachrichtigungsoptionen):

      • Klicken Sie auf die Umschaltfläche, um E-Mail-Benachrichtigungen zu aktivieren. Wenn Sie diese Option aktivieren, erhält der Übertragungsadministrator eine E-Mail-Benachrichtigung, wenn ein Übertragungsvorgang fehlschlägt.
      • Wählen Sie unter Select a Cloud Pub/Sub topic (Cloud Pub/Sub-Thema auswählen) Ihr Thema aus oder klicken Sie auf Create a topic (Thema erstellen). Mit dieser Option werden Pub/Sub-Ausführungsbenachrichtigungen für Ihre Übertragung konfiguriert.
  5. Klicken Sie auf Speichern.

Klassische UI

  1. Rufen Sie die klassische BigQuery-Web-UI auf.

    Zur klassischen BigQuery-Web-UI

  2. Klicken Sie auf Transfers (Übertragungen).

  3. Klicken Sie auf Übertragung hinzufügen.

  4. Gehen Sie auf der Seite Nw Transfer (Neue Übertragung) so vor:

    • Wählen Sie für Source (Quelle) die Option Google Merchant Center aus.
    • Geben Sie als Display name (Anzeigename) einen Namen wie My Transfer für die Übertragung ein. Der Anzeigename kann ein beliebiger Wert sein, mit dem Sie die Übertragung einfach identifizieren können, wenn Sie sie später ändern möchten.
    • Klicken Sie für Schedule (Zeitplan) auf Edit (Bearbeiten) und ändern Sie den Wert für Starting (UTC) (Startzeit UTC) in mindestens 90 Minuten ab der aktuellen Zeit.

      Zeitplan für die Übertragung

      Wenn Sie die Standardeinstellungen für die Planung beibehalten, wird die erste Übertragungsausführung sofort gestartet und die folgende Fehlermeldung wird ausgegeben: No data to transfer found for the Merchant account. If you have just created this transfer, you may need to wait for up to 90 minutes before the data of your Merchant account are prepared and available for the transfer. Warten Sie in diesem Fall 90 Minuten, richten Sie einen Backfill für heute ein oder warten Sie bis zur nächsten geplanten Ausführung am darauffolgenden Tag.

    • Wählen Sie unter Destination dataset (Ziel-Dataset) das Dataset aus, das Sie zum Speichern Ihrer Google Merchant Center-Daten erstellt haben.

    • Geben Sie für Merchant ID (Händler-ID) Ihre Händler-ID oder MCA-ID ein.

      Google Merchant Center-Übertragung

    • Wählen Sie die Berichte aus, die Sie übertragen möchten. Weitere Informationen finden Sie unter Unterstützte Berichte.

      Google Merchant Center-Übertragungsdaten.

    • Optional: Maximieren Sie den Abschnitt Advanced (Erweitert) und konfigurieren Sie die Ausführungsbenachrichtigungen für die Übertragung.

      • Geben Sie unter Cloud Pub/Sub topic (Cloud Pub/Sub-Thema) den Namen für Ihr Thema ein, z. B. projects/myproject/topics/mytopic.
      • Aktivieren Sie Send email notifications (E-Mail-Benachrichtigungen senden), um bei Fehlern bei der Übertragungsausführung Benachrichtigungen zu senden.
      • Aktivieren Sie beim Einrichten einer Übertragung nicht Disabled (Deaktiviert). Unter Mit Übertragungen arbeiten erfahren Sie, wie Sie vorhandene Übertragungen deaktivieren.

        Pub/Sub-Thema

  5. Klicken Sie auf Hinzufügen.

  6. Klicken Sie bei der entsprechenden Aufforderung auf Allow (Zulassen), um BigQuery Data Transfer Service die Berechtigung zum Verwalten Ihrer Produkteinträge und Händlerkonten in Google Shopping und zum Zugreifen und Verwalten von Daten in BigQuery zu erteilen. Sie müssen Pop-ups von bigquery.cloud.google.com zulassen, damit das Berechtigungsfenster angezeigt wird.

    Dialogfeld mit Übertragungsberechtigungen für das Merchant Center

bq

Geben Sie den Befehl bq mk ein und geben Sie das Flag --transfer_config für die Übertragungserstellung an. Die folgenden Flags sind ebenfalls erforderlich:

  • --data_source
  • --target_dataset
  • --display_name
  • --params

Sie können auch das Flag --project_id bereitstellen, um ein bestimmtes Projekt anzugeben. Wenn --project_id nicht angegeben ist, wird das Standardprojekt verwendet.

bq mk \
--transfer_config \
--project_id=project_id \
--target_dataset=dataset \
--display_name=name \
--params='parameters' \
--data_source=data_source

Wobei:

  • project_id ist die Projekt-ID.
  • dataset ist das Ziel-Dataset für die Übertragungskonfiguration.
  • name ist der Anzeigename für die Übertragungskonfiguration. Der Name der Übertragung kann ein beliebiger Wert sein, mit dem Sie die Übertragung einfach identifizieren können, wenn Sie sie später ändern müssen.
  • parameters enthält die Parameter für die erstellte Übertragungskonfiguration im JSON-Format. Beispiel: --params='{"param":"param_value"}'.
    • Für Google Merchant Center-Übertragungen müssen Sie den Parameter merchant_id angeben.
    • Der Parameter export_products gibt an, ob Daten zu Produkt- und Produktproblemen übertragen werden sollen. Dieser Parameter ist standardmäßig enthalten, auch wenn Sie den Parameter export_products nicht angeben. Google empfiehlt, dass Sie diesen Parameter explizit aufnehmen und auf "true" setzen.
    • Der Parameter export_price_benchmarks gibt an, ob Preisvergleichsdaten übertragen werden sollen.
    • Der Parameter export_best_sellers gibt an, ob die Bestsellerdaten übertragen werden sollen.
  • data_source ist die Datenquelle: merchant_center.

Mit dem folgenden Befehl wird beispielsweise eine Google Merchant Center-Übertragung mit dem Namen My Transfer, der Händler-ID 1234 und dem Ziel-Dataset mydataset erstellt. Die Übertragung wird im Standardprojekt erstellt:

bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"merchant_id":"1234","export_products":"true","export_price_benchmarks":"true","export_best_sellers":"true"}' \
--data_source=merchant_center

Wenn Sie den Befehl zum ersten Mal ausführen, erhalten Sie eine Nachricht wie die folgende:

[URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

Richten Sie sich nach der Anleitung in der Nachricht und fügen Sie den Authentifizierungscode in die Befehlszeile ein.

If you have just created this transfer, you may need to wait for up to 90 minutes before the data of your Merchant account are prepared and available for the transfer." Warten Sie in diesem Fall 90 Minuten und richten Sie dann einen Backfill für heute ein oder warten Sie bis zur nächsten geplanten Ausführung am darauffolgenden Tag.

API

Verwenden Sie die Methode projects.locations.transferConfigs.create und geben Sie eine Instanz der Ressource TransferConfig an.

Fehler beim Einrichten der Google Merchant Center-Übertragung beheben

Falls beim Einrichten von Übertragungen Probleme auftreten, finden Sie unter Fehlerbehebung bei Übertragungskonfigurationen im Abschnitt Übertragungsprobleme mit Google Merchant Center weitere Informationen.

Daten abfragen

Bei der Übertragung Ihrer Daten in BigQuery werden die Daten in zeitpartitionierte Tabellen geschrieben. Weitere Informationen finden Sie unter Einführung in partitionierte Tabellen.

Beim Abfragen Ihrer Google Merchant Center-Tabelle müssen Sie die Pseudospalte _PARTITIONTIME oder _PARTITIONDATE in der Abfrage verwenden. Weitere Informationen finden Sie unter Partitionierte Tabellen abfragen.

Die Tabelle Products_ enthält verschachtelte und wiederkehrende Felder. Informationen zum Umgang mit verschachtelten und wiederkehrenden Daten finden Sie in der Standard-SQL-Dokumentation unter Unterschiede bei der Verarbeitung wiederkehrender Felder.

Google Merchant Center-Beispielabfragen

Mithilfe der folgenden Google Merchant Center-Beispielabfragen lassen sich die übertragenen Daten analysieren. Sie können die Abfragen auch in einem Visualisierungstool wie Google Data Studio verwenden.

Ersetzen Sie in jeder der folgenden Abfragen dataset durch den Namen Ihres Datasets. Ersetzen Sie merchant_id durch Ihre Händler-ID. Wenn Sie ein MCA verwenden, ersetzen Sie merchant_id durch Ihre MCA-ID.

Beispielabfragen für Produkte und Produktprobleme

Statistiken zu Produkten und Produktproblemen

Die folgende Beispielabfrage gibt die Anzahl der Produkte, der Produkte mit Problemen und der Probleme nach Tag zurück.

Console

SELECT
  _PARTITIONDATE AS date,
  COUNT(*) AS num_products,
  COUNTIF(ARRAY_LENGTH(issues) > 0) AS num_products_with_issues,
  SUM(ARRAY_LENGTH(issues)) AS num_issues
FROM
  dataset.Products_merchant_id
WHERE
  _PARTITIONDATE >= 'YYYY-MM-DD'
GROUP BY
  date
ORDER BY
  date DESC

bq

bq query --use_legacy_sql=false '
SELECT
  _PARTITIONDATE AS date,
  COUNT(*) AS num_products,
  COUNTIF(ARRAY_LENGTH(issues) > 0) AS num_products_with_issues,
  SUM(ARRAY_LENGTH(issues)) AS num_issues
FROM
  dataset.Products_merchant_id
WHERE
  _PARTITIONDATE >= 'YYYY-MM-DD'
GROUP BY
  date
ORDER BY
  date DESC'

Für Shopping-Anzeigen abgelehnte Produkte

Die folgende Beispielabfrage gibt die Anzahl der Produkte zurück, die für Shopping-Anzeigen abgelehnt wurden. Die Ablehnung kann darauf zurückzuführen sein, dass ein Produkt ausgeschlossen wurde oder ein Problem mit dem Produkt vorliegt.

Console

SELECT
  _PARTITIONDATE AS date,
  COUNT(*) AS num_products
FROM
  dataset.Products_merchant_id,
  UNNEST(destinations) AS destination
WHERE
  _PARTITIONDATE >= 'YYYY-MM-DD' AND
  destination.status = 'disapproved'
GROUP BY
  date
ORDER BY
  date DESC

bq

bq query --use_legacy_sql=false '
SELECT
  _PARTITIONDATE AS date,
  COUNT(*) AS num_products
FROM
  dataset.Products_merchant_id,
  UNNEST(destinations) AS destination
WHERE
  _PARTITIONDATE >= 'YYYY-MM-DD' AND
  destination.status = 'disapproved'
GROUP BY
  date
ORDER BY
  date DESC'

Produkte mit Problemen aufgrund von Ablehnungen

Die folgende Beispielabfrage ruft die Anzahl der Produkte ab, bei denen Probleme aufgrund von Ablehnungen vorliegen.

Console

SELECT
  _PARTITIONDATE AS date,
  COUNT(DISTINCT CONCAT(CAST(merchant_id AS STRING), ':', product_id))
      AS num_distinct_products
FROM
  dataset.Products_merchant_id,
  UNNEST(issues) AS issue
WHERE
  _PARTITIONDATE >= 'YYYY-MM-DD' AND
  issue.servability = 'disapproved'
GROUP BY
  date
ORDER BY
  date DESC

bq

bq query --use_legacy_sql=false '
SELECT
  _PARTITIONDATE AS date,
  COUNT(DISTINCT CONCAT(CAST(merchant_id AS STRING), ':', product_id))
      AS num_distinct_products
FROM
  dataset.Products_merchant_id,
  UNNEST(issues) AS issue
WHERE
  _PARTITIONDATE >= 'YYYY-MM-DD' AND
  issue.servability = 'disapproved'
GROUP BY
  date
ORDER BY
  date DESC'

Beispielabfragen für Preisvergleiche

Vergleichen Sie Produktpreise mit Benchmarks

Die folgende Abfrage verknüpft Products- und Price Benchmarks-Daten, um die Liste der Produkte und der zugehörigen Benchmarks zurückzugeben.

Console

WITH products AS
(
  SELECT
    _PARTITIONDATE AS date,
    *
  FROM
    dataset.Products_merchant_id
  WHERE
   _PARTITIONDATE >= 'YYYY-MM-DD'
),
benchmarks AS
(
  SELECT
    _PARTITIONDATE AS date,
    *
  FROM
    dataset.Products_PriceBenchmarks_merchant_id
  WHERE
    _PARTITIONDATE >= 'YYYY-MM-DD'
)
SELECT
  products.date,
  products.product_id,
  products.merchant_id,
  products.aggregator_id,
  products.price,
  products.sale_price,
  benchmarks.price_benchmark_value,
  benchmarks.price_benchmark_currency,
  benchmarks.country_of_sale
FROM
  products
INNER JOIN
  benchmarks
ON products.product_id = benchmarks.product_id AND
   products.merchant_id = benchmarks.merchant_id AND
   products.date = benchmarks.date

bq

bq query --use_legacy_sql=false '
WITH products AS
(
  SELECT
    _PARTITIONDATE AS date,
    *
  FROM
    `dataset.Products_merchant_id`
  WHERE
   _PARTITIONDATE >= 'YYYY-MM-DD'
),
benchmarks AS
(
  SELECT
    _PARTITIONDATE AS date,
    *
  FROM
    `dataset.Products_PriceBenchmarks_merchant_id`
  WHERE
   _PARTITIONDATE >= 'YYYY-MM-DD'
)
SELECT
  products.date,
  products.product_id,
  products.merchant_id,
  products.aggregator_id,
  products.price,
  products.sale_price,
  benchmarks.price_benchmark_value,
  benchmarks.price_benchmark_currency,
  benchmarks.country_of_sale
FROM
  products
INNER JOIN
  benchmarks
ON products.product_id = benchmarks.product_id AND
   products.merchant_id = benchmarks.merchant_id AND
   products.date = benchmarks.date'

Beispielabfragen für Bestseller

Top-Produkte für eine bestimmte Kategorie und ein bestimmtes Land

Die folgende Abfrage gibt die wichtigsten Produkte für die Smartphone-Kategorie in den USA zurück:

Console

SELECT
  rank,
  previous_rank,
  (SELECT name FROM top_products.product_title WHERE locale = 'en-US') AS product_title,
  brand,
  price_range
FROM
  dataset.BestSellers_TopProducts_merchant_id AS top_products
WHERE
  _PARTITIONDATE = 'YYYY-MM-DD' AND
  ranking_category = 267 /*Smartphones*/ AND
  ranking_country = 'US'
ORDER BY
  rank

bq

bq query --use_legacy_sql=false '
SELECT
  rank,
  previous_rank,
  (SELECT name FROM top_products.product_title WHERE locale = 'en-US') AS product_title,
  brand,
  price_range
FROM
  dataset.BestSellers_TopProducts_merchant_id AS top_products
WHERE
  _PARTITIONDATE = 'YYYY-MM-DD' AND
  ranking_category = 267 /*Smartphones*/ AND
  ranking_country = 'US'
ORDER BY
  rank'

Top-Produkte in Ihrem Inventar

Die folgende Abfrage verknüpft BestSellers_TopProducts_Inventory_- und BestSellers_TopProducts_-Daten, um eine Liste der Top-Produkte zurückzugeben, die Sie derzeit in Ihrem Inventar haben.

Console

WITH latest_top_products AS
(
  SELECT
    *
  FROM
    dataset.BestSellers_TopProducts_merchant_id
  WHERE
    _PARTITIONDATE = 'YYYY-MM-DD'
),
latest_top_products_inventory AS
(
  SELECT
    *
  FROM
    dataset.BestSellers_TopProducts_Inventory_merchant_id
  WHERE
    _PARTITIONDATE = 'YYYY-MM-DD'
)
SELECT
  top_products.rank,
  inventory.product_id,
  (SELECT ANY_VALUE(name) FROM top_products.product_title) AS product_title,
  top_products.brand,
  top_products.gtins
FROM
  latest_top_products AS top_products
INNER JOIN
  latest_top_products_inventory AS inventory
USING (rank_id)

bq

bq query --use_legacy_sql=false '
WITH latest_top_products AS
(
  SELECT
    *
  FROM
    dataset.BestSellers_TopProducts_merchant_id
  WHERE
    _PARTITIONDATE = 'YYYY-MM-DD'
),
latest_top_products_inventory AS
(
  SELECT
    *
  FROM
    dataset.BestSellers_TopProducts_Inventory_merchant_id
  WHERE
    _PARTITIONDATE = 'YYYY-MM-DD'
)
SELECT
  top_products.rank,
  inventory.product_id,
  (SELECT ANY_VALUE(name) FROM top_products.product_title) AS product_title,
  top_products.brand,
  top_products.gtins
FROM
  latest_top_products AS top_products
INNER JOIN
  latest_top_products_inventory AS inventory
USING (rank_id)'

Top-Marken für eine bestimmte Kategorie und ein bestimmtes Land

Die folgende Abfrage gibt Top-Marken für die Smartphone-Kategorie in den USA zurück.

Console

SELECT
  rank,
  previous_rank,
  brand
FROM
  dataset.BestSellers_TopBrands_merchant_id
WHERE
  _PARTITIONDATE = 'YYYY-MM-DD' AND
  ranking_category = 267 /*Smartphones*/ AND
  ranking_country = 'US'
ORDER BY
  rank

bq

  bq query --use_legacy_sql=false '
    SELECT
      rank,
      previous_rank,
      brand
    FROM
      dataset.BestSellers_TopBrands_merchant_id
    WHERE
      _PARTITIONDATE = 'YYYY-MM-DD' AND
      ranking_category = 267 /*Smartphones*/ AND
      ranking_country = 'US'
    ORDER BY
      rank'

Produkte der Top-Marken in Ihrem Inventar

Die folgende Abfrage gibt eine Liste der Produkte in Ihrem Inventar von Top-Marken zurück, die nach Kategorie und Land aufgeführt sind.

Console

  WITH latest_top_brands AS
  (
    SELECT
      *
    FROM
      dataset.BestSellers_TopBrands_merchant_id
    WHERE
      _PARTITIONDATE = 'YYYY-MM-DD'
  ),
  latest_products AS
  (
    SELECT
      product.*,
      product_category_id
    FROM
      dataset.Products_merchant_id AS product,
      UNNEST(product.google_product_category_ids) AS product_category_id
    WHERE
      _PARTITIONDATE = 'YYYY-MM-DD'
  )
  SELECT
    top_brands.brand,
    (SELECT name FROM top_brands.ranking_category_path
    WHERE locale = 'en-US') AS ranking_category,
    top_brands.ranking_country,
    top_brands.rank,
    products.product_id,
    products.title
  FROM
    latest_top_brands AS top_brands
  INNER JOIN
    latest_products AS products
  ON top_brands.google_brand_id = products.google_brand_id AND
     top_brands.ranking_category = product_category_id AND
     top_brands.ranking_country = products.target_country

bq

bq query --use_legacy_sql=false '
    WITH latest_top_brands AS
  (
    SELECT
      *
    FROM
      dataset.BestSellers_TopBrands_merchant_id
    WHERE
      _PARTITIONDATE = 'YYYY-MM-DD'
  ),
  latest_products AS
  (
    SELECT
      product.*,
      product_category_id
    FROM
      dataset.Products_merchant_id AS product,
      UNNEST(product.google_product_category_ids) AS product_category_id
    WHERE
      _PARTITIONDATE = 'YYYY-MM-DD'
  )
  SELECT
    top_brands.brand,
    (SELECT name FROM top_brands.ranking_category_path
    WHERE locale = 'en-US') AS ranking_category,
    top_brands.ranking_country,
    top_brands.rank,
    products.product_id,
    products.title
  FROM
    latest_top_brands AS top_brands
  INNER JOIN
    latest_products AS products
  ON top_brands.google_brand_id = products.google_brand_id AND
     top_brands.ranking_category = product_category_id AND
     top_brands.ranking_country = products.target_country'