Postback not firing or never arrives
Most often there’s no postback secret. We never send a publisher postback unsigned, so the conversion counts in your report and nothing reaches your server. Open Flight Recorder, find the conversion, and its delivery status names the fix.
On this page
| What you see | What it means | What to do |
|---|---|---|
| Postbacks says “No postback secret, so none of your postbacks are being sent” | You have no secret, so nothing is sent | Create one (first check below) |
Publishers: Delivery reads failed, with an HTTP status | Your server answered with an error | Fix your endpoint, then ask us to resend |
Publishers: Delivery reads failed, with no HTTP status | We couldn’t reach your server | Check the URL, DNS and certificate |
Delivery reads skipped_no_url | No postback row matched this conversion | Add a conversion row |
Delivery reads sent | Your server answered with a 2xx | Search your own logs for the action_id |
| No row for the user or the offer | No conversion was reported to us | See An install wasn’t tracked |
To get there: publishers open Reporting, then Flight Recorder, and filter by Sub ID (your user’s ID) or Action ID. For a Hosted Offerwall user, find the conversion in Conversions first, where the Sub ID column shows your uid, and paste its Action ID here. Choose a row to see Your postback delivery. Networks open Reporting, then Flight Recorder, and choose a row to see Network Delivery Response: Status, HTTP, Error. On a network delivery that failed, HTTP stays empty, so read Error for the reason.
No postback secret (publishers)
How to confirm: Postbacks shows the warning above your rows. In Flight Recorder, the conversion’s Error reads “No active partner postback secret configured; postback not sent”.
Fix: Choose Create postback secret and copy it at once: it starts with
ps_and is shown once. Put it in your server’s verification, then use Send test postback on a saved row. Conversions from before the secret existed aren’t sent on their own; send us their action IDs and we’ll tell you which we can send again.No row matches the conversion
How to confirm: Delivery reads
skipped_no_url.Fix: Open Postbacks and look at both tabs, Conversions and Events. Event rows are only used for later steps, so if your only rows are event rows, installs and first steps go nowhere. Add a conversion row with Postback Level set to global. Inactive rows are skipped too. Once you save any row, the account-level fallback URL stops being used. How rows are picked: global or offer-specific postbacks.
Your server answered with an error
How to confirm: Delivery reads
failedwith an HTTP status, and Error gives the reason. Copy request copies the masked URL we called, with the parameters in it, so you can replay it.Fix: A 401 or 403 usually means your signature check failed: verify the URL exactly as you received it, with your current secret. Rotating a secret stops the old one at once, so a server still holding the old one rejects everything. A 404 means the path changed. Publisher postbacks that got a 5xx or 429 were retried a few times within seconds, then stopped; other 4xx answers aren’t retried. Network postbacks are sent once. Fix the endpoint and answer 200. Publishers: send us the action IDs: our team can send failed credits from the Offer API and links again, under the same
action_id, so your dedupe holds. How to verify: Verify a signed postback with HMAC-SHA256.We couldn’t reach your server
How to confirm: Delivery reads
failedwith no HTTP status, and Error names a timeout or a refused connection.Fix: The URL must start with
http://orhttps://and be reachable from the internet. Check its DNS, your firewall and your certificate, then Send test postback. A passing test proves your URL answers; it doesn’t prove live conversions route there.We sent it, and your server didn’t credit it
How to confirm: Delivery reads
sentand HTTP status (networks: HTTP) shows a 2xx.Fix: Search your logs for the
action_id. The usual causes: your code dedupes onaction_idalone, so it drops a reversal of a step you already credited; it looks the user up by something other thansub_id(on the Hosted Offerwall,sub_idis theuidyou launched with); or it answers 200 before the crediting fails.Networks: your server stopped trusting the signature
How to confirm: Your server rejects our postbacks with a 401, and someone recently generated or revoked the Webhook Secret under Workspace settings.
Fix: Generating a secret replaces the old one at once. Revoking it means postbacks arrive with no
verifier. Put the current secret on your server, or stop requiring one, then use Test Postback.
- The email you sign in with, and your role: publisher or network.
- The
action_idfrom Flight Recorder, or the user’s Sub ID and the offer ID. - When the conversion happened, with your time zone.
- What Your postback delivery (networks: Network Delivery Response) shows: the status, the HTTP status and Error.
- The masked URL from Copy request (networks: Masked URL). Never send your secret.