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
| Aspect | Conversion | Microconversion |
|---|---|---|
| Purpose | Goal completion | Progress/engagement |
| Monetary value | Yes (amount parameter) | No |
| Function | sealmetrics.conv() | sealmetrics.micro() |
| Examples | Purchase, signup, lead | Add 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 names —
product_idnotpid - Be consistent — Use the same property names across your site
- Don't include PII — No email addresses, phone numbers, etc.
Troubleshooting
Conversions not appearing
- Check the browser Network tab for requests to
t.sealmetrics.com - Verify your Account ID is correct
- Wait 1-2 minutes and check the Real-time report
- Ensure the domain is authorized in your SealMetrics account
Duplicate conversions
- Implement deduplication (see E-commerce Guide)
- Only fire the conversion once per order
- Use server-side flags to mark orders as tracked
Next Steps
- Conversions Reference — Complete conversion API
- Microconversions Reference — Complete microconversion API
- E-commerce Setup — Full e-commerce implementation
- Google Tag Manager — Track via GTM