# Postback Troubleshooting

When a postback is configured correctly, the tracker will record the conversion, which will appear in the tracker campaign in Reports — Conversions.

If the target action on the offer is completed but there is no conversion in the tracker, it is necessary to determine at what stage the configuration issue occurred and fix it.

Let's look separately at the ways to receive postback to the tracker. Postback can be sent either by the advertiser or affiliate network, or by a script added to the offer code, for example JS adapter.

# Postback is sent by the affiliate network

Let's consider the workflow for sending conversions from the affiliate network to the tracker:

  1. A click comes to the tracker via the campaign link.

  2. The tracker generates a click identifier subid.

  3. The click converts on the offer.

  4. Using the API, the affiliate network retrieves the data of conversion and the tracker click parameter value — subid.

  5. The affiliate network sends a postback to the tracker via the postback URL that is added to the affiliate network account. The subid value is passed back to the tracker in the postback so that the tracker can determine which click to record the conversion for.

If the conversion is not recorded, there was a problem issue at some step.

Check if the subid click parameter is correctly passed to the affiliate network offer:

# If the offer is set up in the tracker locally and uploaded via an archive

The tracker automatically passes subid to a local offer via the campaign link. If a landing page is set up before the offer in the campaign flow, make sure that the transition from the landing page to the offer is configured correctly.

To ensure the affiliate network receives the subid value, add the following line to the offer form code:

<input type="hidden" name="sub1" value="{subid}" />
1

Where sub1 must be replaced with the parameter that the affiliate network can use to receive the tracker click value. The parameter is unique for each affiliate network, so it is worth clarifying which parameter is used in the system.

Learn more about passing conversions via API to affiliate networks.

# If the offer is set up in the tracker via redirect with an offer URL

The subid parameter must be sent in the offer URL. This can be configured in two ways:

On adding a created template to the offer, the parameters from the Offer Parameters section in the template are automatically passed to the offer URL, so adding parameters to the URL manually is not required.

  • If working without a template, enter the parameters into the offer URL manually.

If the configuration is correct, ​continue to check the postback log in Maintenance → Logs → Postbacks.

# Fixing errors in the log

# Error Error in stage: FindConversionType with message: Postback status is not set

An error of this type shows that the received postback did not receive the status parameter — it is required for processing the conversion.

# Error Error in stage: FindConversionType with message: Conversion type not found

The error shows that the postback received a status that was not created in the tracker.

You need to create a status or write training for new statuses in the postback link.

# Error Error in stage: FindClickAndLoadEntities with message: Click for subid REPLACE not found

These errors mean that the affiliate network did not pass the actual subid value of the Keitaro click in the postback. The tracker did not record the conversion in the statistics.

Check that the postback link on the affiliate network side correctly specifies the transfer of the click parameter from the affiliate system to the tracker: subid={sub1}, where sub1 is the parameter into which the affiliate network received the tracker click value from subid.

Assuming the above problems have already been excluded, you need to contact the affiliate network to clarify why the correct subid value is not passed in the postback. There may be technical problems with sending.

# Error Error in stage: FindPreviousConversions with message: Conversion cannot transition to sale: next status already exists for the sent conversion but not for the existing one

The error shows that the conversion status for this subid, received earlier, cannot be overwritten with the one received in the postback.

The following statuses for the conversion type are configured in Maintenance → Conversion types.

# Error Incorrect postback code

Errors of this type show that the correct postback key tracker is not specified in the postback link.

To solve the problem, you need to check the tracker key in Maintenance → Postback URL and replace the key-value in the postback link on the affiliate network side.

# There are no entries in Maintenance → Logs → Postbacks

Make sure that the Postback tracker link is set in the Postback field in your affiliate network account. To check the current key, go to the tracker section Maintenance → Postback URL.

# If sending postback is configured using scripts from the offer code

The script will send a postback with a conversion to the tracker upon clicking on the campaign link to the page with the installed script.

If the conversion is not recorded, check the settings according to the following points:

  1. Check that the subid value is transmitted to the page from which sending postback is configured. Use the instruction to check the transfer to the local page code or to the page link.

  2. Make sure to replace the postback link in the script with the tracker link from the Maintenance — Postback URL section

Example script from the documentation:

<?php
file_get_contents('POSTBACK_URL/postback?subid=' . $_COOKIE['subid'] . '&status=lead');
?>
1
2
3

Ready-made version for insertion into the page code:

<?php
file_get_contents('https://demo-en.keitaro.io/f1ec56f/postback?subid=' . $_COOKIE['subid'] . '&status=lead');
?>
1
2
3
  1. Check the section Maintenance → Logs → Postbacks.

Error Click for subid not found occurs for the following reasons:

  • The subid value is not passed to the page with the script;
  • Other scripts in the page code overwrite the value.

You need to check the settings and exclude factors affecting the transfer of subid to the postback sending script.

If the postback log is empty, you need to check the postback sending settings from the page code.