Google Merchant Center 転送データにクエリを実行する

データが BigQuery に転送されると、取り込み時間パーティション分割テーブルにそのデータが書き込まれます。詳細については、パーティション分割テーブルの概要をご覧ください。

Google Merchant Center テーブルのクエリを実行する際は、そのクエリで _PARTITIONTIME または _PARTITIONDATE の疑似列を使用する必要があります。詳細については、パーティション分割テーブルのクエリをご覧ください。

Products_ テーブルにはネストされたフィールドと繰り返しフィールドが含まれています。ネストされたデータと繰り返しデータの処理については、GoogleSQL ドキュメントの繰り返しフィールド処理の違いをご覧ください。

Google Merchant Center のサンプルクエリ

転送されたデータを分析するには、以下の Google Merchant Center サンプルクエリを使用できます。このクエリは、Looker Studio などの可視化ツールでも使用できます。

以下の各クエリでは、dataset をデータセット名で置き換えてください。merchant_id は、販売者 ID に置き換えます。MCA を使用している場合は、merchant_id を MCA ID に置き換えます。

商品と商品に関する統計情報

次の SQL サンプルクエリでは、商品の数、問題のある商品の数、日付ごとの問題の数を取得します。

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

ショッピング広告で承認されなかった商品

次の SQL サンプルクエリでは、ショッピング広告での掲載が承認されていない商品の数を国別に取得します。商品が承認されなかった原因として、掲載先が除外対象であったか、商品に問題があることが考えられます。

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

問題が承認されなかった商品

次の SQL サンプルクエリでは、不承認の問題がある商品の数を国別に取得します。

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