Start
S2S Postback API for Advertisers
Track conversions from your offers via server-to-server postback. PopunderStore uses a unique clickid for every click, so you can attribute revenue accurately and optimize campaigns based on real performance.
Version v1 Endpoint: GET Format: JSON response No API key required
Base endpoint
Use this URL to send conversion events to PopunderStore.
https://api.popunder.store/v1/postback.php
Recommended method: HTTP GET
Charset: UTF-8
1. Overview
With S2S postback, your tracking platform notifies PopunderStore when a user converts (registration, deposit, purchase, etc.). We match the conversion to the original click using clickid and update your campaign statistics.

How it works

  1. User clicks your ad. PopunderStore generates a unique clickid.
  2. We append clickid to your tracking URL and redirect the user.
  3. Your tracker or backend stores this value.
  4. After the user converts, your system fires a request to our postback endpoint.
  5. We store the conversion and link it to the original traffic log, site and source (internally).

Basic postback format

https://api.popunder.store/v1/postback.php?clickid={clickid}&revenue={revenue}

Full postback with SubIDs

https://api.popunder.store/v1/postback.php ?clickid={clickid} &revenue={revenue} &subid0={subid0} &subid1={subid1} &subid2={subid2} &subid3={subid3} &subid4={subid4}

Parameters

Parameter
Required
Type
Description
clickid
Yes
string
Unique click identifier generated by PopunderStore and passed to your URL as clickid. You must store it and send back on conversion. Alias: click_id.
revenue
No
float
Conversion revenue / payout for this click. If omitted, defaults to 0.
Aliases: payout, cost — all are mapped to the same internal revenue field.
currency
No
string
ISO currency code (e.g. USD, EUR). Default: USD.
The value is uppercased and truncated to 3 characters on our side.
subid0–subid4
No
string
Optional SubIDs for your own reporting: GEO, traffic source, campaign ID in your tracker, landing page, creative ID, user ID, etc. All values are stored as-is and available in the /v1/conversions.php endpoint.
txid / tid / transaction_id
No
string
External transaction ID from your platform (payment ID, lead ID, etc.). Stored as external_id and useful for reconciliation and anti-fraud.

SubID usage examples

  • subid0=US – country or region
  • subid1=GoogleAds – traffic source
  • subid2=LP_A – landing page variant
  • subid3=adset_42 – adset/group id
  • subid4=user123 – internal user or session id

Integration checklist

  • Receive clickid parameter on your side.
  • Store it for each session or click in your tracker or backend.
  • On conversion, send a GET request to the postback endpoint with clickid and (optionally) revenue, currency, SubIDs and transaction id.
  • Check that the endpoint returns "status": "ok".
  • Use /v1/conversions.php to retrieve per-conversion data, including site_id and source.
2. Response format
All responses are returned in JSON. A successful request will always have "status": "ok". Internal IDs such as publisher and raw traffic log identifiers are not exposed.
Success Standard conversion
{ "status": "ok", "clickid": "22d69d308430f3eaaa569df11e17fb36", "campaign_id": 18, "revenue": 1.23, "currency": "USD", "created_at": "2025-11-26 14:32:10" }
Success Duplicate conversion
{ "status": "ok", "note": "duplicate", "message": "Conversion for this clickid already exists", "clickid": "22d69d308430f3eaaa569df11e17fb36", "campaign_id": 18, "revenue": 1.23, "currency": "USD" }
By default, PopunderStore stores only one conversion per clickid. If you need to support multiple conversions per click, please contact support.
Error Missing clickid
{ "status": "error", "error": "missing_clickid", "message": "clickid parameter is required" }
Error Unknown clickid
{ "status": "error", "error": "click_not_found", "message": "Click with this clickid was not found" }
Error System / DB error
{ "status": "error", "error": "internal_error", "message": "Unexpected server error" }
In case of any unexpected errors, please send us the full response and request URL so we can investigate. Detailed technical information is logged on our side but not exposed in the API for security reasons.

3. Ready-to-use examples

Basic postback
https://api.popunder.store/v1/postback.php?clickid=abc123&revenue=1.20
Postback with SubIDs
https://api.popunder.store/v1/postback.php ?clickid=abc123 &revenue=0.85 &subid0=US &subid1=GoogleAds &subid2=LP_A
Postback with external transaction id
https://api.popunder.store/v1/postback.php ?clickid=abc123 &revenue=3.50 &txid=95832931
Integration & technical support
For any questions about postback setup, testing or custom parameters, please contact:
help@popunder.store
Our team is available to help you integrate as fast as possible.