Developer Docs
JavaScript SDK
E-commerce Events

E-commerce Events

Track the full shopping funnel from product discovery to purchase. These events give ad platforms richer signal data for audience building and bid optimization.

Prerequisite: Make sure the SDK is installed on your page. See Installation for setup. For the final purchase event, see trackPurchase.


trackViewContent

Track when a user views a product or content page.

Convultra.trackViewContent({
  contentId: 'prod_001',
  contentName: 'Running Shoes - Ultralight Pro',
  value: 89.99,
  currency: 'USD'
})
ParameterTypeRequiredDescription
contentIdstringNoProduct or content identifier
contentNamestringNoProduct or content name
valuenumberNoProduct price or content value
currencystringNoISO 4217 currency code

trackAddToCart

Track when a user adds an item to their cart.

Convultra.trackAddToCart({
  productId: 'prod_001',
  productName: 'Running Shoes - Ultralight Pro',
  value: 89.99,
  quantity: 1,
  currency: 'USD'
})
ParameterTypeRequiredDescription
productIdstringNoProduct identifier
productNamestringNoProduct name
valuenumberNoItem price
quantitynumberNoNumber of items added
currencystringNoISO 4217 currency code

trackAddToWishlist

Track when a user adds an item to their wishlist or saved items.

Convultra.trackAddToWishlist({
  productId: 'prod_001',
  productName: 'Running Shoes - Ultralight Pro',
  value: 89.99,
  currency: 'USD'
})
ParameterTypeRequiredDescription
productIdstringNoProduct identifier
productNamestringNoProduct name
valuenumberNoItem price
currencystringNoISO 4217 currency code

trackBeginCheckout

Track when a user starts the checkout process.

Convultra.trackBeginCheckout({
  value: 169.97,
  currency: 'USD',
  items: [
    { id: 'prod_001', name: 'Running Shoes - Ultralight Pro', price: 89.99, quantity: 1 },
    { id: 'prod_044', name: 'Sport Socks 3-Pack', price: 19.99, quantity: 1 },
    { id: 'prod_112', name: 'Insole Comfort Gel', price: 59.99, quantity: 1 }
  ]
})
ParameterTypeRequiredDescription
valuenumberNoTotal checkout value
currencystringNoISO 4217 currency code
itemsarrayNoArray of items in the checkout

trackAddPaymentInfo

Track when a user adds payment information during checkout.

Convultra.trackAddPaymentInfo({
  value: 169.97,
  currency: 'USD',
  paymentType: 'credit_card'
})
ParameterTypeRequiredDescription
valuenumberNoOrder value
currencystringNoISO 4217 currency code
paymentTypestringNoPayment method (credit_card, paypal, apple_pay, etc.)

trackSearch

Track when a user performs a search on your site.

Convultra.trackSearch({
  searchTerm: 'running shoes lightweight',
  resultsCount: 24
})
ParameterTypeRequiredDescription
searchTermstringNoThe search query
resultsCountnumberNoNumber of results returned

Full funnel example

Here is a realistic e-commerce funnel tracking a customer from product discovery through purchase. Each call would be placed on the appropriate page or triggered by the corresponding user action.

Product page: View content

// User lands on a product page
Convultra.trackViewContent({
  contentId: 'prod_001',
  contentName: 'Running Shoes - Ultralight Pro',
  value: 89.99,
  currency: 'USD'
})

Product page: Add to cart

// User clicks "Add to Cart"
Convultra.trackAddToCart({
  productId: 'prod_001',
  productName: 'Running Shoes - Ultralight Pro',
  value: 89.99,
  quantity: 1,
  currency: 'USD'
})

Cart page: Begin checkout

// User clicks "Proceed to Checkout"
Convultra.trackBeginCheckout({
  value: 109.98,
  currency: 'USD',
  items: [
    { id: 'prod_001', name: 'Running Shoes - Ultralight Pro', price: 89.99, quantity: 1 },
    { id: 'prod_044', name: 'Sport Socks 3-Pack', price: 19.99, quantity: 1 }
  ]
})

Checkout page: Add payment info

// User enters credit card details and clicks "Continue"
Convultra.trackAddPaymentInfo({
  value: 109.98,
  currency: 'USD',
  paymentType: 'credit_card'
})

Confirmation page: Purchase

// Order completed — track the purchase
Convultra.trackPurchase({
  orderId: 'order_8842',
  value: 109.98,
  currency: 'USD',
  items: [
    { id: 'prod_001', name: 'Running Shoes - Ultralight Pro', price: 89.99, quantity: 1 },
    { id: 'prod_044', name: 'Sport Socks 3-Pack', price: 19.99, quantity: 1 }
  ]
})

SPA integration (React / Vue / Next.js)

In single-page applications, trigger e-commerce events from your component logic rather than page loads:

// React example: Add to Cart button
function ProductPage({ product }) {
  const handleAddToCart = () => {
    // Add to your cart state
    addToCart(product)
 
    // Track the event
    Convultra.trackAddToCart({
      productId: product.id,
      productName: product.name,
      value: product.price,
      quantity: 1,
      currency: 'USD'
    })
  }
 
  return (
    <button onClick={handleAddToCart}>
      Add to Cart
    </button>
  )
}
💡

Tip: Place Convultra calls after your application logic succeeds. Track addToCart after the item is actually added to state, track purchase after the order is confirmed by your backend — not before.