Skip to main content
The Items report shows which products drive the most revenue — broken down by name, brand, category, SKU, and variant. It populates from the items array you pass inside conversion events.

How it works

Hardal extracts item data from any event that includes an items array: purchase, add_to_cart, view_item, begin_checkout, and others. The Items report aggregates this across all purchases.

What your events need

Include an items array in your purchase event at minimum. The more fields you provide, the richer the breakdown.
hardal.track("purchase", {
  transaction_id: "TXN-789",
  value: 149.99,
  currency: "USD",
  items: [
    {
      item_id: "SKU-001",           // required — unique product ID
      item_name: "Wireless Headphones",  // required — product name
      item_brand: "Acme Audio",
      item_category: "Electronics",
      item_category2: "Audio",
      item_category3: "Headphones",
      item_sku: "WH-100",
      price: 99.99,                 // required — unit price
      quantity: 1,                  // required — units purchased
      item_first_price: 129.99,     // original price before discount
      item_tax: 8.00,
      item_variant: "Black",
      item_variant_id: "WH-100-BLK"
    },
    {
      item_id: "SKU-002",
      item_name: "USB-C Cable",
      item_brand: "Acme Cables",
      item_category: "Accessories",
      price: 9.99,
      quantity: 2,
      item_sku: "UC-10"
    }
  ]
});

Required vs optional fields

FieldRequiredDescription
item_idYesUnique product identifier
item_nameYesProduct name
priceYesUnit price at time of purchase
quantityYesNumber of units
item_brandNoBrand name
item_categoryNoPrimary category
item_category2NoSecondary category
item_category3NoTertiary category
item_skuNoStock keeping unit
item_variantNoVariant name (e.g. colour, size)
item_variant_idNoUnique variant identifier
item_first_priceNoOriginal price before discounts
item_taxNoTax for this item

Common setup issues

SymptomLikely causeFix
Items report is emptyitems array missing from purchaseAdd items to your purchase event
Product revenue is wrongprice × quantity not matchingEnsure price is the unit price, not line total
Same product appears twiceDifferent item_id values usedUse a consistent product identifier across all events
Categories not showingitem_category not passedAdd category fields to your items

View Items report

See your live product performance in the analytics dashboard