Skip to main content

Product Tracking

Bily provides comprehensive product tracking capabilities for e-commerce websites.

Product Events

type ProductEvent =
  | 'Product Viewed'
  | 'Product Added'
  | 'Product Removed'
  | 'Product Updated'
  | 'Category Viewed';

Product Object Structure

type Product = {
  id: string;
  name: string;
  price: number;
  category?: string;
  sku?: string;
  quantity?: number;
  variant?: string;
  brand?: string;
  metadata?: Record<string, any>;
};

Basic Product Tracking

Track Product View

import { track } from '@bilyai/browser';

track('Product Viewed', {
  products: [{
    id: 'prod_123',
    name: 'Wireless Headphones',
    price: 99.99,
    category: 'Electronics',
    brand: 'AudioTech'
  }]
});

Track Category View

track('Category Viewed', {
  category: 'Electronics',
  sourceUrl: window.location.href
});

React Integration

function ProductCard({ product }) {
  const bily = useBily();

  const handleViewDetails = () => {
    bily.track('Product Viewed', {
      products: [{
        id: product.id,
        name: product.name,
        price: product.price,
        category: product.category,
        brand: product.brand
      }]
    });
  };

  return (
    <div onClick={handleViewDetails}>
      <h2>{product.name}</h2>
      <p>${product.price}</p>
      <button>View Details</button>
    </div>
  );
}

Best Practices

  1. Always include product ID, name, and price
  2. Use consistent category names
  3. Include brand information when available
  4. Add relevant metadata for detailed analysis

Next Steps