Conversions Not Showing Up

In the docs

Your clicks are tracked but sales or leads never appear in Prosper202. This checklist walks through every link in the chain, in order, so you can find the one that is broken. It applies to Prosper202 ClickServer 1.9.78.

How a conversion reaches Prosper202

Every click gets a unique number, its SubID. A conversion is recorded only when that number makes a round trip:

  1. Your campaign URL hands the SubID to the network, in the network's own SubID parameter (for example aff_sub=[[subid]]).
  2. The network stores it with the click on its side.
  3. When the visitor converts, the network sends the same number back: its server calls your postback URL, or your thank-you page loads your pixel.
  4. Prosper202 finds the click with that SubID and records the conversion on it.

If any step breaks, nothing is recorded. Work through the steps below in order.

Step 1: Check the click was recorded

Click your own tracking link, then open the Spy tab, which shows the clicks of the past 24 hours as they arrive. For older clicks, use the Visitors tab. If your click is not there, the problem is your tracking link, not conversion tracking: go back to setup guide Step 8 (Tracking Link).

Your own test clicks show as filtered, because they come from the IP address you last signed in from (see the FAQ). That is expected.

Step 2: Check the campaign URL passes the SubID

Open Setup > Campaigns and look at the campaign URL. It must end with your network's SubID parameter followed by the [[subid]] token, as setup guide Step 3 explains. For a HasOffers network that is:

https://network.example/aff_c?offer_id=123&aff_id=456&aff_sub=[[subid]]
  • The parameter name differs from network to network. Look yours up in Common Network SubID Parameters, or ask your affiliate manager.
  • If your network usually uses s1, use s2 instead, in both the campaign URL and the postback (see setup guide Step 9).
  • Check your network's own click or conversion report: the SubID column should show Prosper202's numbers. If it is empty, or shows the text [[subid]], the network is not receiving the SubID and cannot send it back.

Step 3: Check the postback URL or pixel

Open Setup > Postback/Pixel. The simple postback URL looks like this, with your own tracking domain and install folder:

https://your-tracking-domain.com/tracking202/static/gpb.php?amount=&subid={aff_sub}
  • subid must hold your network's token for the SubID, the one that matches the parameter in your campaign URL: aff_sub= in the campaign URL goes with {aff_sub} here. The Sub id placeholder field on the page fills it in. Left empty, the URL ends in subid= and you have to add the token yourself.
  • If your network only supports sid, change ?subid= to ?sid=. The postback accepts either.
  • amount is optional. Empty, each conversion pays the campaign's payout from setup guide Step 3 (Campaigns). A number, or your network's payout token, overrides it.
  • Pick https:// under Protocol only when your tracking domain has a valid certificate.

Give the postback URL to your network (or paste it into the offer's postback setting), or place the pixel on the page your visitor sees after converting. Check with your network which of the two it supports; setup guide Step 9 covers the choice.

Step 4: Test the postback yourself

You can call the postback URL from your browser to see what Prosper202 says about it:

  1. Click your tracking link and find the click's SubID in the Spy tab.
  2. Open your postback URL in a browser with the network's token replaced by that number, for example https://your-tracking-domain.com/tracking202/static/gpb.php?amount=&subid=1234.
  3. Read the answer:
AnswerWhat it means
An empty page, or Postback successfulThe conversion was recorded, or that click had already converted.
{"error":true,"code":404,"msg":"SubID not found"}The subid was missing, or was not a whole number. If your network's log shows the same answer, it is sending its token unreplaced (such as the literal text {aff_sub}) or using a different parameter name.
{"error":true,"code":404,"msg":"Click data not found"}The number is not a click on this install. Check the network is sending Prosper202's SubID and not its own click ID, and that the postback points at the install that recorded the click.
{"error":true,"code":500,"msg":"Failed to record conversion"}The click was found but the conversion could not be saved. Check your server's PHP error log.

A successful test records a real conversion on that click. To take it back, paste the SubID into Update > Delete Subids (shown to users whose role may delete subids): the click stays, and its conversions are deleted.

If your browser test works but real conversions still don't arrive, look at your network's postback log. It shows the URL the network called and the answer it got back, which is one of the answers above.

Step 5: If you use the pixel

The pixel (gpx.php) runs in the visitor's browser, so it depends on things the postback does not:

  • The pixel must load. It has to be on the page the visitor sees after converting, and that page has to load it.
  • Use HTTPS everywhere. When the pixel carries no SubID, Prosper202 finds the click from the cookie it set when the visitor clicked. A pixel on another website can get that cookie only when your tracking domain runs on HTTPS. Over plain HTTP it cannot, and Prosper202 falls back to the most recent click from the visitor's IP address in the last 30 days, which may be the wrong click or none at all. As setup guide Step 9 says, if you are on HTTPS, your whole setup should be on HTTPS.
  • Pass the SubID when you can. If the network lets you put its SubID token in the pixel (subid=), the pixel no longer needs the cookie.
  • An unreplaced token records nothing. If the pixel's subid= holds text that is not a number, such as a token the network didn't fill in, Prosper202 ignores the request instead of guessing.

If your network supports a postback, use it: it does not depend on the visitor's browser.

Step 6: Only one conversion per click, unless you send a transaction ID

Without a transaction ID, a click converts once. A second postback or pixel for the same click is treated as a repeat and adds nothing, so a network that retries does not double your numbers. If one click can really produce several sales (upsells, rebills), add the network's transaction ID token to the postback or pixel under one of these names: txid, transaction_id, transactionid, order_id, orderid or oid. Each new ID is then a new conversion, and a repeated ID is still counted once. See Transactions ID for funnels.

Step 7: Older per-campaign postback URLs

If your network still calls an older per-campaign postback URL (pb.php?acip=…&subid=…), the SubID must belong to a click on that same campaign. Otherwise it answers Unknown subid for this campaign and records nothing. The global postback URL from Setup > Postback/Pixel does not have this limit.

Step 8: Look in the right date range and time zone

Reports place a conversion on the date and hour of its click, not the date it converted. A sale today from a click last week appears in last week's numbers. Widen the date range if a late conversion seems to be missing.

Report days start and end in your account's time zone, set under My Account > Personal Settings, in the Profile section. If it differs from your network's time zone, daily totals near midnight won't line up.

Also check the report's filters. The FAQ has more on finding data in Group Overview.

Step 9: Add missing conversions by hand

While you fix the setup, you can record conversions your network reports but Prosper202 missed:

  • Update > Update Subids: paste the SubIDs from your network's report, one per line. Each click is recorded as a conversion at its campaign's payout. A click that already converted is left as it is, so pasting the same list twice changes nothing.
  • Update > Upload Revenue Reports: upload your network's CSV report to record the exact amount each SubID earned.

Still not working?

If you have been through every step and conversions still don't appear, collect the campaign URL, the postback URL or pixel exactly as your network has it, a SubID that should have converted, and the answer from your network's postback log. Then see Help and Support for the paid support plans, which cover troubleshooting your setup.