Skip to content

Track Add to Cart

Call trackAddToCart() when a customer adds a product to their cart to track purchase intent.


Usage

javascript
<script>
  const cartData = {
    cartId: "cart_abc",            // Optional
    items: [
      {
        productId: "PROD-001",
        name: "Running Shoes",
        price: 44.99,
        quantity: 1,
        category: "Footwear",       // Optional
        sku: "SHOE-RUN-42"         // Optional
      }
    ]
  };

  AffiliateSDK.trackAddToCart(cartData);
</script>
php
<script>
  // Handled via WooCommerce AJAX event
  jQuery(document.body).on('added_to_cart', function(event, fragments, cart_hash, $button) {
    const productId = $button.data('product_id');
    const quantity = $button.data('quantity') || 1;
    
    const cartData = {
      items: [{
        productId: productId.toString(),
        quantity: quantity
      }]
    };

    if (window.AffiliateSDK) {
      window.AffiliateSDK.trackAddToCart(cartData);
    }
  });
</script>
liquid
<script>
  // Add to cart tracking for Shopify
  document.addEventListener('cart:add', function(event) {
    const item = event.detail.item;
    const cartData = {
      items: [{
        productId: item.product_id.toString(),
        name: item.product_title,
        price: item.price / 100,
        quantity: item.quantity
      }]
    };

    if (window.AffiliateSDK) {
      window.AffiliateSDK.trackAddToCart(cartData);
    }
  });
</script>
jsx
export default function ProductCard({ product }) {
  const handleAddToCart = () => {
    const cartData = {
      items: [
        {
          productId: product.id,
          name: product.name,
          price: product.price,
          quantity: 1
        }
      ]
    };

    if (window.AffiliateSDK) {
      window.AffiliateSDK.trackAddToCart(cartData);
    }
    
    // Your actual add-to-cart logic here
  };

  return <button onClick={handleAddToCart}>Add to Cart</button>;
}
vue
<script setup lang="ts">
const { product } = defineProps(['product']);

const onAddToCart = () => {
  const cartData = {
    items: [
      {
        productId: product.id,
        name: product.name,
        price: product.price,
        quantity: 1
      }
    ]
  };

  if (window.AffiliateSDK) {
    window.AffiliateSDK.trackAddToCart(cartData);
  }
};
</script>

<template>
  <button @click="onAddToCart">Add to Cart</button>
</template>

Released under the MIT License.