Reporting API
Reporting API を使用すると、販売者は Merchant Center クエリ言語を使用して、パフォーマンス データをプログラムで操作できます。これは、Merchant Center で直接カスタム レポートを作成する機能に似ています。Reporting API には次のメリットがあります。
- 大規模な販売者は、商品リスティングのパフォーマンス データを社内またはサードパーティのレポート システムにインポートできます。
- Merchant Center アカウントを管理するユーザー、サードパーティ パートナー、アグリゲータがレポートにアクセスできるようにします。
API ユーザーは、検索呼び出しのレスポンスで取得するパフォーマンス データを指定できます。たとえば、次のようなデータです。
- 返される指標(クリック数、インプレッション数など)
- データを分割するディメンション(OfferId、日付など)
- 満たす必要がある条件(例: クリック数 > 100)
Reporting API クエリ言語では、Reports
サービスで Search
メソッドを使用して、Content API for Shopping に対してパフォーマンス指標(クリック数、インプレッション数)をクエリできます。また、さまざまなディメンション(プログラムや日付などの報告されたイベント属性、ブランドやカテゴリなどの商品属性)で分割することもできます。
Reports
サービスに対するクエリの結果は、ReportRow
インスタンスのリストです。各 ReportRow
は、クエリで指定したセグメントに対してリクエストされた指標の値を表します。セグメントが指定されていない場合、すべてのセグメントで集計された指標を含む単一の行が返されます。指標とともにセグメントがリクエストされた場合は、一意のセグメント タプルごとに 1 行がレスポンスに表示されます。1 つのクエリで複数のセグメントと複数の指標を選択できます。
指標をクエリする
返される指標(クリック数、インプレッション数、クリック率など)をクエリできます。レポート サービスをクエリするには、期間のフィルタを追加する必要があります。次のサンプルクエリは、追加された期間の条件内のクリック数の合計である単一行を返します。
SELECT metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2020-12-01' AND '2020-12-21';
レスポンスの例
次の JSON コード レスポンスの例は、この販売者が 2020 年 12 月 1 日から 2020 年 12 月 21 日までの期間に、すべてのデスティネーションのすべての商品で合計 4,440 回のクリックがあったことを示しています。
{"results": [
{
"metrics": {
"clicks": "4,440"
}
}
]}
セグメントをクエリする
指標に加えて、セグメントをクエリすることもできます。セグメントには、商品の属性(offer_id
、brand
、category
など)や報告されたイベントの属性(date
、program
)を指定できます。報告されたイベントとは、商品のインプレッション数やクリック数です。
セグメントは、SQL の GROUP BY
と同様に機能します。セグメントは、選択した指標を分割し、SELECT
句の各セグメントでグループ化します。次のサンプルクエリは、追加された期間の条件内でクリック数を降順で並べ替えて、1 日あたりのクリック数を返します。リクエストされた指標が 1 つ以上ゼロ以外である行のみが返されます。
SELECT
segments.date,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2020-12-01' AND '2020-12-03'
ORDER BY metrics.clicks DESC;
レスポンスの例
以下の JSON コード レスポンスの例は、この販売者が 2020 年 12 月 1 日にすべてのデスティネーションのすべての商品で 1,546 回のクリックを獲得し、2020 年 12 月 2 日にすべてのデスティネーションのすべての商品で 829 回のクリックを獲得したことを示しています。2020 年 12 月 3 日にはクリックが発生しなかったため、この日付のオブジェクトは返却されません。
{
"results": [
{
"segments": {
"date": {
"year": 2020,
"month": 12,
"day": 1
}
},
"metrics": {
"clicks": "1546"
}
},
{
"segments": {
"date": {
"year": 2020,
"month": 12,
"day": 2
}
},
"metrics": {
"clicks": "829"
}
}
]}