Skip to content
TR

Testing postbacks

Dry-run a UluMob postback with test=1, read the answer, and find and fix refused postbacks before they cost you conversions.

You can check a postback exactly as a live call would be checked, without recording a conversion or charging anything. Do this before you launch a CPA campaign, and whenever you change your tracker setup.

Test from the panel

  1. Open Tracking at /app/advertiser/tracking.
  2. Under Test a postback, paste the full postback URL, starting with https://, on the same host as the postback URL the panel shows, with a real click ID in place of the macro.
  3. Select Test.

The panel sends the URL with test=1 added. A passing test shows which campaign would be charged and how much; a failing one shows Refused with the reason.

Test from your own server or tracker

Add test=1 to any postback URL:

https://ulumob.com/postback?cid=6f1c2a9e-3b7d-4c55-9a51-0d2e8f4b7c10&payout=12.00&type=A&key=YOUR_SECRET&test=1

Getting a real click ID

The test needs a click ID UluMob actually issued. Placeholders such as {click_id} or made-up values are refused as unknown_click.

  1. Make sure your ad's destination URL contains {click_id} in your tracker's click parameter.
  2. Wait until the campaign is approved and has received at least one click or open.
  3. Copy the click ID your tracker received from its click log.

A click can receive conversions for 7 days by default, so test with a recent click.

Reading the answer

A test that passes every check answers like this:

{"status":"ok","test":true,"click_id":"6f1c2a9e-3b7d-4c55-9a51-0d2e8f4b7c10","conv_type":"A","campaign_id":318,"would_charge":"0.000000"}
Field Meaning
status ok if a live call would be recorded, ignored if it would be a duplicate
campaign_id The campaign the click belongs to
would_charge What a live call would charge. Non-zero only on CPA campaigns, for clicks not marked as fraud

A test does not consume the click: a live postback for the same click and type still counts afterwards.

Refusal reasons

Reason HTTP What to check
unknown_click 404 The click ID is missing, not a UUID, unknown or past the attribution window. Also returned when the type is not a single letter
bad_signature 403 The token does not match, or the key is not your current secret
inactive_type 422 The conversion type letter is not set up or is switched off
duplicate 200 This click already has a conversion of this type and the type does not allow repeats
budget 402 A CPA charge could not be paid from the campaign budget or your balance. Live calls only
rate_limited 429 Too many postbacks from one IP address. Retry after the delay in Retry-After

Refused postbacks log

Live postbacks that were refused in the last 7 days are listed under Refused postbacks (7 days) on the tracking page. Select Load to see them. Each row shows the time, click ID, type, reason and the query string received. Test calls are not added to this log.

Look here first when a tracker shows conversions that are missing from UluMob reports. The query column shows exactly what the tracker sent, which usually makes an unresolved macro or a wrong secret easy to spot.

Checklist before launch

  • The destination URL of every ad contains {click_id}.
  • The tracker's postback URL uses your current secret.
  • The conversion type letter is set up and Active.
  • A test with a real click ID returns ok.
  • On CPA, would_charge shows the CPA bid you expect.

Something missing or wrong? Tell us.