CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

kuudoai/kuudo-skills

22 Agent Skills for Amazon sellers and advertisers: Sponsored Products and Brands audits, search-term mining, budget pacing, DSP and Amazon Marketing Cloud, reporting, listing optimization and compliance, product images, repricing, FBA inbound, stockout, refunds, buyer messaging, and profitability. Built for Kuudo's hosted Amazon Ads and Selling Partner MCP servers; price, budget, listing, and shipment writes are previewed and wait for explicit approval.

68

1.65x
Quality

93%

Does it follow best practices?

Impact

66%

1.65x

Average score across 22 eval scenarios

SecuritybySnyk

Medium

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

video.mdskills/amazon-ads-reporting/references/reports/sp/

Amazon Ads API v1 Report Template

Equivalent to v3 Sponsored_Products_Video_report — 25 v3 columns mapped to v1 fields

Summary

This template replicates the v3 Sponsored Products Video report on the Amazon Ads API v1 cross-product reporting endpoint (CreateReport). Field names changed substantially: 'spend' is now totalCost, ACOS is no longer a native metric (derive from ROAS or totalCost/sales), the '7 Day' prefix is dropped from sales/orders/units (the attribution window is set on the report request), and the SP-specific endpoint is replaced by a single endpoint that filters on adProduct.value = SPONSORED_PRODUCTS.

The field list below was validated against the packaged v1 catalog: zero unknown fields, zero missing required, zero incompatible pairs.

Field list (grouped by role)

Time dimension (exactly one required)

  • date.value

Level-of-detail dimensions

  • campaign.id
  • campaign.name
  • adGroup.id
  • adGroup.name
  • ad.id
  • ad.name
  • ad.format
  • country.code
  • country.name
  • advertisedProduct.id
  • advertisedProduct.sku
  • advertisedProduct.marketplace

Required supporting field

  • budgetCurrency.value

Delivery metrics

  • metric.impressions
  • metric.clicks
  • metric.ctr
  • metric.cpc
  • metric.totalCost

Attributed conversion metrics

  • metric.sales
  • metric.purchases
  • metric.unitsSold
  • metric.salesPromoted
  • metric.salesHalo
  • metric.purchasesPromoted
  • metric.purchasesHalo
  • metric.unitsSoldPromoted
  • metric.unitsSoldHalo
  • metric.roas

Video metrics

  • metric.5secondViewsVideoAd
  • metric.5secondViewRateVideoAd

Filter (not a field — limits the report to SP)

  • adProduct.value = SPONSORED_PRODUCTS

v3 → v1 field mapping

v3 Column (Sponsored_Products_Video_report)v1 field_idRoleNotes
Datedate.valueTime dimensionRequired time dimension.
Campaign Namecampaign.nameDimensionPair with campaign.id (primary key).
—campaign.idDimensionStable join key.
Ad Group NameadGroup.nameDimensionPair with adGroup.id.
—adGroup.idDimensionStable join key.
Countrycountry.nameDimensionUse country.code for ISO joins.
—country.codeDimensionISO country code.
Video Detailsad.name + ad.formatDimensionv1 has no single 'Video Details' field. ad.format identifies video creatives; ad.name is the creative label. Add ad.id as the stable PK.
—ad.idDimensionCreative-level primary key.
Advertised SKUadvertisedProduct.skuDimensionDirect equivalent.
Advertised ASINadvertisedProduct.idDimensionASIN is the v1 primary key for advertised product.
—advertisedProduct.marketplaceDimensionDistinguishes the same ASIN across EU/NA marketplaces.
—budgetCurrency.valueRequired supportv1 minimal-baseline supporting field for currency-denominated metrics.
Impressionsmetric.impressionsMetricDirect.
Clicksmetric.clicksMetricDirect.
Click-Thru Rate (CTR)metric.ctrMetricDirect.
Cost Per Click (CPC)metric.cpcMetricDirect.
Spendmetric.totalCostMetricv1 renames 'spend' to totalCost across all ad products.
7 Day Total Salesmetric.salesMetricv1 attribution window is set on the report request, not encoded in the field name. Configure 7-day window via the report's attribution settings.
7 Day Total Orders (#)metric.purchasesMetricEquivalent — orders → purchases.
7 Day Total Units (#)metric.unitsSoldMetricDirect.
7 Day Advertised SKU Salesmetric.salesPromotedMetricPromoted = sales of the SKU directly advertised.
7 Day Other SKU Salesmetric.salesHaloMetricHalo = sales of other SKUs from the same brand.
7 Day Advertised SKU Orders (#)metric.purchasesPromotedMetricPromoted purchases.
7 Day Other SKU Orders (#)metric.purchasesHaloMetricHalo purchases.
7 Day Advertised SKU Units (#)metric.unitsSoldPromotedMetricPromoted units sold.
7 Day Other SKU Units (#)metric.unitsSoldHaloMetricHalo units sold.
Total Return on Advertising Spend (ROAS)metric.roasMetricDirect.
Total Advertising Cost of Sales (ACOS)(derive client-side)Derivedv1 has no metric.acos — the validate API explicitly returns 'unknown_fields' for it. Compute as totalCost / sales (or 1 / roas).
5 Second Viewmetric.5secondViewsVideoAdMetricDirect.
5 Second View Ratemetric.5secondViewRateVideoAdMetricDirect.

Critical differences from the v3 report

ChangeWhat it means for the request
No metric.acos fieldv1 does not expose ACOS as a native metric. The catalog's validate endpoint flags metric.acos as unknown and suggests metric.roas as the replacement. ACOS = totalCost / sales (or 1 / roas) — derive in the consumer.
'Spend' is renamed to metric.totalCostAcross all ad products in v1. The legacy 'spend' field name is unknown to v1 and is replaced by totalCost (CURRENCY type).
Attribution window moves out of the field nameThe v3 '7 Day' prefix on Sales/Orders/Units does not exist in v1 field names. metric.sales is the same logical metric — the 7-day window is configured on the report request itself.
No 'Video Details' dimensionv1 exposes the creative through the ad.* dimension family: ad.id (primary key), ad.name (creative label), ad.format (video / image / etc.), ad.size.
Advertised product is its own dimension familyadvertisedProduct.id (= ASIN), advertisedProduct.sku, advertisedProduct.marketplace — the marketplace dimension lets a single ASIN be split across EU country marketplaces.
Filter on adProduct.value, not on a separate report typeThe v3 endpoint had a separate /sp/video report. In v1 there is one cross-product report endpoint; restrict to Sponsored Products with the adProduct.value filter (use 'sponsoredProducts.adProduct' is wrong — the correct field is adProduct.value).
accessRequestedAccounts uses advertiser account IDsPass amzn1.ads-account.g.* IDs, NOT legacy numeric profile IDs. Resolve a profileId via the advertiser-account query operation first.
Asynchronous report creationCreateReport returns a report ID. Retrieve it with bounded polling or the host's task/wait facility, then download every completed part.

Operational notes

  • ACOS derivation: in the destination warehouse, compute acos = totalCost / NULLIF(sales, 0). Store as a view alongside the raw metric.totalCost and metric.sales columns rather than mixing derived columns into the load.

  • Adding the 'campaign budget type' or 'placement' to the grain is supported — extend query.fields with campaign.budgetType, placement.value, etc., and re-run validate.

skills

LICENSE.md

README.md

tile.json