Thank-You Page Tracking
This page is Part 2 in a 3-part series on how to develop a custom integration with Katalys.
Katalys requires Advertisers to include our tracking pixel 1) on Landing Pages (for fraud detection, user verification, and direct linking) and 2) on Thank-You pages (for capturing conversions). On this page, we will describe considerations for placing the Katalys Tracking Script on Thank-You pages, and how to send additional properties into the Katalys Marketing Platform.
Basics
Add our tracking JavaScript snippet to your post-sale Thank-You page, after the customer has completed an order. Most clients prefer to see their own Order ID in the Katalys Marketing reporting, so we highly recommend you set the Required Fields in your snippet. See below for examples and available fields.
Get your script on the Katalys Platform’s Integrations page →
The script will look similar to the code below.
<script src="{{YOUR-URL-FROM-Katalys-Platform}}" async></script>
<script>
_revoffers_track = window._revoffers_track || [];
_revoffers_track.push({
action: "convert",
order_id: "{{ORDER-ID}}",
});
// ... see below for field definitions
</script>
Recommended Fields
order_id
: {string} example: “12345”
We use this field to disambiguate orders placed by your customers. It is important that this value be globally unique for your e-commerce account!sale_amount
: {float|string} example: 25.67
This should be a numeric value without currency.subtotal_amount
: {float|string} example: 24.95
This is sale_amount minus shipping and tax.email_address
: {string} example: “email@example.com”
We use this field to disambiguate customers. Without this field, we cannot perform any special logic like double-conversion avoidance or customer-exclusion.Discount fields:
For each applied discount or coupon, include the fields discount_X_code and discount_X_amount.discount_1_code
: {string} example: “REVOFFERS_EXAMPLE”discount_1_amount
: {float|string} example: “1.50”
Example
This is a minimal example for an order that contains a single coupon:
<script src="{{YOUR-URL-FROM-Katalys-Platform}}" async></script>
<script>
_revoffers_track = window._revoffers_track || [];
_revoffers_track.push({
action: "convert",
order_id: "12345",
sale_amount: 25.67,
subtotal_amount: 24.95,
email_address: "email@example.com",
discount_1_code: "REVOFFERS_EXAMPLE",
discount_1_amount: 1.50,
});
</script>
Validating your Thank-You Script
You must confirm that the script is running by executing a test order on your website, and making sure that the script is reporting information to Katalys correctly. The Katalys JavaScript tag is easy to debug by using any browser debugging tools, such as the Chrome DevTools window.
Open your website inside of Chrome, and open up the DevTools (documentation).
Click on the “Network” panel to view all the network requests being made by your website.
Complete an order on your website with the DevTools open. Stop on your Thank You page, after you’ve completed your testing order.
Search for
revoffers
or_tr
. Find a ping tohttps://db.revoffers.com/v2/_tr
.Select the ping you wish to inspect, and click on the “Payload” tab on the right. This is the raw information that is being sent to the server. You should see the order data, such as
order_id
, defined in the Payload.
Using the “Payload” tab, compare the data visible on the screen to the data you expect to be submitted to the server. Follow the table below for next steps.
What you see in the sent payload | What could be wrong | What you should do |
---|---|---|
Value | You implemented the wrong script. | Get your custom script URL from your Katalys account manager and implement the script site-wide. If you are having difficulty with implementation, consult your internal technical team. |
Required Order Information fields are missing ( | You did not pass required information into the script correctly. | Check your tag integration. If you use GTM, then confirm your data is being passed into GTM correctly. If you are having difficulty with this, consult your internal technical team. |
| You didn’t implement Landing Page tracking correctly. | Go back to Step 1. |
You didn’t click on a Tracking Link to start your session. | Get an affiliate tracking link from Katalys Marketing Platform and click on that to start your session. Then re-test. | |
Your landing page does not have appropriate URL parameters, or the parameters get removed by a redirect. | Identify if you have added any redirects. Update your landing page URL within our platform. (might require your Account Manager’s help). | |
Your Thank You page is on another domain from your landing page. | This may be ok, but alert the Katalys Marketplace Team. If none of the above work, contact Katalys Tech Support by submitting a ticket or emailing techsupport@katalys.com |
Appendix
Alternate Implementation
We have an alternate implementation that can allow tracking of specific events. To activate this, use the following script to initialize the _revoffers_track
global object. Then each call to .push()
can use multiple arguments. This is used to track custom events and offer session-state in custom integrations.
<script src="{{YOUR-URL-FROM-Katalys-Platform}}" async></script>
<script>
window._revoffers_track = window._revoffers_track || !function(){var a=[],b=a.push;a.push=()=>b.call(a,arguments);return a}();
_revoffers_track.push("merge", { ... });
_revoffers_track.push("event", { ... });
</script>
Available Fields
The JavaScript implementation and server-to-server implementation allow you to set the same fields. In your Thank-You page snippet, you can set any field available.
See all available fields on the Order Status Reporting page >>