Tracking & Tools · 7 min

How to Set Up Postback Tracking for CPL Offers (Step-by-Step)

Learn how to set up S2S postback tracking for CPL campaigns. Covers postback URL format, setting up BeMob tracker, placing tracking pixels, testing conversions, and fixing common tracking problems.

Published 2026-06-17

You are sending traffic to a CPL offer. Some visitors convert. But how do you know WHICH traffic source, which landing page, or which keyword produced the conversion?

Without postback tracking, you are blind. You might be spending $50/day on traffic that never converts, or killing a campaign that was actually profitable from a specific source you could not see. If your leads are converting but getting rejected, our conversion troubleshooting guide covers the other side — what happens after the postback fires.

Here is exactly how to set up server-to-server (S2S) postback tracking for CPL offers.


Why Postback Tracking Is Different from Google Analytics

Google Analytics tells you a visitor landed on your page. It does NOT tell you they completed a CPL offer on someone else’s domain. The conversion happens on the advertiser’s landing page, not yours. You need the advertiser or network to send that conversion data back to your tracker.

That is what a postback does: the network pings your tracking URL when a conversion happens.

[Your Traffic] → [Your Landing Page] → [Advertiser Offer Page] → [User Converts]

                                              [Network sends postback to your tracker]

What You Need Before Starting

  1. A tracker account — BeMob (free tier works), Voluum, RedTrack, or Binom
  2. An approved CPL offer — any offer from CPAGrip, CPAlead, MyLead, MaxBounty, etc.
  3. Your tracker’s postback URL — you will find this in your tracker settings

We will use BeMob as the example because it is free and what I use.


Step 1: Get Your Postback URL from BeMob

  1. Log into BeMob → click your profile icon → Settings
  2. Scroll to Postback section
  3. Copy the S2S Postback URL. It looks like:
https://track.bemobtrk.com/postback?cid=REPLACE&payout=REPLACE&txid=REPLACE

The REPLACE placeholders are dynamic tokens that the network fills in with real data when a conversion fires. Different networks use different token formats, but BeMob accepts most.


In your affiliate network dashboard, find your offer and click Get Tracking Link or Create Campaign Link.

Most networks will give you a URL like:

https://cpagrip.com/track?id=12345&click_id={click_id}

The part in brackets {click_id} is the dynamic token that changes for every click. This is the most important part. Common token formats by network:

NetworkClick ID TokenPostback Token
CPAGrip{click_id}{click_id}
CPAlead{aff_sub}{aff_sub}
MyLead{clickid}{clickid}
MaxBounty{s1} or {tid1}{s1} / {tid1}
AdWork Media{click_id}{click_id}

The network uses this token as a key to match which click produced which conversion. Without it, the network cannot send the conversion back to you.


Step 3: Create a Campaign in BeMob

  1. Go to BeMob dashboard → CampaignsNew

  2. Fill in:

    • Campaign Name: Something recognizable like “CPAGrip — Sweepstakes iPhone US”
    • Traffic Source: Select your traffic source or choose “Direct” if testing
    • Destination: Choose a Built-In Flow
  3. In the flow builder:

    • Add your Landing Page URL (the page visitors see before the offer)
    • Connect it to the Offer → paste your affiliate offer link with the token
  4. Click Save. You now have a campaign with a unique Campaign URL.

The campaign URL looks like:

https://track.bemobtrk.com/click/abc123?campaign_id=456

You send traffic to THIS URL, not directly to the offer. It tracks the click, then redirects to your landing page or offer.


Step 4: Configure the Postback in Your Network

Now you need to tell the network WHERE to send conversion data.

  1. In your affiliate network, go to your account settings or the offer’s tracking settings
  2. Look for Postback URL, Global Postback, or Server-to-Server (S2S) Postback
  3. Paste your BeMob postback URL, but replace the tokens to match the network:

For CPAGrip, your postback URL becomes:

https://track.bemobtrk.com/postback?cid={click_id}&payout={payout}

For MyLead:

https://track.bemobtrk.com/postback?cid={clickid}&payout={amount}

The cid parameter receives the network’s click ID token. The payout parameter receives the actual commission amount (most networks support a payout token like {payout}, {amount}, {revenue}, or {commission}).

If your network does not support a payout token, just use payout=0 — you can update it manually later.


Step 5: Test the Postback

Never run traffic without testing the postback first. A broken postback means you are spending money with zero conversion data.

How to test:

  1. Click your BeMob campaign URL
  2. Complete the offer yourself (or use a test lead if the network supports it)
  3. Wait 1–5 minutes for the conversion to appear in BeMob

If the conversion does not show up, check:

  • Wrong token: Did you use {click_id} on CPAGrip but the network expects {aff_sub}? Compare with the network’s documentation.
  • Postback not saved: Some networks require you to save/activate the postback URL. Double-check settings.
  • HTTP vs HTTPS: If your tracker uses HTTPS but you pasted HTTP, the postback may fail silently.
  • Test mode: Some networks require you to approve test conversions before postbacks fire. Check your offer settings.
  • Firewall/ad blocker: Your browser’s ad blocker may be blocking the tracking pixel. Test in an incognito window or disable extensions.

Quick test using the network’s test tool:

Many networks (including CPAGrip and MyLead) have a Test Postback button in the offer settings. Click it, fill in a dummy click ID and payout, and verify it shows up in BeMob instantly.


Tracking Multiple Traffic Sources

If you send traffic from multiple sources (Google, Facebook, email, pop-under), you need to know which source produced the conversion. This is where sub IDs come in.

BeMob lets you pass sub IDs in your campaign URL:

https://track.bemobtrk.com/click/abc123?campaign_id=456&subid=google-ad-1

You can also add UTM-style parameters:

?subid=facebook-campaign-3&keyword=cheap-car-insurance

These sub IDs appear in your BeMob reports, so you can see:

  • Which ad creative converted best
  • Which keyword produced the most revenue
  • Which landing page variant had the highest conversion rate

For more advanced setups, read my guide on CPL Sub-ID Tracking.


S2S Postback vs. Tracking Pixel

There are two ways to track conversions:

S2S PostbackTracking Pixel
How it worksNetwork sends a server request to your trackerA 1x1 pixel fires on the thank-you page
Reliability✅ Very reliable — server-to-server, no browser issues⚠️ Can be blocked by ad blockers or browser privacy settings
Data✅ Passes click ID, payout amount, and conversion ID⚠️ Usually only records that a conversion happened
Setup difficulty⚠️ Requires token configuration✅ Just paste an image URL
Best forCPL networks and any serious trackingQuick testing or platforms without postback support

Always use S2S postback when available. It is slightly more work to set up but much more reliable. Pixels fail silently — you might lose 10–30% of your conversion data without knowing it.


Common Postback Problems (and Fixes)

Problem: Conversions show $0 payout in tracker

Fix: Your network’s payout token is wrong or not supported. Check the network’s postback documentation. Common payout tokens: {payout}, {amount}, {revenue}, {commission}, {rate}. If none work, set a fixed value in BeMob under the offer’s payout settings.

Problem: Postback fires but no click ID match

Fix: The token you are passing in your offer link does not match the token the network is sending back. Example: you pass {click_id} but the network sends back {clickid} (no underscore). Match them exactly.

Problem: Duplicate conversions

Fix: Most trackers have a duplicate check setting (usually the transaction ID). Enable it. If your network passes a unique {transaction_id} or {conversion_id}, add it as a dedup key.

Problem: Postback works in test but not in production

Fix: The test tool bypasses the network’s fraud filter. In production, conversions that fail the network’s quality check will not fire a postback. This is normal — it means those leads were rejected. Check your network’s lead quality dashboard.


CPAGrip

  1. Go to Account → Global Postback
  2. Paste: https://track.bemobtrk.com/postback?cid={click_id}&payout={payout}
  3. Click Test to verify
  4. Save Global Postback

MyLead

  1. Go to My Account → Global Postback
  2. Set method to Server-to-Server (GET)
  3. Paste: https://track.bemobtrk.com/postback?cid={clickid}&payout={rate}
  4. Save

CPAlead

  1. Go to Settings → Conversion Tracking
  2. Select S2S Postback
  3. Paste: https://track.bemobtrk.com/postback?cid={aff_sub}&payout={payout}
  4. Activate

The Bottom Line

Postback tracking is not optional in CPL affiliate marketing. If you are sending traffic without it, you are gambling. You cannot optimize what you cannot measure.

The 10 minutes it takes to set up is the difference between knowing exactly what makes money and guessing.

Set it up once, test it hard, and then you can scale with confidence.


This guide uses BeMob as the example tracker. The postback logic is the same for Voluum, RedTrack, Binom, and any other S2S-compatible tracker. Adjust the postback URL format to match your tracker’s documentation.

Some links in our articles may be affiliate or referral links. If you click one and make a purchase or sign up, FreeGift may earn a commission at no extra cost to you. We only recommend products and networks we have researched and believe are useful for our readers. See our full affiliate disclosure.