Postback Implementation
Katalys (formerly “RevOffers”) has developed plugins for most major CRM integrations, which makes getting started with Katalyss efficient and easy! We highly recommend starting with any of our plugin-based approaches for smooth and fast onboarding with no developer time.
For instances where Katalys cannot be integrated with your CRM directly, we have the following options:
JavaScript Postback
Preferred: better attribution and tracking for your affiliates, and better reporting of traffic quality.
More options for account management.HTTP Postback
Requires appropriate attribution technology installed on all sites.
Must be compatible with all traffic sources being sent via Katalys
Initial Requirements
To get started with sending data back to Katalys, you will need to know:
Your
site_id
(fixed value, generated by Katalys)
This is the “data silo” that has been created to collect data for your integration. This is frequently named the top-level domain of your website, such assite_id=example.com
Store and retrieve Katalys tracking information
Your attribution technology will need to be able to post back Katalys tracking data such astransaction_id
,offer_id
, andaff_id
. Either thetransaction_id
parameter or theoffer_id
andaff_id
parameter must be defined.Inbound Katalys links will 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=RevOffers&transaction_id=1234abcd&offer_id=1234&publisher_id=5678
You would storetransaction_id=1234abcd
,offer_id=1234
, andaff_id=5678
JavaScript Postback
The following pixel should be placed on your Thank-You page that is presented to the end-user. This pixel can be fired within an iframe or copy/pasted directly into the source of the page.
Remember to replace the {variable}
syntax below with your own values.
<script type="text/javascript">
_revoffers_track = window._revoffers_track || [];
_revoffers_track.push({
type: "convert",
site_id: "{revoffers_site_id}",
order_id: "{your_crm_order_id}",
sale_amount: "{sale_amount}",
subtotal_amount: "{sale_amount}",
email_address: "{email_address}",
discount_1_code: "{coupon_code}",
transaction_id: "{revoffers_transaction_id}",
offer_id: "{revoffers_offer_id}",
aff_id: "{revoffers_affiliate_id}"
});
</script>
<script type="text/javascript" src="https://db.revoffers.com/js/{{YOUR-URL}}.js" async></script>
HTTP Postback
When JavaScript is not an option, we 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 to achieve
POST
request with JSON
Following JSON conventions, whitespace between parameters does not matter.
The endpoint will return a 204
status code when the data is received and parsed correctly.
Remember to replace the {variable}
syntax below with your own values.
POST https://db.revoffers.com/v2/_tr
Content-Type: application/json
{
"type": "offline_conv",
"site_id": "{revoffers_site_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": "{revoffers_transaction_id}",
"offer_id": "{revoffers_offer_id}",
"aff_id": "{revoffers_affiliate_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.
POST https://db.revoffers.com/v2/_tr
Content-Type: application/x-www-form-urlencoded
type=offline_conv
&site_id={revoffers_site_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={revoffers_transaction_id}
&offer_id={revoffers_offer_id}
&aff_id={revoffers_affiliate_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.
GET https://db.revoffers.com/v2/_tr?
type=offline_conv
&site_id={revoffers_site_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={revoffers_transaction_id}
&offer_id={revoffers_offer_id}
&aff_id={revoffers_affiliate_id}