Version: 1.0 (first release)
Last updated: July 14th, 2026
1. Overview
Thribee's server-to-server (S2S) conversion tracking is now generally available to all clients. It allows you to send conversion events directly from your backend systems to Thribee via a secure API, as an alternative — or a complement — to the browser-based tracking pixel.
Advantages of S2S tracking:
- Higher accuracy in environments with cookie restrictions or ad-blockers
- Improved data privacy and control
- Browser-independent tracking
- Full alignment between your internal metrics and Thribee reporting
2. Requirements
To use this API, you will need:
| Requirement | Description |
|---|---|
| S2S Auth Token | Generated in Thribee → Tools → S2S Conversion Tracking |
Click ID (thribee_click_id) |
Passed in every outbound click link |
| HTTPS Support | API available only over secure connections |
📌 If you do not have an S2S token configured, Thribee will not append the thribee_click_id parameter to your outbound URLs.
📌 The S2S Auth Token is a separate credential from the token used by the Thribee Metrics API. They are generated, rotated, and revoked independently — enabling, rotating, or cancelling one does not affect the other.
3. Managing Your S2S Token
Go to Thribee → Tools → S2S Conversion Tracking to manage your token:
- Generate Token — creates your S2S Auth Token. It is shown in full only once, immediately after generation — store it securely, as you would any other credential.
- Rotate Token — issues a new token and immediately invalidates the previous one. Use this if you suspect your token has been exposed. This action is permanent and cannot be undone.
- Cancel Token — revokes your S2S token entirely. Use this if you want to stop S2S tracking. This action is permanent and cannot be undone.
Once you have generated a token, the migration status selector becomes available (see section 10).
4. Click Attribution
Thribee appends a unique click identifier to every outbound link:
https://www.yoursite.com/listing/123?thribee_click_id={CLICK_ID}&utm_source=lifull-connect&utm_medium=CPC&utm_campaign={CAMPAIGN_NAME}
-
thribee_click_idis an alphanumeric string.
5. Sending Conversion Events
Endpoint
POST https://api.thribee.com/tracking/conversions
Required Headers
| Header | Value |
|---|---|
| Authorization | Bearer {S2S_API_TOKEN} |
| Content-Type | application/json |
The token is unique to your account and can be rotated at any time from Thribee → Tools → S2S Conversion Tracking.
6. Request Body
Required Fields
| Field | Type | Description |
|---|---|---|
| thribeeClickId | string | The same value received in the outbound click |
| listingId | string | The same listing ID that you provide to Thribee in your feed |
| timestamp | string (ISO 8601) | Conversion timestamp per the ISO 8601 standard (in UTC timezone) |
JSON Example
{
"thribeeClickId": "9fd7a992-4600-43e5-9ccd-1387bb1548f3",
"listingId": "ABC-123456",
"timestamp": "2025-07-21T11:29:12.697Z"
}
7. Optional Fields
| Field | Type | Description |
|---|---|---|
| type | string (enum) | Conversion type (see allowed values below) |
| score | number | Numeric value representing conversion quality or relative importance (see example use cases below) |
| metadata | string | Additional contextual information not explicitly covered by the API schema |
Conversion Type (type)
Indicates the type of conversion being reported. Accepted values:
- form
- phone
- financing
- subscription
- other
Values not matching one of the accepted options will be recorded as other rather than rejected.
Example Use Cases for score
- Clients for whom different conversion types (form, phone, etc.) do not have the same business value
- Clients using attribution models other than last-click (e.g. weighted or multi-touch models)
JSON Example
{
"thribeeClickId": "9fd7a992-4600-43e5-9ccd-1387bb1548f3",
"listingId": "ABC-123456",
"timestamp": "2025-07-21T11:29:12.697Z",
"type": "form",
"score": 0.75,
"metadata": "SERP"
}
8. Response Messages
| Status | Meaning |
|---|---|
200 OK |
Event successfully processed |
400 Bad Request |
Incorrect payload format or invalid field |
401 Unauthorized |
Missing or invalid token |
404 Not Found |
Unknown or expired thribeeClickId (maximum time window to be defined)
|
500 Internal Server Error |
Retry later |
Example Success Response
{
"status": "success",
"data": {
"receivedAt": "2025-07-21T11:29:12.697Z"
}
}
9. Validation Rules
- Token must be associated with a configured account → otherwise
401 Unauthorized - Invalid timestamps will be rejected →
400 Bad Request -
thribeeClickIdmust be valid and match a known click within the maximum time window (to be defined) → otherwise404 Not Found -
typemust match an approved value; if not, the conversion is recorded asother - Conversions without a
thribeeClickIdare always rejected
10. Migration Status: disabled / migrating / enabled
Once you have generated an S2S token, you can control how Thribee uses your S2S conversions from the S2S Conversion Tracking page. This setting has three states:
- Disabled — Thribee is not processing the S2S events your backend sends. Your performance metrics continue to be based entirely on your pixel tracking, if you have it installed.
- Migrating — Thribee is now processing your S2S events, but your performance metrics still default to pixel-based tracking. On the Campaign Performance page, a toggle lets you preview your metrics based on S2S data so you can validate that your implementation is correct before relying on it.
- Enabled — Thribee processes your S2S events and uses them as the source of truth for your performance metrics across all of Thribee. No toggle is needed at this stage — S2S becomes the default. At this point you may remove the tracking pixel from your website, although both mechanisms can technically coexist.
We recommend moving through Migrating before switching to Enabled, so you can confirm your implementation is sending accurate data before it drives your official metrics.
11. FAQs
Can conversions be tracked without thribeeClickId?
No, such requests are rejected.
Will the pixel continue to work?
Yes. Both solutions can coexist — this is expected during the Migrating phase. Once you are satisfied with your S2S implementation, you may remove the Thribee tracking pixel from your website.
Can I use my Metrics API token for S2S conversion tracking?
No. These are independent credentials. Generate a dedicated S2S token from Thribee → Tools → S2S Conversion Tracking.
What if I rotate my token?
Only the newest token will be accepted; the previous one is invalidated immediately.
Can I still send conversion events while my status is set to Disabled?
You can call the endpoint, but Thribee will not process or use those events in any reporting until your status is set to Migrating or Enabled.
Can a click on one listing trigger a conversion for another?
Yes, attribution follows the original click event. Even if the user keeps browsing your website and moves from one listing to another, we rely on the original thribee_click_id from when we sent the user to your website.
Will you offer any alternatives to server-to-server tracking other than direct API integration?
Currently we support clients that use our Conversions API directly. We plan to offer additional ways to implement server-side tracking in the future.
Comments
0 comments
Article is closed for comments.