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:
json
{
"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:
```bash 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:
```bash 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:
html
<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:
bash
# When order completes
POST /api/conversions/track/{token}
{
"value": 149.99,
"currency": "USD",
"order_id": "ORD-12345"
}
2. Lead Generation
Track signups from campaigns:
bash
POST /api/conversions/track/{token}
{
"value": 25.00,
"currency": "USD",
"order_id": "LEAD-67890"
}
3. App Install Tracking
Track mobile app installs:
bash
POST /api/conversions/track/{token}
{
"value": 5.00,
"currency": "USD"
}
Integration Examples
JavaScript Integration
javascript
// 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 <?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
ruby
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
```bash # 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:
```markdown # 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