Skip to content

Track Product View

Call trackProductDetailsViewed() on your product details page to track customer interest and engagement.


Usage

javascript
<script>
  const productData = {
    product: {
      productId: "PROD-001",
      name: "Running Shoes",
      price: 44.99,
      category: "Footwear",         // Optional
      sku: "SHOE-RUN-42"           // Optional
    }
  };

  AffiliateSDK.trackProductDetailsViewed(productData);
</script>
php
<?php
global $product;
if ( is_product() && $product ) :
?>
<script>
  const productData = {
    product: {
      productId: "<?php echo $product->get_id(); ?>",
      name: "<?php echo $product->get_name(); ?>",
      price: <?php echo $product->get_price(); ?>,
      category: "<?php echo wc_get_product_category_list( $product->get_id() ); ?>",
      sku: "<?php echo $product->get_sku(); ?>"
    }
  };

  if (window.AffiliateSDK) {
    AffiliateSDK.trackProductDetailsViewed(productData);
  }
</script>
<?php endif; ?>
liquid
<script>
  const productData = {
    product: {
      productId: "{{ product.id }}",
      name: "{{ product.title }}",
      price: {{ product.price | money_without_currency }},
      category: "{{ product.type }}",
      sku: "{{ product.selected_or_first_available_variant.sku }}"
    }
  };

  if (window.AffiliateSDK) {
    AffiliateSDK.trackProductDetailsViewed(productData);
  }
</script>
jsx
import { useEffect } from "react";

export default function ProductPage({ product }) {
  useEffect(() => {
    const productData = {
      product: {
        productId: product.id,
        name: product.name,
        price: product.price,
        category: product.category,
        sku: product.sku
      }
    };

    if (window.AffiliateSDK) {
      window.AffiliateSDK.trackProductDetailsViewed(productData);
    }
  }, [product]);

  return <h1>{product.name}</h1>;
}
vue
<script setup lang="ts">
const { product } = defineProps(['product']);

onMounted(() => {
  const productData = {
    product: {
      productId: product.id,
      name: product.name,
      price: product.price,
      category: product.category,
      sku: product.sku
    }
  };

  if (window.AffiliateSDK) {
    window.AffiliateSDK.trackProductDetailsViewed(productData);
  }
});
</script>

<template>
  <h1>{{ product.name }}</h1>
</template>

Released under the MIT License.