Skip to main content

How to Measure Conversions

SealMetrics allows you to track both conversions (goal completions with monetary value) and microconversions (user interactions and funnel steps).


Quick Start

1. Install the Tracker

First, add the tracker to your website:

<script src="https://t.sealmetrics.com/t.js?id=YOUR_ACCOUNT_ID" defer></script>

2. Track a Conversion

Call sealmetrics.conv() when a conversion happens:

// Track a purchase
sealmetrics.conv('purchase', 99.99);

// Track a purchase with additional data
sealmetrics.conv('purchase', 99.99, {
order_id: 'ORD-12345',
currency: 'EUR'
});

3. Track a Microconversion

Call sealmetrics.micro() for user interactions:

// Track add-to-cart
sealmetrics.micro('add_to_cart');

// Track with additional data
sealmetrics.micro('add_to_cart', {
product_id: 'SKU-123',
product_name: 'Blue Shoes'
});

Conversions vs Microconversions

AspectConversionMicroconversion
PurposeGoal completionProgress/engagement
Monetary valueYes (amount parameter)No
Functionsealmetrics.conv()sealmetrics.micro()
ExamplesPurchase, signup, leadAdd to cart, video play, scroll

Conversion Examples

E-commerce Purchase

sealmetrics.conv('purchase', 149.99, {
order_id: 'ORD-2025-001234',
currency: 'EUR',
payment_method: 'credit_card'
});

Lead Form Submission

sealmetrics.conv('lead', 0, {
form_name: 'contact_form',
source: 'homepage'
});

Newsletter Signup

sealmetrics.conv('signup', 0, {
list: 'weekly_newsletter',
source: 'footer'
});

SaaS Subscription

sealmetrics.conv('subscription', 49, {
plan: 'pro_monthly',
currency: 'USD'
});

Microconversion Examples

Add to Cart

sealmetrics.micro('add_to_cart', {
product_id: 'SKU-456',
product_name: 'Running Shoes',
price: '89.99'
});

Checkout Step

sealmetrics.micro('begin_checkout', {
items_count: '3',
cart_value: '267.99'
});

Video Play

sealmetrics.micro('video_play', {
video_id: 'product-demo',
video_title: 'Product Tour'
});

Button Click

document.querySelector('.cta-button').addEventListener('click', function() {
sealmetrics.micro('cta_click', {
button_text: this.textContent,
button_location: 'hero'
});
});

Implementation Patterns

On Page Load (Thank You Page)

<script src="https://t.sealmetrics.com/t.js?id=YOUR_ACCOUNT_ID" defer></script>
<script>
window.addEventListener('load', function() {
sealmetrics.conv('purchase', 149.99, {
order_id: 'ORD-12345',
currency: 'EUR'
});
});
</script>

On Button Click

<button onclick="trackConversion()">Complete Purchase</button>

<script>
function trackConversion() {
sealmetrics.conv('purchase', 99.99, {
order_id: 'ORD-12345'
});
}
</script>

On Form Submit

<form onsubmit="trackLead()">
<!-- form fields -->
<button type="submit">Submit</button>
</form>

<script>
function trackLead() {
sealmetrics.micro('form_submit', {
form_name: 'contact'
});
}
</script>

Dynamic Values

From JavaScript Variables

var orderData = {
total: 149.99,
id: 'ORD-12345',
currency: 'EUR'
};

sealmetrics.conv('purchase', orderData.total, {
order_id: orderData.id,
currency: orderData.currency
});

From Server-Side (PHP)

<script>
window.addEventListener('load', function() {
sealmetrics.conv('purchase', <?php echo $order->total; ?>, {
order_id: '<?php echo $order->id; ?>',
currency: '<?php echo $order->currency; ?>'
});
});
</script>

From Data Attributes

<button
data-product-id="SKU-123"
data-product-name="Blue Shoes"
data-price="89.99"
onclick="trackAddToCart(this)"
>
Add to Cart
</button>

<script>
function trackAddToCart(btn) {
sealmetrics.micro('add_to_cart', {
product_id: btn.dataset.productId,
product_name: btn.dataset.productName,
price: btn.dataset.price
});
}
</script>

Checking if Tracker is Loaded

Always verify the tracker exists before calling it:

if (typeof sealmetrics !== 'undefined') {
sealmetrics.conv('purchase', 99.99);
}

Or wait for it to load:

window.addEventListener('load', function() {
if (typeof sealmetrics !== 'undefined') {
sealmetrics.conv('purchase', 99.99);
}
});

Property Guidelines

  • All values are strings — Numbers are automatically converted
  • Use descriptive namesproduct_id not pid
  • Be consistent — Use the same property names across your site
  • Don't include PII — No email addresses, phone numbers, etc.

Troubleshooting

Conversions not appearing

  1. Check the browser Network tab for requests to t.sealmetrics.com
  2. Verify your Account ID is correct
  3. Wait 1-2 minutes and check the Real-time report
  4. Ensure the domain is authorized in your SealMetrics account

Duplicate conversions

  1. Implement deduplication (see E-commerce Guide)
  2. Only fire the conversion once per order
  3. Use server-side flags to mark orders as tracked

Next Steps