Skip to main content
Skip table of contents

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 as site_id=example.com

  • Store and retrieve Katalys tracking information
    Your attribution technology will need to be able to post back Katalys tracking data such as transaction_id, offer_id, and aff_id. Either the transaction_id parameter or the offer_id and aff_id parameter must be defined.

    • Inbound Katalys links will contain the URL parameters transaction_id, offer_id, and publisher_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 store transaction_id=1234abcd, offer_id=1234, and aff_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.

HTML
<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.

JSON
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.

NONE
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.

CODE
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}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.