Tracked
Articles

PropellerAds tracking

PropellerAds postback setup: click IDs and S2S conversions

Keep the tracker click ID separate from PropellerAds' ${SUBID}. Record the network conversion first, then return the stored source ID through a separately configured PropellerAds postback.

PropellerAds S2S conversion tracking returns the ad click's preserved ${SUBID} value to the postback URL generated in your PropellerAds account. When an affiliate tracker sits between the ad and the offer, there are two handoffs: the affiliate network records a conversion in the tracker, then a separately configured outbound callback tells PropellerAds. Those handoffs use different click IDs. Tracked supports the inbound tracking pieces, but automatic PropellerAds forwarding is not verified.

A sale appearing in your tracker does not mean PropellerAds received it. Keep the two handoffs separate when setting up the campaign or investigating missing conversions.

Which click ID belongs in each postback?

PropellerAds' official S2S setup guide identifies ${SUBID} as its conversion-tracking ID token. PropellerAds expands that token when delivering the ad click. Your tracker must capture the resulting value and retain it with the click journey.

The tracker also creates its own click ID. The affiliate network stores that second ID and returns it when a conversion happens.

Value or fieldWho creates it?Where it goesWhat it identifies
${SUBID}PropellerAds expands this input tokenAd Target URL, under a tracker-configured parameterThe original PropellerAds click
sourceIDAn illustrative parameter name you chooseTracker arrival URL and source-ID storageThe captured value from ${SUBID}; not a universal macro
Tracker offer-click IDYour trackerAffiliate network's documented sub-ID fieldThe click the network must return to the tracker
Tracked click_idInbound postback parameter nameTracked /postback endpointMust contain the Tracked offer-click ID, not the PropellerAds ID
PropellerAds visitor_idOutbound postback parameter nameAccount-generated PropellerAds callbackMust contain the stored PropellerAds ${SUBID} value
aid, pid, tidIncluded in the account-generated callbackPreserve in the PropellerAds URLAccount-generated configuration; not tracker click-ID fields

The labels may differ between systems. The values must survive unchanged. Do not replace the tracker ID with the source ID because both fields happen to contain the word “click.”

Step 1: Capture the PropellerAds source ID

Generic arrival example, not a ready-made Tracked integration:

https://tracker.example/campaign?sourceID=${SUBID}

Here, sourceID is a chosen query parameter. Configure your tracker to read it as the traffic source's click ID. It is not a PropellerAds-required parameter name or a built-in Tracked token.

Available Tracked input: a custom platform's Click ID Parameter tells Tracked which incoming query key to read. If you choose sourceID, that setting and the campaign URL must use exactly the same key. Associate the campaign with the intended platform. Tracked stores the captured value as the platform click ID.

Check the final Target URL before using it. If the URL generator needs a source token, configure ${SUBID} explicitly rather than accepting a generic placeholder. Parameters are not automatically preserved through every destination; Tracked's passthrough is macro-driven.

PropellerAds documents these aliases when a tracker cannot handle the standard token's characters:

{SUBID}, {CLICKID}, {click_id}, {clickid}, {CLICK_ID}, ${subid}, _~click_id~_

These are PropellerAds input aliases. They do not become valid tracker output tokens merely because they appear in a URL. A literal ${SUBID} stored on an arrival means you have not established successful expansion.

Step 2: Record the network conversion in the tracker

This is the inbound affiliate-network → tracker handoff. Send the tracker-generated offer-click ID to the network's documented sub-ID field.

Verified Tracked macro syntax, with an illustrative network field:

https://advertiser.example/offer?sub1={{click.id}}

Use a tracked offer action such as /click/N so the offer redirect can insert that click's ID. sub1 is an example, not a universal network parameter. The affiliate network must save its value.

Then configure the network's callback to return that saved value:

https://YOUR_TRACKED_DOMAIN/postback?click_id=NETWORK_MACRO_FOR_TRACKED_ID&payout=NETWORK_PAYOUT_MACRO

The capitalized values are explanatory placeholders, not working macros. Replace them with the sending network's documented tokens. NETWORK_MACRO_FOR_TRACKED_ID must resolve to the saved Tracked ID, not the PropellerAds source ID.

For Tracked's primary sale callback, leave out type and conversion_type. Explicitly typed callbacks are secondary funnel events and currently record zero payout, even when a payout parameter is supplied. Configure the Offer's implicit default event for the primary path. The postback URL guide explains that contract and the available fields.

At this point, you have configured conversion recording in Tracked. You have not established delivery to PropellerAds.

Step 3: Copy the account-generated PropellerAds callback

In PropellerAds, open Tracking. If your tracker is not listed, the official guide says to select Other tracker or CPA network. Copy the URL generated for your account.

PropellerAds documents this callback shape:

http://ad.propellerads.com/conversion.php?aid=xxxxx&pid=&tid=yyyyy&visitor_id=${SUBID}

This is a documentation example, not a URL to send. xxxxx and yyyyy are placeholders. Preserve your own generated account fields, including the generated pid value or empty value. Do not borrow another account's callback.

The example uses HTTP. Keep the exact scheme and endpoint generated by your account; this article does not verify an HTTPS equivalent. If your sending system requires HTTPS, resolve that mismatch with PropellerAds and your tracker before configuring delivery. Do not silently change the scheme or route the callback through an unreviewed relay.

Step 4: Substitute the stored source ID on the outbound handoff

This is the outbound tracker → PropellerAds handoff. In the copied callback, replace the ${SUBID} placeholder with your sending system's documented output token for the stored PropellerAds source ID.

Generic substitution sketch, not Tracked syntax:

visitor_id=TRACKER_OUTPUT_TOKEN_FOR_STORED_PROPELLERADS_ID

At send time, the system must resolve that output token to the original captured source value. Do not send the literal token, a newly generated tracker ID, or the affiliate network's transaction ID.

The same spelling can mean different things in different systems. For example, PropellerAds supports {click_id} as an arrival alias. Tracked's legacy custom outbound templates also use {click_id} for the stored platform click ID. Those are separate substitution contexts, not interchangeable instructions. Removing ${SUBID} from the arrival URL would prevent source capture; leaving it unresolved in an outbound template would prevent correct feedback.

Tracked boundary: generic outbound template support is not evidence of a working PropellerAds connection. Tracked's provider endpoint validation requires HTTPS, while the official PropellerAds example above uses HTTP. No verified native PropellerAds integration or complete account-generated callback delivery path was established for this guide.

Step 5: Map payout and optional conversion goals deliberately

The PropellerAds guide says its payout placeholder can be adjusted to match your tracker or CPA network. If your generated callback includes a payout field, map it to the intended conversion value using the sender's documented syntax. Preserve the generated field name. Do not invent a payout parameter from a different provider's recipe.

Affiliate payout, advertiser order value, and ad spend are different amounts. Choose the value you intend to report. Recording payout on Tracked's inbound endpoint does not itself send that amount to PropellerAds.

For multiple conversion stages, PropellerAds documents:

PropellerAds stageCallback settingBoundary
Main conversionMain generated callback, without an additional goal selectorOnly main-postback events affect performance in CPA Goal campaigns
Second-level conversionAdd goal=2Requires explicit event mapping in the sender
Third-level conversionAdd goal=3Requires explicit event mapping in the sender

Each stage must return the same preserved PropellerAds visitor/sub ID. PropellerAds gives registration, first-time deposit, and redeposit as examples, not mandatory event definitions. Decide which business event is primary before mapping stages. A secondary goal is not an extra primary CPA Goal signal.

Troubleshoot the handoff that failed

SymptomLikely boundaryWhat to inspect
Arrival stores literal ${SUBID}PropellerAds → trackerTarget URL token, source expansion, and capture parameter
Source ID is blankTracker captureExact query-key spelling and campaign platform association
Network reports a sale, tracker does notNetwork → trackerSaved tracker offer-click ID and the delivered inbound callback
Tracked returns 404 for the callbackTracker click lookupWhether click_id contains a recorded Tracked ID rather than the PropellerAds ID
Tracked records a sale, PropellerAds does notTracker → PropellerAdsWhether an outbound sender actually exists and is configured
Callback cannot be savedSender endpoint restrictionsAccount-generated scheme versus the sender's HTTPS requirement
Goal 2 appears but CPA Goal performance does not changeGoal semanticsOnly the main postback affects CPA Goal performance
Secondary payout is zero in TrackedInbound event semanticsExplicit type or conversion_type makes the callback secondary

For any authorized campaign verification, inspect the arrival, stored IDs, inbound record, outbound request, and provider reporting separately. An HTTP success response alone does not prove attribution. PropellerAds says conversions can take up to 24 hours to register in statistics. Avoid repeated callbacks merely because reporting is delayed.

The postback troubleshooting guide covers missing inbound conversions in more detail.

Where Tracked is today

Tracked supports custom platform click-ID capture, tracked offer-click macros, inbound conversion postbacks, reports, and event journeys. You can use those pieces to keep the PropellerAds source ID separate from the ID returned by an affiliate network.

The missing boundary is a verified PropellerAds outbound workflow. This guide does not establish a native account connection, automatic forwarding, spend sync, or compatibility between Tracked's HTTPS-only endpoint validation and the documented HTTP callback. Do not select Tracked on the assumption that signup activates those capabilities.

Provider support differs. A working conversion destination for another ad network does not establish PropellerAds delivery. Read native integrations versus postbacks versus conversion APIs before treating a source token or custom platform as a complete integration.

Frequently asked questions

What is the PropellerAds conversion-tracking token?

${SUBID} is the documented token for tracking conversions. Add it to the ad Target URL under the parameter your tracker captures. Preserve its expanded value for the later PropellerAds callback.

Does the affiliate network return the PropellerAds ID to Tracked?

Not for the inbound contract described here. It returns the Tracked offer-click ID as click_id. Tracked uses that ID to find the recorded click, which separately retains the captured platform click ID.

What should replace ${SUBID} in the outbound postback?

Your sender's output token for the stored PropellerAds source ID. Use the sender's documented syntax. Do not substitute its internal tracker click ID or assume a PropellerAds arrival alias is also an outbound token.

Do goal 2 and goal 3 affect CPA Goal optimization?

PropellerAds says only events from the main postback affect performance in CPA Goal campaigns. goal=2 and goal=3 track additional stages separately, using the same preserved visitor/sub ID.

Does Tracked automatically forward conversions to PropellerAds?

No verified automatic PropellerAds forwarding workflow was established for this article. Tracked's capture and inbound recording capabilities do not prove outbound delivery. The official HTTP example also needs reconciliation with Tracked's HTTPS-only endpoint validation.

How long can PropellerAds conversion reporting take?

The official guide says up to 24 hours. Check that the correct callback was sent before attributing missing statistics to delay, and do not resend indiscriminately.

Sources

Published and sources checked October 27, 2026. This guide is published by Tracked. The setup examples explain configuration; they are not results from a live PropellerAds campaign.

  • PropellerAds Help Center, How to integrate PropellerAds' S2S conversion tracking? — source token and aliases, account-generated callback, payout substitution, optional goals, CPA Goal boundary, and reporting delay.
  • Tracked's current capture, macro, inbound postback, outbound template, and provider-validation code — reviewed read-only for the Tracked-specific inputs and limitations described above.

Start free to evaluate Tracked's available ad tracking and landing-page workflow. Confirm account access and required provider support; signup does not enable a verified PropellerAds integration.