Send a test postback
Open a saved postback and choose Send test postback. We send one sample conversion to that row’s URL, signed and built the same way a real one is, with test=true added. You see at once whether your server accepted it.
See also: Signed postbacks
On this page
- A postback secret. Publishers can’t send a test without one, for the same reason real postbacks aren’t sent without one.
- A saved row. The test uses what’s saved, so save your changes first.
- A public address. Tests to
localhost, a private network address or anything else we can’t reach from the internet are refused. Use a tunnel or a staging server.
Postbacks, then Edit
Open Postbacks, find the row on the Conversions or Events tab and choose Edit.
Send test postback
Choose Send test postback. It works on Inactive rows too, so you can test a URL before you switch it on.
Read the answer
A message says your endpoint accepted the test, with the HTTP status it answered. If it says your endpoint answered with an error status, such as 500, the request reached your server and your code refused it: check your logs.
Check it worked
Your server logged one request with
test=true, theverifierpassed and no user was credited.
Every test carries these values:
| Parameter | Test value |
|---|---|
action_id | test_ followed by a random ID |
sub_id | test_user_123 |
offer_id | The row’s offer, or aff_test_offer on a global row |
status | completed |
payout | 1, a sample. Nothing is credited from it |
conversion_name | On a specific row, a real step of its offer: the last step for a Conversion row, the chosen event for an Event row or the first step for Any event; the offer’s title when it lists no steps. On a global row, Install |
goal_id | That step’s goal ID, when it has one |
is_offer_complete | true on a Conversion row, false on an Event row |
test | true |
verifier | Signed with your current secret |
Macros in your URL are filled in from these values, exactly as on a live postback.
- That live conversions use this row. A real conversion goes to the one row that applies to it, which may be another row. See which postback fires.
- That the row is on. Inactive rows pass tests and still receive nothing live.
- That you credit correctly. The test is always
completedwith a sample payout. Check how you handlereversedanduser_payoutagainst the parameter reference.
Workspace settings, then Test Postback
Under Postback Configuration, save a Postback URL first; Test Postback works once one is saved. It sends
action_id=test_…,sub_id=test_user_123,offer_id=test_offer_123,status=completed,payout=1.00, the current time asclicktimestampandtest=true, signed if you have a Webhook Secret.Check it worked
The page says the test was sent, or shows the error your URL returned. A pass shows your URL answers; live postbacks follow the rules in which postback fires.
| What you see | What it means | What to do |
|---|---|---|
| No postback signing key yet | Your account has no postback secret | Create one under Postbacks |
| “Test postbacks can only be sent to a publicly reachable http(s) address.” | The URL points somewhere we can’t reach | Use a public HTTPS address |
| Your endpoint answered 401 | Your signature check refused it | See Verify a signed postback with HMAC-SHA256 |
| Your endpoint answered 404 or 500 | Your server got it and failed | Check the path and your server log |
| A timeout or connection error | Nothing answered | Check DNS, firewall and that the server is up |