click_id query parameter to every referral-link visit; you store it and send it back when the visitor signs up or purchases.
Unlike the REST API, the postback URL requires no API key — attribution is scoped by your program’s public ID and a valid click ID.
How it works
- A visitor clicks a partner’s referral link. Partnero records the click and generates a unique click ID.
- Your site receives the click ID — as a
click_idquery parameter on the landing URL, in thepartnero_click_idcookie set by PartneroJS, or as a response from the click registration API (see Where the click ID comes from). - You store the
click_idvalue — in your session, database, or any storage that survives until conversion. - Your server calls the postback URL with that
click_idwhen the visitor converts. Partnero matches it to the click and attributes the sign-up or sale to the right partner.
Where the click ID comes from
Partnero generates a click ID in three ways. All three create the same click record — pick whichever fits your setup.1. Referral link redirect
If your referral links go through a connected tracking domain (for examplego.yourdomain.com/john), the redirect automatically appends the click ID to the destination URL:
2. PartneroJS (direct links)
If referral links point straight at your site (for examplehttps://your-site.com/?aff=john) there is no redirect, so the PartneroJS snippet registers the click for you. On a referred visit it requests a click ID and stores it in a first-party cookie:
partnero_click_id input into any <form data-partnero> form. If the visitor arrived through a redirect that already carries a click_id parameter, the snippet reuses it instead of registering a duplicate click.
3. Click registration API
Use this when neither of the options above fits: your referral links point straight at your site, but you don’t run PartneroJS — for example a backend-only integration, a mobile app, or a server-rendered site without the snippet. Your own code registers the click and receives the click ID in return.1
Capture the referral key on landing
When a visitor arrives through a referral link like
https://your-site.com/?aff=john, read the partner’s referral key (john) from the URL — the same way you would for any referral tracking.2
Register the click
Send the referral key to the click registration endpoint.
{pub_id} is your program’s public ID, shown on the Postbacks page. No API key is needed.3
Store the returned click ID
A successful registration returns the click ID:Store it with the visitor’s session or user record, and send it back in the postback when they convert.
Register one click per referred landing — not on every page view. Like the postback endpoint, this endpoint responds
200 with an empty JSON body on any failure (unknown program, unknown partner, or postback tracking disabled), and requests are rate-limited to 60 per minute per IP.Enable postback tracking
- In the Partnero dashboard, open Program → Integration → Postbacks (affiliate programs).
- In the Inbound S2S tracking section, switch on Postback (S2S) tracking.
click_id parameter, PartneroJS starts registering clicks on direct referral visits, and the click registration API becomes active.
The postback endpoint
{pub_id}is your program’s public ID — the same ID used by the PartneroJS snippet. You don’t need to build the URL yourself: the Postbacks page shows your program’s complete endpoint, ready to copy.- Both
GET(query parameters) andPOST(form or JSON body) are accepted. - No authentication token is required. Requests are matched by the
click_idvalue; requests with an unknownclick_idare silently ignored. - The endpoint always responds
200 OK, whether or not the postback matched a click. This is intentional: it prevents third parties from probing for valid click IDs.
event parameter.
Register a sign-up (customer_create)
Register a sale (transaction_create)
Trackable query parameters (sub-IDs)
Partners who run traffic through their own tracking platforms append extra parameters to referral links — typically their tracker’s click ID or campaign sub-IDs:- in click analytics, and
- as placeholders in affiliate postbacks, so the partner’s tracker gets its own click ID echoed back at conversion.
clickid, sub1, aff_sub, s1, …) are available as one-click suggestions in the dashboard.
Storing the click ID
Readclick_id from the landing URL (redirect setups) or from the partnero_click_id cookie (PartneroJS setups) and persist it the same way you would a referral key:
- Server (session)
- Browser (forward to backend)
- At conversion (server)
Postback URL tracking vs. REST API
Checklist
- Enable Postback (S2S) tracking under Program → Integration → Postbacks.
- Store the
click_idfrom the landing URL between click and conversion. - Call the postback endpoint with
event=customer_createat sign-up. - Call it with
event=transaction_createat purchase. - Optionally, define trackable query parameters so partner sub-IDs are captured too.
Frequently asked questions
Does the postback endpoint need an API key?
Does the postback endpoint need an API key?
No. Requests are scoped by your program’s public ID and matched by the
click_id; unknown click IDs are ignored.Why does the endpoint always return 200?
Why does the endpoint always return 200?
To avoid leaking which click IDs are valid. To debug deliveries, open Logs in the Inbound S2S tracking section of the Postbacks page — every incoming request is recorded with its parameters and outcome (
success, failed, or ignored).Can I use GET and POST interchangeably?
Can I use GET and POST interchangeably?
Yes. GET takes query parameters; POST accepts the same fields as form data or JSON.
What happens if the same click_id is sent twice?
What happens if the same click_id is sent twice?
Both events are safe to retry.
customer_create is idempotent — if a customer with the same key already exists, the request succeeds and returns the existing customer. Transactions are deduplicated by your transaction key — send a unique order or invoice ID per sale.Next steps
Affiliate postbacks
Echo conversions back to your partners’ tracking platforms
REST API S2S tracking
API-key-based server-side tracking with full field control
