Module: Peddler::Reports::SellingPartnerSearchCatalogPerformance

Defined in:
lib/peddler/reports/selling_partner_search_catalog_performance.rb,
lib/peddler/reports/selling_partner_search_catalog_performance/report.rb,
lib/peddler/reports/selling_partner_search_catalog_performance/report_options.rb,
lib/peddler/reports/selling_partner_search_catalog_performance/report_specification.rb,
lib/peddler/reports/selling_partner_search_catalog_performance/search_catalog_performance_data.rb,
lib/peddler/reports/selling_partner_search_catalog_performance/search_catalog_performance_click_data.rb,
lib/peddler/reports/selling_partner_search_catalog_performance/search_catalog_performance_cart_add_data.rb,
lib/peddler/reports/selling_partner_search_catalog_performance/search_catalog_performance_purchase_data.rb,
lib/peddler/reports/selling_partner_search_catalog_performance/search_catalog_performance_impression_data.rb

Overview

The Search Catalog Performance report provides search engagement metrics, such as impressions, clicks, cart adds, and purchases for a date range that you specify. The data is available at different reporting periods: WEEK, MONTH, and QUARTER. Requests cannot span multiple periods. For example, a request at the WEEK level cannot start on 2025-01-05 and end on 2025-01-18 as this request spans two weeks.

Constant Summary collapse

Report =

The Search Catalog Performance report provides search engagement metrics, such as impressions, clicks, cart adds, and purchases for a date range that you specify. The data is available at different reporting periods: WEEK, MONTH, and QUARTER. Requests cannot span multiple periods. For example, a request at the WEEK level cannot start on 2025-01-05 and end on 2025-01-18 as this request spans two weeks.

Structure.new do
  # @return [Array<SearchCatalogPerformanceData>]
  attribute(:data_by_asin, [SearchCatalogPerformanceData], from: "dataByAsin")

  # @return [Hash] Summarizes the original report request.
  attribute(:report_specification, ReportSpecification, from: "reportSpecification")
end
ReportOptions =

The report options that specify parameters, such as reportPeriod.

Structure.new do
  # @return [String] The granularity of the data in the report. Valid values are WEEK, MONTH, and QUARTER.
  attribute(:report_period, String, from: "reportPeriod")

  # @return [String] A space-separated list of Amazon Standard Identification Number (ASINs) for which you can
  # request the report. If you do not provide ASINs, the report returns search catalog performance data for all
  # ASINs for which you are a brand owner. There is a 200-character limit.
  attribute?(:asins, String)
end
ReportSpecification =

Summarizes the original report request.

Structure.new do
  # @return [Date] The end date of the report (Amazon ignores the time component). For WEEK, MONTH, and QUARTER
  # reportPeriods, this value must correspond to the last day in the reportPeriod that you specify or else a fatal
  # error returns. For example, dataEndTime must be a Saturday for the WEEK reportPeriod.
  attribute(:data_end_time, Date, from: "dataEndTime")

  # @return [Date] The start date of the report (Amazon ignores the time component). For WEEK, MONTH, and QUARTER
  # reportPeriods, this value must correspond to the first day in the reportPeriod that you specify or else a
  # fatal error returns. For example, dataStartTime must be a Sunday for the WEEK reportPeriod.
  attribute(:data_start_time, Date, from: "dataStartTime")

  # @return [Array<String>] This parameter must match the marketplaceId of the selling partner account. This
  # report type supports only one marketplaceId per report. If you specify multiple marketplaces, a fatal error
  # returns and report generation fails.
  attribute(:marketplace_ids, [String], from: "marketplaceIds")

  # @return [ReportOptions] The report options that specify parameters, such as reportPeriod.
  attribute(:report_options, ReportOptions, from: "reportOptions")

  # @return [String] The type of the report.
  attribute(:report_type, String, from: "reportType")
end
SearchCatalogPerformanceData =

Contains search catalog performance data for ASINs in the selling partner's catalog.

Structure.new do
  # @return [String] The Amazon Standard Identification Number.
  attribute(:asin, String)

  # @return [SearchCatalogPerformanceCartAddData]
  attribute(:cart_add_data, SearchCatalogPerformanceCartAddData, from: "cartAddData")

  # @return [SearchCatalogPerformanceClickData]
  attribute(:click_data, SearchCatalogPerformanceClickData, from: "clickData")

  # @return [Date] The end date of the data for the ASIN that you specify in the asin property.
  attribute(:end_date, Date, from: "endDate")

  # @return [SearchCatalogPerformanceImpressionData]
  attribute(:impression_data, SearchCatalogPerformanceImpressionData, from: "impressionData")

  # @return [SearchCatalogPerformancePurchaseData]
  attribute(:purchase_data, SearchCatalogPerformancePurchaseData, from: "purchaseData")

  # @return [Date] The start date of the data for the ASIN that you specify in the asin property.
  attribute(:start_date, Date, from: "startDate")
end
SearchCatalogPerformanceClickData =

The search click data for your catalog.

Structure.new do
  # @return [Integer] The total number of clicks on the ASIN that originates from the search results page.
  attribute(:click_count, Integer, from: "clickCount")

  # @return [Float] The number of clicks divided by the number of impressions for the ASIN.
  attribute(:click_rate, Float, from: "clickRate")

  # @return [Money]
  attribute(:clicked_median_price, Money, from: "clickedMedianPrice")

  # @return [Integer] The number of times customers click on the ASIN with the one-day delivery message on the
  # search results page.
  attribute(:one_day_shipping_click_count, Integer, from: "oneDayShippingClickCount")

  # @return [Integer] The number of times customers click on the ASIN with the same day delivery message on the
  # search results page.
  attribute(:same_day_shipping_click_count, Integer, from: "sameDayShippingClickCount")

  # @return [Integer] The number of times customers click on the ASIN with the two-day delivery message on the
  # search results page.
  attribute(:two_day_shipping_click_count, Integer, from: "twoDayShippingClickCount")
end
SearchCatalogPerformanceCartAddData =

The search attributed cart-add data for your catalog.

Structure.new do
  # @return [Integer] The number of times customers add an ASIN to a cart. This data originates from the search
  # results page.
  attribute(:cart_add_count, Integer, from: "cartAddCount")

  # @return [Money]
  attribute(:cart_added_median_price, Money, from: "cartAddedMedianPrice")

  # @return [Integer] The number of times customers add an ASIN to a cart with the one-day delivery message in the
  # search results page.
  attribute(:one_day_shipping_cart_add_count, Integer, from: "oneDayShippingCartAddCount")

  # @return [Integer] The number of times customers add an ASIN to a cart with the same day delivery message in
  # the search results page.
  attribute(:same_day_shipping_cart_add_count, Integer, from: "sameDayShippingCartAddCount")

  # @return [Integer] The number of times customers add an ASIN to a cart with the two-day delivery message in the
  # search results page.
  attribute(:two_day_shipping_cart_add_count, Integer, from: "twoDayShippingCartAddCount")
end
SearchCatalogPerformancePurchaseData =

The search attributed purchase data for your catalog.

Structure.new do
  # @return [Float] The number of purchases divided by the number of clicks for the ASIN.
  attribute(:conversion_rate, Float, from: "conversionRate")

  # @return [Integer] The number of times customers purchase an ASIN with the one-day delivery message in the
  # search results page.
  attribute(:one_day_shipping_purchase_count, Integer, from: "oneDayShippingPurchaseCount")

  # @return [Integer] The total number of purchases for an ASIN. This data originates from the search results
  # page.
  attribute(:purchase_count, Integer, from: "purchaseCount")

  # @return [Money]
  attribute(:purchase_median_price, Money, from: "purchaseMedianPrice")

  # @return [Integer] The number of times customers purchase an ASIN with the same day delivery message in the
  # search results page.
  attribute(:same_day_shipping_purchase_count, Integer, from: "sameDayShippingPurchaseCount")

  # @return [Money]
  attribute(:search_traffic_sales, Money, from: "searchTrafficSales")

  # @return [Integer] The number of times customers purchase an ASIN with the two-day delivery message in the
  # search results page.
  attribute(:two_day_shipping_purchase_count, Integer, from: "twoDayShippingPurchaseCount")
end
SearchCatalogPerformanceImpressionData =

The search impression data for your catalog.

Structure.new do
  # @return [Integer] Total number of impressions for the given ASIN, which originates from the search results
  # page across all search queries. Amazon counts an impression every time the ASIN displays in the search results
  # page. Impressions include sponsored search results.
  attribute(:impression_count, Integer, from: "impressionCount")

  # @return [Money]
  attribute(:impression_median_price, Money, from: "impressionMedianPrice")

  # @return [Integer] The number of times the impressed ASIN displays with the one-day delivery message in a
  # search results page.
  attribute(:one_day_shipping_impression_count, Integer, from: "oneDayShippingImpressionCount")

  # @return [Integer] The number of times the impressed ASIN displays with the same day delivery message in a
  # search results page.
  attribute(:same_day_shipping_impression_count, Integer, from: "sameDayShippingImpressionCount")

  # @return [Integer] The number of times the impressed ASIN displays with the two-day delivery message in a
  # search results page.
  attribute(:two_day_shipping_impression_count, Integer, from: "twoDayShippingImpressionCount")
end

Class Method Summary collapse

Class Method Details

.parse(hash) ⇒ Object



15
16
17
# File 'lib/peddler/reports/selling_partner_search_catalog_performance.rb', line 15

def parse(hash)
  Report.parse(hash)
end