Conversion Tracking Guide
Track conversions and measure campaign effectiveness
Related Document: A/B Testing Guide
Combine with A/B testing for optimal results
Conversion Tracking Guide
Track conversions and measure campaign effectiveness
Overview
PVTLNK’s conversion tracking allows you to:
- Measure campaign success - Track actions taken after clicking links
- Attribute conversions - Know which links drive results
- Optimize campaigns - Focus on highest-performing sources
Requirements
| Plan | Availability |
|---|---|
| Starter | ❌ Not available |
| Pro | ✅ Available |
| Enterprise | ✅ Available |
Key Concepts
Conversion Goals
A conversion goal defines what action you want to track:
| Goal Type | Example |
|---|---|
| Purchase | User completes a sale |
| Signup | User creates an account |
| Download | User downloads a file |
| Custom | Any action you define |
Attribution Window
The time period after a click during which conversions are attributed:
| Plan | Default Window | Customizable |
|---|---|---|
| Pro | 30 days | ❌ No |
| Enterprise | 30 days | ✅ Yes |
Creating a Conversion Goal
Step 1: Navigate to Goals
- Go to Dashboard → Analytics on a link
- Click Manage Goals
- Or go directly to Conversion Goals
Step 2: Create New Goal
- Click Create Conversion Goal
- Fill in the details:
| Field | Description |
|---|---|
| Name | Descriptive name (e.g., “Q1 Sale”) |
| Goal Type | Purchase, Signup, Download, Custom |
| Value | Default conversion value (optional) |
| Postback URL | URL to receive conversion notifications |
Step 3: Configure Postback (Optional)
Set up a postback URL to receive real-time notifications:
https://your-server.com/webhook/pvtlnk
PVTLNK will send a POST request when a conversion occurs:
{
"event": "conversion.tracked",
"conversion_id": "abc123",
"link_id": 456,
"click_id": 789,
"value": 99.99,
"currency": "USD",
"timestamp": "2026-01-21T12:00:00Z"
}
Tracking Conversions
Method 1: Postback URL
When users complete a conversion, your system calls the postback:
POST https://pvtlnk.com/api/conversions/track/{POSTBACK_TOKEN}
Content-Type: application/json
{
"value": 99.99,
"currency": "USD",
"order_id": "ORDER-12345",
"click_id": 789
}
Method 2: Auto-Attribution
PVTLNK can automatically attribute conversions by IP and user agent:
POST https://pvtlnk.com/api/conversions/track/{POSTBACK_TOKEN}
Content-Type: application/json
{
"value": 49.99,
"currency": "EUR"
// click_id optional - will be auto-detected
}
Method 3: Pixel Integration
Add a tracking pixel to your conversion page:
<img src="https://pvtlnk.com/api/conversions/track/{POSTBACK_TOKEN}?value=99.99&order_id=ORDER-123"
width="1" height="1" />
Understanding Metrics
Dashboard Metrics
| Metric | Description |
|---|---|
| Conversions | Total conversions tracked |
| Conversion Rate | Conversions / Clicks × 100 |
| Total Value | Sum of all conversion values |
| Average Value | Total value / Conversions |
| Time to Convert | Average time from click to conversion |
Attribution Windows
| Click Day | Conversion Day | Attributed? |
|---|---|---|
| Day 1 | Day 1 | ✅ Yes |
| Day 1 | Day 5 | ✅ Yes (within window) |
| Day 1 | Day 35 | ❌ No (outside window) |
Common Use Cases
1. E-commerce Sales
Track purchases from marketing links:
# When order completes
POST /api/conversions/track/{token}
{
"value": 149.99,
"currency": "USD",
"order_id": "ORD-12345"
}
2. Lead Generation
Track signups from campaigns:
POST /api/conversions/track/{token}
{
"value": 25.00,
"currency": "USD",
"order_id": "LEAD-67890"
}
3. App Install Tracking
Track mobile app installs:
POST /api/conversions/track/{token}
{
"value": 5.00,
"currency": "USD"
}
Integration Examples
JavaScript Integration
// After successful conversion
fetch('https://pvtlnk.com/api/conversions/track/YOUR_TOKEN', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
value: orderTotal,
currency: 'USD',
order_id: orderId
})
});
PHP Integration
<?php
$postbackUrl = 'https://pvtlnk.com/api/conversions/track/YOUR_TOKEN';
$data = [
'value' => 99.99,
'currency' => 'USD',
'order_id' => 'ORD-12345'
];
$ch = curl_init($postbackUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_exec($ch);
?>
Ruby on Rails Integration
class ConversionTrackerJob < ApplicationJob
def perform(postback_token, conversion_data)
HTTParty.post(
"https://pvtlnk.com/api/conversions/track/#{postback_token}",
body: conversion_data.to_json,
headers: { 'Content-Type' => 'application/json' }
)
end
end
API Integration
# List conversion goals
GET /api/v1/conversions/goals
# Create conversion goal
POST /api/v1/conversions/goals
{
"goal": {
"name": "Q1 Sales",
"goal_type": "purchase",
"value": 99.00,
"currency": "USD"
}
}
# Get conversion analytics
GET /api/v1/analytics/conversions?link_id=123&days=30
# Track conversion (server-side)
POST /api/v1/conversions/track
{
"postback_token": "abc123",
"value": 49.99,
"currency": "USD",
"order_id": "ORDER-123"
}
Best Practices
1. Set Clear Goals
Define what success looks like before starting:
# Conversion Goal: Newsletter Signup
- **Definition:** User submits signup form
- **Value:** $5.00 (estimated LTV)
- **Target:** 10% conversion rate
- **Attribution Window:** 7 days
2. Track Multiple Conversions
Set up goals for different funnel stages:
| Goal | Funnel Stage |
|---|---|
| Landing Page View | Top of funnel |
| Signup Started | Middle of funnel |
| Signup Complete | Bottom of funnel |
| First Purchase | Conversion |
3. Use UTM Parameters
Combine UTM tracking with conversion goals:
?utm_source=facebook&utm_medium=cpc&utm_campaign=winter_sale
Then track which campaigns drive the most conversions.
Troubleshooting
| Issue | Solution |
|---|---|
| No conversions tracked | Verify postback URL is being called |
| Wrong attribution | Check attribution window settings |
| Duplicate conversions | Use order_id to prevent duplicates |
| Low conversion rate | Review landing page experience |
FAQ
Q: Can I track partial conversions?
A: Yes, track each step of your funnel separately.
Q: How long is the default attribution window?
A: 30 days for all plans.
Q: Can I set different windows per goal?
A: Yes, Enterprise users can customize per goal.
Q: What’s the rate limit for conversion tracking?
A: 1,000 requests per minute.
Q: Can I export conversion data?
A: Yes, via the Analytics dashboard or API.
Related Documentation
- A/B Testing Guide - Combine with conversion tracking
- Analytics Overview - Understand your data
- API Documentation - Programmatic tracking