Conversion Tracking Guide

Public Document Documentation

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

  1. Go to DashboardAnalytics on a link
  2. Click Manage Goals
  3. Or go directly to Conversion Goals

Step 2: Create New Goal

  1. Click Create Conversion Goal
  2. 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.