Skip to main content

Ringba

S2S Postback Integration Guide

Written by Ashish thakur

Last Updated: July, 2026

This guide explains how to configure Ringba to send call tracking data to Kayzen.

Kayzen receives call events from Ringba via server-to-server (S2S) postback pixels. You will create six pixels in Ringba — one per call lifecycle event — each pointing to Kayzen's endpoint. Kayzen uses the call_id to link all events for the same call, and the number parameter to identify which campaign or creative generated the call.


Scope of this guide

This integration is built for hard-coded tracking numbers with no landing page — the number is displayed directly in the CTV creative, and there's no click-through or click_id involved. Attribution runs entirely on call-based matching (caller_id + number + call_id). This guide does not cover Ringba's dynamic number pool setup, which requires a landing page and JS-based number swapping.


Prerequisites

Before you begin, make sure the following are in place:

  • Ringba account with admin access.

  • A Ringba campaign set up to manage your CTV call traffic.

  • A Ringba tracking number assigned to the campaign. This is the number displayed in your TV ad. One number = one campaign or creative.

  • Your Kayzen API key — You can obtain API key by following the instructions in this article. It is the advertiser-level API key for your account.

  • The six pixel URLs below, which you will configure in Ringba under Integrations > Pixels.

Step-by-Step Configuration


How to Set Up Your Pixels in Ringba

1. Navigate to Integrations > Pixels and click the Create Pixel button.

2. Use the configuration information in the following sections and then click Create.

3. Click Create Pixel again and complete the steps with the next set of configuration information.

Tip: Toggle on the Advanced Options switch to display HTTP Method field, which you need to set.

4. Repeat this process until all six pixels are complete.

The Pixels screen is straightforward and easy to use. You can learn more about pixels and find step-by-step instructions for creating them in the Pixels article.

Important: Replace KAYZEN_PROVIDED in all 6 pixel URLs with the API key you received from Kayzen.


Pixel 1: Incoming

This pixel fires as soon as the call appears in Ringba. This pixel sends information about every inbound call regardless of outcome.

Start the pixel creation process and enter the following information in the fields:

  • Name: Kayzen CTV - Incoming Postback

  • Fire Pixel On: Incoming

  • HTTP Method: GET

Pixel 2: Connected

This pixel fires when the call is answered by a call center agent. This pixel always fires fewer times than pixel 1, since this Connected pixel does not fire unless the incoming call is answered.

  • Name: Kayzen CTV - Connected Postback

  • Fire Pixel On: Connected (Answered)

  • HTTP Method: GET

Pixel 3: Completed

Fires when the call ends after connecting to a target. This is the first event that carries the duplicate flag and call duration.

  • Name: Kayzen CTV - Completed Postback

  • Fire Pixel On: Completed

  • HTTP Method: GET

Pixel 4: Converted

This pixel fires only when the call meets your campaign's conversion criteria. For example, if you set your campaign to identify a call as "converted" if it lasts 120 seconds, then this pixel fires once the call has been connected for 120 seconds. This pixel sends the conversion_amount (gross revenue including margin) to Kayzen.

  • Name: Kayzen CTV - Converted Postback

  • Fire Pixel On: Converted

  • HTTP Method: GET

Pixel 5: Payout

This pixel fires when a payout is credited to the publisher. Not all converted calls generate a payout. Check your Ringba campaign settings if you expect payout events but are not receiving them.

  • Name: Kayzen CTV - Payout Postback

  • Fire Pixel On: Payout

  • HTTP Method: GET

Pixel 6: Error

This pixel fires when Ringba encounters a system error while trying to route or connect the call. For example, if Ringba dials the target's number and the target system responds with an error instead of picking up, then this pixel fires.

  • Name: Kayzen CTV - Error Postback

  • Fire Pixel On: Error

  • HTTP Method: GET

Note: Revenue, duration, and the duplicate flag are not available on Error calls because the call never reached the stage where those values exist. Error events do not contribute to conversion or revenue reporting; they are diagnostic only. If you see a high volume of Error events, contact Ringba Support or your Ringba account manager to investigate the target routing configuration.


How to Add Your Pixels to Your Campaign

Use the following steps to add the six pixels you just created to your Ringba campaign:

  1. in Ringba, navigate to Campaigns and open the campaign that manages the calls you're getting from your CTV campaign.

  2. Scroll to the Tracking Pixels section and click Add Pixel.

  3. Select one of the six tracking pixels and click Add. Repeat for the remaining five pixels.

  4. Save the campaign.


Verification

After creating all six pixels and adding them to your Ringba campaign, use the following steps to confirm the integration is working:

  1. Place a test call to the Ringba tracking number that appears in your CTV campaign.

  2. In Ringba, navigate to Reporting > Default to open the Reporting screen.

  3. Scroll to the Call Details section and find the row with your test call.
    Tip: If you have a lot of rows, you can use the filtering tools at the top of the Reporting screen to help you find the row for your test call.

  4. Click the down arrow on the left side of the row to expand the call row. The Events tab is open by default.

  5. Scroll through the events and look for the Pixel Fire events. The Error pixel will only appear if the test call encountered a routing error.

  6. Confirm each Pixel Fire event shows 200 as the Response Status Code.
    A non-200 status indicates Kayzen's endpoint rejected the request. If this happens, contact Kayzen support with a screenshot of the pixel fire logs.

  7. Share the test call's inbound call ID with your Kayzen account manager so they can verify that Kayzen is successfully receiving the data from all the pixels.
    Tip: The inbound call ID is available as a column in the Call Details report. If you don't see it, you may need to enable the column. See How do I find the Inbound Call ID? for step-by-step instructions.


Troubleshooting

What should I do if the call event aren't appearing in Kayzen?

Check that all six pixels are added to the Ringba campaign. Verify that you replaced the value of the api_key parameter in the pixel URL with the value Kayzen provided.

What do I do if my pixel test doesn't show 200 status?

The postback URL might have a formatting error. Try copying the URL from this article again and making sure you didn't leave any parts of it out or introduce line breaks. Don't forget to replace the value of the api_key parameter with the value Kayzen provided.

Ringba's reporting is showing more calls than Kayzen. Is that a problem?

No, this may be fine. Ringba's reporting includes calls that were blocked before they fired any pixel, so Kayzen would not have any information about these calls. Calls might be blocked for a number of reasons. See these articles for more information about reasons a call might be blocked:

Why aren't my Converted events appearing in Kayzen?

Converted only fires when the call meets the campaign conversion threshold. Confirm your conversion criteria is set in Ringba.

Also check whether the call is a duplicate, since duplicate calls might not convert depending on your campaign settings.

Why am I seeing 0.00 revenue on calls?

The revenue value comes from your Ringba campaign configuration. If you're seeing 0.00 in Kayzen, your Ringba campaign might not be correctly configured. Contact your Ringba account manager or Ringba Support if you need help.

What do I do if I have a lot of Error events?

The error pixel fires when there's a problem getting the call connected to a target. Contact your Ringba account manager or Ringba Support if you need help.

How do I get help with issues during setup?

Please reach out to your Kayzen account manager or contact Kayzen support. When reporting an issue, include:

  • A screenshot of the pixel fire log from Ringba's Call Details report

  • The call_id of the test call

  • The HTTP status code returned for each pixel

What should I do if I need help with my pixels?

If you have any questions or need additional help, please reach out to our support team via chat widget in UI or contact your customer success manager.

Did this answer your question?