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

campaign.mdskills/amazon-ads-reporting/references/reports/sb/

Sponsored Brands Campaign mapping

Equivalent to v3 Sponsored_Brands_Campaign_report — 56 v3 columns mapped to v1 fields (largest report in the series)

Summary

This template replicates the v3 Sponsored Brands Campaign report on the Amazon Ads API v1 cross-product reporting endpoint (CreateReport). With 56 v3 columns this is the largest report in the series — it combines the full SB Keyword metric set with NTB DPV breakdown, ATC suite, Branded Search breakdown, Brand Store page views, and Long-Term Sales/ROAS at the campaign grain.

53 of 56 v3 columns map cleanly to v1 fields; 3 are derived client-side (ACOS, click-only ACOS, % of units NTB).

The 56-field payload 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

  • portfolio.portfolioId
  • portfolio.name
  • campaign.id
  • campaign.name
  • campaign.currencyCode
  • campaign.costType
  • country.code
  • country.name

Required supporting field

  • budgetCurrency.value

Delivery metrics

  • metric.impressions
  • metric.viewableImpressions
  • metric.clicks
  • metric.ctr
  • metric.vctr
  • metric.cpc
  • metric.vcpm
  • metric.totalCost
  • metric.roas

Video metrics

  • metric.firstQuartileVideoAd
  • metric.midpointVideoAd
  • metric.thirdQuartileVideoAd
  • metric.completeViewsVideoAd
  • metric.unmutesVideoAd
  • metric.5secondViewsVideoAd
  • metric.5secondViewRateVideoAd
  • metric.completionRateVideoAd

All-attribution conversion (14-day)

  • metric.sales
  • metric.purchases
  • metric.unitsSold
  • metric.purchaseRateOverClicks
  • metric.purchaseRate

Brand engagement (all-attribution)

  • metric.brandedSearches
  • metric.detailPageViews

New-to-brand

  • metric.newToBrandPurchases
  • metric.newToBrandSales
  • metric.newToBrandUnitsSold
  • metric.percentOfPurchasesNewToBrand
  • metric.percentOfSalesNewToBrand
  • metric.newToBrandPurchaseRate

Click-only attribution variants

  • metric.salesFromClicks
  • metric.purchasesFromClicks
  • metric.unitsSoldFromClicks
  • metric.roasFromClicks

NTB DPV breakdown (click-attributed only in this report)

  • metric.newToBrandDetailPageViews
  • metric.newToBrandDetailPageViewsFromClicks
  • metric.newToBrandDetailPageViewRate
  • metric.costPerNewToBrandDetailPageView

Brand Store page views

  • metric.brandStorePageViews

Add to Cart suite (click-attributed only in this report)

  • metric.addToCart
  • metric.addToCartFromClicks
  • metric.addToCartRate
  • metric.costPerAddToCart

Branded Searches breakdown (click-attributed only in this report)

  • metric.brandedSearchesFromClicks
  • metric.brandedSearchRate
  • metric.costPerBrandedSearch

Long-term metrics

  • metric.longTermSales
  • metric.longTermRoas

Filter (limits the report to SB)

  • adProduct.value = SPONSORED_BRANDS

v3 → v1 field mapping

v3 Column (Sponsored_Brands_Campaign)v1 field_idRoleNotes
Datedate.valueTime dimensionRequired time dimension.
Portfolio nameportfolio.nameDimensionPair with portfolio.portfolioId.
—portfolio.portfolioIdDimensionStable join key.
Currencycampaign.currencyCodeDimensionPair with budgetCurrency.value.
Campaign Namecampaign.nameDimensionPair with campaign.id.
—campaign.idDimensionStable join key.
Cost typecampaign.costTypeDimensionCPC / CPM / vCPM. Native dimension in v1.
Countrycountry.nameDimensionPair with country.code.
—country.codeDimensionISO country code.
—budgetCurrency.valueRequired supportv1 minimal-baseline supporting field.
Impressionsmetric.impressionsMetricDirect.
Clicksmetric.clicksMetricDirect.
Click-Thru Rate (CTR)metric.ctrMetricDirect.
Cost Per Click (CPC)metric.cpcMetricDirect.
Spendmetric.totalCostMetricv1 renames 'spend' to totalCost.
Total ACOS(derive client-side)DerivedtotalCost / NULLIF(sales, 0) or 1 / roas.
Total ROASmetric.roasMetricDirect.
14 Day Total Salesmetric.salesMetric14-day window is set on the report request.
14 Day Total Orders (#)metric.purchasesMetricEquivalent — orders → purchases.
14 Day Total Units (#)metric.unitsSoldMetricDirect.
14 Day Conversion Ratemetric.purchaseRateOverClicks (or metric.purchaseRate)MetricpurchaseRateOverClicks = purchases/clicks (typical SB UI default); purchaseRate = purchases/impressions. Both included so the warehouse can pick.
Viewable Impressionsmetric.viewableImpressionsMetricDirect.
Cost per 1,000 viewable impressions (VCPM)metric.vcpmMetricDirect.
View-Through Rate (VTR)metric.completionRateVideoAd (closest)Metric — definition-dependentv1 has no metric.vtr or metric.viewThroughRate. Pick metric.completionRateVideoAd (full play) or metric.5secondViewRateVideoAd (5-second view rate) per your downstream definition. Both are in the request for safety.
Click-Through Rate for Views (vCTR)metric.vctrMetricv1 calls this 'Viewable CTR' — clicks / viewable impressions.
Video First Quartile Viewsmetric.firstQuartileVideoAdMetricDirect — 25% played.
Video Midpoint Viewsmetric.midpointVideoAdMetricDirect — 50% played.
Video Third Quartile Viewsmetric.thirdQuartileVideoAdMetricDirect — 75% played.
Video Complete Viewsmetric.completeViewsVideoAdMetricDirect.
Video Unmutesmetric.unmutesVideoAdMetricDirect.
5 Second Viewsmetric.5secondViewsVideoAdMetricDirect.
5 Second View Ratemetric.5secondViewRateVideoAdMetricDirect.
14 Day Branded Searchesmetric.brandedSearchesMetricDirect — all-attribution branded searches.
14 Day Detail Page Views (DPV)metric.detailPageViewsMetricDirect — all-attribution DPV.
14 Day New-to-brand Orders (#)metric.newToBrandPurchasesMetricDirect.
14 Day % of Orders New-to-brandmetric.percentOfPurchasesNewToBrandMetricDirect.
14 Day New-to-brand Salesmetric.newToBrandSalesMetricDirect.
14 Day % of Sales New-to-brandmetric.percentOfSalesNewToBrandMetricDirect.
14 Day New-to-brand Units (#)metric.newToBrandUnitsSoldMetricDirect.
14 Day % of Units New-to-brand(derive client-side)Derivedv1 has no metric.percentOfUnitsNewToBrand. Compute as newToBrandUnitsSold / NULLIF(unitsSold, 0).
14 Day New-to-brand Order Ratemetric.newToBrandPurchaseRateMetricDirect.
Total ACOS - (Click)(derive client-side)DerivedtotalCost / NULLIF(salesFromClicks, 0).
Total ROAS - (Click)metric.roasFromClicksMetricDirect.
14 Day Total Sales - (Click)metric.salesFromClicksMetricDirect.
14 Day Total Orders (#) - (Click)metric.purchasesFromClicksMetricDirect.
14 Day Total Units (#) - (Click)metric.unitsSoldFromClicksMetricDirect.
New-to-brand detail page viewsmetric.newToBrandDetailPageViewsMetricDirect — all-attribution NTB DPV.
New-to-brand detail page view click-through conversionsmetric.newToBrandDetailPageViewsFromClicksMetricClick-attributed NTB DPV. Note: this v3 report omits the view-attributed variant; v1 has it (metric.newToBrandDetailPageViewsFromViews) if you want to add it.
New-to-brand detail page view ratemetric.newToBrandDetailPageViewRateMetricDirect — NTB DPV / impressions.
Effective cost per new-to-brand detail page viewmetric.costPerNewToBrandDetailPageViewMetricDirect.
Brand Store page viewsmetric.brandStorePageViewsMetricDirect equivalent — visits to the advertiser's brand store page attributed to an ad interaction. Distinct from metric.detailPageViews (product detail page) — brand stores are the curated brand pages SB ads typically link to.
14 Day ATCmetric.addToCartMetricDirect — total Add to Cart events.
14 Day ATC Clicksmetric.addToCartFromClicksMetricClick-attributed ATC. Note: this v3 report omits the view-attributed variant; v1 has it (metric.addToCartFromViews).
14 Day ATCRmetric.addToCartRateMetricDirect — ATC / impressions.
Effective cost per Add to Cart (eCPATC)metric.costPerAddToCartMetricDirect.
Branded Searches click-through conversionsmetric.brandedSearchesFromClicksMetricClick-attributed branded searches. Note: this v3 report omits the view-attributed variant; v1 has it (metric.brandedSearchesFromViews).
Branded Searches Ratemetric.brandedSearchRateMetricDirect — branded searches / impressions.
Effective cost per Branded Searchmetric.costPerBrandedSearchMetricDirect.
Long-Term Salesmetric.longTermSalesMetricDirect — projected 12-month sales from incremental NTB shopper engagement driven by the campaign.
Long-Term ROASmetric.longTermRoasMetricDirect — long-term sales / total cost.

Yellow rows are derived client-side or have multiple valid mappings.

Critical differences from the v3 report

ChangeWhat it means for the request
Filter on adProduct.value = SPONSORED_BRANDSThe v1 endpoint is shared across all ad products.
'Brand Store page views' is metric.brandStorePageViews — a distinct metric from DPVv1 distinguishes brand-store pages (the advertiser's curated brand storefront, where SB ads typically click through to) from product detail pages (the regular ASIN page). metric.brandStorePageViews counts visits to brand-store pages; metric.detailPageViews counts visits to product detail pages. v1 also exposes metric.brandStorePageViewsFromClicks / *FromViews / metric.brandStorePageViewRate / metric.costPerBrandStorePageView if you want the full breakdown.
v3 surfaces ONLY click-attributed variants of NTB DPV / ATC / Branded SearchThe SB Campaign report's NTB DPV breakdown, ATC suite, and Branded Search breakdown all omit the view-attributed variants — only click-attributed columns are shown (e.g. 'NTB DPV click-through conversions' but no 'view-through conversions' counterpart). v1 has both: metric.newToBrandDetailPageViewsFromViews, metric.addToCartFromViews, metric.brandedSearchesFromViews. Add them if you want symmetric click+view breakdowns. The SD Campaign report carries both for comparison.
No metric.acos field — applies to BOTH all-attr and click-onlyCompute totalCost / NULLIF(sales, 0) and totalCost / NULLIF(salesFromClicks, 0).
No 'View-Through Rate' field — definition-dependentPick metric.completionRateVideoAd or metric.5secondViewRateVideoAd based on your VTR definition. The template includes both for safety.
No 'conversion rate' field — choose by definitionmetric.purchaseRateOverClicks for orders/clicks (typical SB UI default); metric.purchaseRate for purchases/impressions. Both included.
No metric.percentOfUnitsNewToBrand fieldv1 has the % for sales and orders, but not units. Derive: newToBrandUnitsSold / NULLIF(unitsSold, 0).
Long-Term Sales / ROAS — direct mappingmetric.longTermSales is the 12-month projected sales from incremental NTB shopper engagement; metric.longTermRoas = longTermSales / totalCost. These are forward-looking model estimates, not realized revenue.
Attribution windows leave the field namev3's '14 Day' prefix is gone; the 14-day window is set on the report request itself.
'Spend' → metric.totalCostRenamed across all ad products in v1.

Operational notes

  • VTR definition: confirm with consumers whether VTR means completion (full play) or 5-second view. The template carries both metric.completionRateVideoAd AND metric.5secondViewRateVideoAd — drop whichever isn't needed.

  • Conversion rate definition: SB UIs typically use orders/clicks → metric.purchaseRateOverClicks. Drop metric.purchaseRate if you don't need the impressions-denominated alternative.

  • Long-Term Sales / ROAS: these are PROJECTED 12-month metrics derived from NTB shopper-engagement modeling. Treat as forward-looking estimates rather than realized revenue.

  • Adding view-attributed variants: this v3 report omits the view-attributed columns of NTB DPV, ATC, and Branded Search, but v1 has them — metric.newToBrandDetailPageViewsFromViews, metric.addToCartFromViews, metric.brandedSearchesFromViews are all valid additions to symmetrize the breakdowns. Useful if downstream consumers want full click+view comparison alongside the click-only columns the v3 report carries.

  • Derivations to materialize in the warehouse: acos = totalCost / NULLIF(sales, 0); acosClickOnly = totalCost / NULLIF(salesFromClicks, 0); percentOfUnitsNewToBrand = newToBrandUnitsSold / NULLIF(unitsSold, 0). Persist raw inputs alongside the views.

  • Reusing this template: this is the canonical SB campaign-grain template. The SB Campaign Placement report is essentially this report with placementClassification.value added; the SB Keyword report is this report at finer grain (target.value + target.matchType added, country dropped if not needed).

skills

LICENSE.md

README.md

tile.json