Server-to-Server Implementation
This page describes a server-side method for pushing data from your existing affiliate network software into your Katalys Advertiser account.
This method is not recommended due to lack of transparency for Katalys affiliates, limited data postback options, and lower attribution rates which dilute your program’s value to affiliates. This means your partners will not be able to optimize their campaigns as well, will have limited insights into how their campaigns are performing, and may choose not to work with you due to the lack of transparency. We highly recommend starting with any of our plugin-based approaches for smooth and fast onboarding with no developer time.
This implementation type is uniquely limited in having no opportunity for providing traffic quality reports to your Katalys partners. If you must perform your own attribution, we recommend reviewing the Sub-network Implementation guide PREFERRED.
Initial Requirements
To get started with sending data back to Katalys, you must:
Retrieve your Tracking ID from the Katalys “Integrations” page
This is the data silo that has been created to collect data for your integration. This is frequently named using aKA-
prefix followed by random numbers/letters.
Go to your account’s Integrations page →Implement your own affiliate software
You must have an attribution technology tool implemented on your site that can store Katalys tracking information, such astransaction_id
,offer_id
, andaff_id
. Either a) thetransaction_id
parameter must be defined or b) theoffer_id
andaff_id
parameter must be defined.Inbound Katalys links should contain the URL parameters
transaction_id
,offer_id
, andpublisher_id
.You will need to store these values and offer them back to Katalys after a conversion takes place.
As an example:
For URL:
https://example.com/page1?utm_source=Katalys&transaction_id=1234abcd&offer_id=1234&publisher_id=5678
You would storetransaction_id=1234abcd
,offer_id=1234
, andaff_id=5678
If your system will be configured to send every order for your CRM (instead of just Katalys-specific conversions), use type=offline_conv
instead of type=force_convert
. The value offline_conv
requires that you also deploy the Katalys JavaScript to your website. Read more about Custom Integrations for details.
HTTP Request Details
Katalys can receive a postback via an HTTP POST
or GET
request from your server. This option is the least-flexible of our reporting options – all fields are required.
POST
request with JSON
This endpoint will return a 204
status code when the data is received and parsed correctly.
The whitespace in the example is to make the request easy to read. We follow standard JSON conventions and ignore whitespace between parameters.
Remember to replace the {variable}
syntax below with your own values. See Reporting Schema for all available data keys.
POST https://db.revoffers.com/v2/_tr_offline
Content-Type: application/json
{
"type": "force_convert",
"site_id": "{katalys_tracking_id}",
"order_id": "{your_crm_order_id}",
"email_address": "{email_address}",
"sale_amount": "{sale_amount}",
"subtotal_amount": "{subtotal_amount}",
"client_ip": "{client_ip_address}",
"user_agent": "{client_user_agent}",
"discount_1_code": "{coupon_code}",
"transaction_id": "{katalys_transaction_id}",
"offer_id": "{katalys_offer_id}",
"aff_id": "{katalys_aff_id}"
}
POST
request with form-encoded values
The endpoint will return a 204
status code when the data is received and parsed correctly.
The newline characters in the example below are for illustration purposes only and should be stripped from the actual payload.
Remember to replace the {variable}
syntax below with your own values. See Reporting Schema for all available data keys.
POST https://db.revoffers.com/v2/_tr_offline
Content-Type: application/x-www-form-urlencoded
type=force_convert
&site_id={katalys_tracking_id}
&order_id={your_crm_order_id}
&email_address={email_address}
&sale_amount={sale_amount}
&subtotal_amount={subtotal_amount}
&client_ip={client_ip_address}
&user_agent={client_user_agent}
&discount_1_code={coupon_code}
&transaction_id={katalys_transaction_id}
&offer_id={katalys_offer_id}
&aff_id={katalys_aff_id}
GET
request with URL parameters
This type of request will always return a 204 response.
The newline characters in the example below are for illustration purposes only and should be stripped from the actual payload.
Remember to replace the {variable}
syntax below with your own values. See Reporting Schema for all available data keys.
GET https://db.revoffers.com/v2/_tr_offline?
type=force_convert
&site_id={katalys_tracking_id}
&order_id={your_crm_order_id}
&email_address={email_address}
&sale_amount={sale_amount}
&subtotal_amount={subtotal_amount}
&client_ip={client_ip_address}
&user_agent={client_user_agent}
&discount_1_code={coupon_code}
&transaction_id={katalys_transaction_id}
&offer_id={katalys_offer_id}
&aff_id={katalys_aff_id}