Conversions API
Register conversions when users complete desired actions.
Endpoint
POST https://api.gettrack.link/api/conversions
This endpoint does not require authentication. Anyone with a valid click_id can register a conversion.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| click_id | string | Yes | The click_id from the tracked link URL |
| external_user_id | string | No | Your internal user/customer ID |
| user_name | string | No | The user's name |
| user_email | string | No | The user's email address |
Example Request
curl -X POST "https://api.gettrack.link/api/conversions" \
-H "Content-Type: application/json" \
-d '{
"click_id": "abc123-def456-ghi789",
"external_user_id": "cust_12345",
"user_name": "Jane Smith",
"user_email": "[email protected]"
}'Success Response
Status: 201 Created
{
"success": true,
"conversion": {
"id": "conv_xyz789",
"click_id": "abc123-def456-ghi789",
"external_user_id": "cust_12345",
"user_name": "Jane Smith",
"user_email": "[email protected]",
"created_at": "2025-12-17T15:30:00Z"
}
}Error Responses
400 Bad Request
Missing required click_id field.
{
"statusCode": 400,
"message": "click_id is required"
}404 Not Found
The click_id does not exist.
{
"statusCode": 404,
"message": "Click not found"
}409 Conflict
A conversion already exists for this click.
{
"statusCode": 409,
"message": "Conversion already registered for this click"
}JavaScript Example
async function registerConversion(clickId, user) {
const response = await fetch('https://api.gettrack.link/api/conversions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
click_id: clickId,
external_user_id: user.id,
user_name: user.name,
user_email: user.email,
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.message);
}
return response.json();
}
// Usage
const clickId = localStorage.getItem('tracklink_click_id');
if (clickId) {
await registerConversion(clickId, {
id: 'cust_123',
name: 'John Doe',
email: '[email protected]'
});
localStorage.removeItem('tracklink_click_id');
}Conversion Object
{
"id": "conv_xyz789",
"click_id": "abc123-def456-ghi789",
"external_user_id": "cust_12345",
"user_name": "Jane Smith",
"user_email": "[email protected]",
"host": "example.com",
"page_url": "https://example.com/checkout/success",
"created_at": "2025-12-17T15:30:00Z"
}Notes
- Each click can only have one conversion registered
- Conversion data is visible in the link detail page
- Conversion rate is calculated as: (conversions / unique clicks) * 100
- The click_id is passed as a query parameter when users click tracked links