AI Offer Postbacks: Send Conversions to Your Tracker
Set up server-to-server postbacks for OmniPink's AI offers in Everflow: capture a click ID, choose global or offer-specific scope, use the right macros and fix the five most common postback failures.
- 📅 Updated October 23, 2026
- ⏱️ 4 min read
By Enzo Kroes, Onboarding editor
In this step
- A postback tells your tracker or ad platform which click became a paying subscriber.
- It only works if the click ID was captured in your tracking link at click time.
- Use a server-to-server postback, with macros left exactly as written.
- Most failures are an empty click ID, a misspelled macro or a destination returning errors.
If you buy traffic, a postback isn't optional. Without one, your ad platform sees clicks but never sees sales, so it optimizes for the wrong thing and you optimize blind. With one, every approved subscription is reported back to the exact click that produced it.
If you only run free traffic such as SEO, communities or social posts, sub-IDs in your tracking links are usually enough, and you can skip this step for now.
- A visitor clicks your ad. Your tracker or ad platform creates a unique click ID.
- That click ID rides along in your OmniPink tracking link, usually in sub5.
- The visitor subscribes to Sugarlab AI or SpiceStars AI.
- When the conversion is recorded, Everflow calls your postback URL and fills in the click ID.
- Your tracker matches the sale to the original click, campaign and cost.
Step 2 is where most setups break. If the click ID never reached the tracking link, there is nothing to send back.
- Open Postbacks from the main menu and choose add postback.
- Pick Conversion as the tracking type. That is the paid subscription.
- Choose the scope. Global fires for every conversion on your account. Specific fires only for one offer, which is handy when one ad network needs its own endpoint.
- Choose Postback (server to server) as the delivery method. Browser pixels are fragile and easily blocked.
- Paste your postback URL with the macros exactly as written, curly brackets included.
- Save, then verify it with a test as described below.
Most trackers, including RedTrack, Voluum, BeMob, Binom and AnyTrack, accept a simple GET request:
https://your-tracker.example.com/postback?cid={sub5}&payout={payout}&txid={transaction_id}
| Macro | Returns |
|---|---|
{sub5} | The click ID you passed in your tracking link |
{payout} | Your payout for the conversion, in US dollars |
{transaction_id} | The unique ID of the conversion record |
{offer_id} | Which offer converted |
{source_id} | The Source ID on the tracking link |
{sub1} to {sub4} | Your labels from the tracking link |
Heads up: macro names are case sensitive. {Sub5} or {sub_5} are sent as literal text instead of a value. Check spelling against the macro list in your dashboard before you save.
Google, Meta, TikTok and Reddit don't accept simple postback URLs. They use conversion APIs that need authenticated requests. The practical setup is:
- Capture the platform's click ID (
gclid,fbclid,ttclidorrdt_cid) into your tracker. - Pass your tracker's click ID to OmniPink in sub5.
- Point the OmniPink postback at your tracker, and let the tracker forward conversions to the platform.
Adult-friendly networks such as ExoClick, TrafficJunky and TrafficStars usually accept a direct postback URL. Copy the exact format from their conversion tracking page.
- Send one test click through the full path: ad, tracker, tracking link, landing page.
- Check your click report and confirm sub5 holds a real click ID, not an empty value or a macro name.
- Ask support for a test conversion, or wait for your first real sale.
- Open the postback report and confirm the request fired and the destination answered with a success code.
Tip: the debug view on each postback row shows the exact request and response. It answers most "why didn't it fire" questions in seconds.
| Symptom | Likely cause | Fix |
|---|---|---|
| Postback fires with an empty ID | Click ID never captured | Fix the tracking link, not the postback |
Your tracker receives {sub5} as text | Macro misspelled | Copy the macro name exactly |
| Destination returns errors | Wrong URL or missing token | Test the URL in a browser first |
| Postback was switched off | Repeated failures over several days | Fix the cause, then reactivate it |
| Sales counted twice | Two postbacks on the same event | Keep one postback per destination |
Remember that a postback only fires for recorded conversions. A sale still in review hasn't triggered one yet.
- Every paid campaign passes a click ID into your tracking link.
- One postback per destination, saved with macros intact.
- A test click shows a real click ID in your click report.
- You know where the postback report and debug view live.
Next, set up how you get paid in payment setup. For a deeper look at tracking strategy, read the affiliate tracking guide.