Tracked
Articles

Adsterra tracking

Adsterra postback tracking: click IDs and S2S setup

Capture Adsterra's source click ID, record the network conversion against the tracker ID, and configure feedback separately. Tracked's complete Adsterra delivery workflow remains unverified.

Adsterra postback tracking captures ##SUB_ID_SHORT(action)## on the ad click and returns its expanded value to pbterra.com as subid_short after conversion. With an affiliate tracker, the network first returns the tracker's own click ID; a separate outbound callback returns Adsterra's ID. Tracked supports custom source-ID capture and inbound conversion recording, but no verified native or automatic Tracked-to-Adsterra delivery workflow is established here.

This is a general Adsterra S2S workflow with scoped Tracked inputs, not a complete Tracked integration recipe. A conversion in your tracker does not establish that Adsterra received it.

Which click ID belongs in the Adsterra postback?

Adsterra's official token reference identifies ##SUB_ID_SHORT(action)## as its click ID macro. Preserve the spelling, uppercase letters, lowercase action, parentheses, underscores, and both pairs of ## characters. Adsterra explicitly says the hashes make its macros dynamic.

The tracker creates a separate offer-click ID. Keep both IDs attached to the same journey, but do not exchange their roles.

Value or fieldCreated or defined byWhere it belongsMeaning
##SUB_ID_SHORT(action)##Adsterra arrival macroAd campaign URLExpands to the original Adsterra click ID
source_idIllustrative query key you chooseTracker arrival URL and capture settingCarries the expanded Adsterra ID; not an Adsterra-required key
Tracker offer-click IDYour trackerAffiliate network's supported sub-ID fieldIdentifies the click returned by the network
Tracked click_idInbound callback fieldTracked /postbackMust contain the Tracked offer-click ID
Adsterra subid_shortOutbound callback fieldAccount-generated pbterra.com URLMust contain the stored Adsterra source click ID
{clickid}Placeholder in Adsterra's Custom exampleReplace in the outbound templateNeeds your sender's token for the stored source ID
{externalid} / {external_id}Voluum / ClickFlare output syntaxThose trackers' outbound templatesDifferent spellings in different products; neither proves Tracked compatibility

Do not send a campaign ID, placement ID, transaction ID, or the tracker's own click ID as Adsterra's subid_short.

Step 1: Capture Adsterra's click ID on arrival

Generic campaign URL example, not a ready-made Tracked URL:

https://tracker.example/campaign?source_id=##SUB_ID_SHORT(action)##

source_id is an example parameter name. Configure the tracker to capture that exact query key as the source click ID. Adsterra expands the macro when serving traffic; a manually opened URL does not establish that expansion worked.

Tracked's available input: a custom platform exposes a Click ID Parameter setting. If you use source_id, enter that key and associate the campaign with that platform. Tracked reads the configured incoming query parameter and stores its value as the platform click ID. Ensure any campaign-level override matches your intended key.

The value must be Adsterra's expanded identifier, not the literal ##SUB_ID_SHORT(action)## text. Inspect the final campaign URL rather than assuming a URL generator selected the correct source token. Tracked's destination passthrough is macro-driven, not automatic preservation of every query parameter.

URL punctuation matters: # normally starts a browser URL fragment. Adsterra requires its ##...## macro syntax in the campaign configuration. Follow the source's token format and URL checker; do not treat a raw browser visit to the unexpanded example as a valid capture check.

For placement analysis, Adsterra recommends ##PLACEMENT_ID##. Its token reference separately defines ##ZONE_ID## as the publisher's site ID. Neither is a substitute for the click ID.

Step 2: Record the network conversion in the tracker

This is the affiliate network → tracker callback, not the Adsterra feedback callback.

Send the tracker-generated offer-click ID to the affiliate network's documented sub-ID field. For Tracked, the offer URL macro is {{click.id}}:

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

sub1 is illustrative; use the network's actual supported field. A landing page should send the visitor through the tracked offer action, such as /click/N, rather than bypassing the tracker with a hardcoded offer link.

Configure the affiliate network to return its saved Tracked ID:

https://YOUR_TRACKED_DOMAIN/postback?click_id=NETWORK_TOKEN_FOR_TRACKED_ID&payout=NETWORK_PAYOUT_TOKEN

The uppercase values are explanatory placeholders, not working network macros. Replace them with the sending network's documented tokens. click_id must resolve to the saved Tracked offer-click ID, not Adsterra's source ID.

For Tracked's primary sale callback, omit type and conversion_type and configure the Offer's implicit default event. Explicitly typed callbacks are secondary funnel events and currently record zero payout, even when payout is supplied. See the postback URL guide for the inbound contract.

Boundary: recording that conversion in Tracked does not verify automatic forwarding to Adsterra. The remaining steps describe the source's required feedback contract, not a confirmed Tracked setup path.

Step 3: Generate the Adsterra feedback URL

In Adsterra, open Conversion tracking. Select your tracker if supported; Adsterra's S2S guide says to choose Custom for another system. Choose the postback type and click GENERATE POSTBACK. Copy your own account-generated URL.

Adsterra's official setup help documents these structures:

Simple:
http://www.pbterra.com/name/USERNAME/at?subid_short=STORED_ADSTERRA_ID

With USD payout:
http://www.pbterra.com/name/USERNAME/at?subid_short=STORED_ADSTERRA_ID&atpay=PAYOUT

With currency conversion, EUR example:
http://www.pbterra.com/code/EUR/USERNAME/at?subid_short=STORED_ADSTERRA_ID&atpay=PAYOUT

These are explanatory templates, not callbacks to send. USERNAME, STORED_ADSTERRA_ID, and PAYOUT are placeholders. Preserve the username from your account-generated URL: Adsterra's advertiser help says it is case-sensitive.

The documented examples use HTTP, but Adsterra explicitly supports HTTPS too. Its Voluum help includes this HTTPS structure:

https://www.pbterra.com/name/username/at?subid_short={externalid}

Tracked's provider endpoint validation requires HTTPS. Adsterra's documented HTTPS support means the HTTP examples alone are not evidence of a protocol incompatibility. It still does not establish that a complete Tracked outbound configuration works.

Step 4: Substitute the stored source ID in the sender

This is the tracker → Adsterra handoff. Configure the sending system to replace the callback's click-ID placeholder with its output token for the stored Adsterra source ID.

Adsterra's Custom example uses {clickid} as a replaceable placeholder. Its Voluum example uses {externalid}. ClickFlare documents {external_id}. Copying one product's spelling into another does not make it valid.

The outbound request must ultimately contain the original Adsterra ID as subid_short. It must not contain the literal arrival macro ##SUB_ID_SHORT(action)##, an unresolved sender token, or a Tracked offer-click ID.

No verified Tracked-to-Adsterra delivery recipe was established for this article. Generic templates, custom platform settings, and another tracker's working integration do not prove a native connection, automatic event forwarding, or successful attribution in Adsterra.

Step 5: Map payout, currency, and events separately

Adsterra calls its outbound payout field atpay, not payout. The latter may be a sender's token or Tracked's inbound field; those are separate contexts.

The simple variable-payout format is for USD. For a non-USD payout, Adsterra documents a currency-conversion path such as /code/EUR/USERNAME/at. Ask Adsterra support for the appropriate currency code rather than inventing a query field.

Adsterra's Voluum help defines payout as the price paid for a conversion and says a supplied postback payout takes priority over the payout set in the Adsterra campaign. Decide what amount you intend to send. Affiliate commission, order revenue, and the amount paid for traffic are not automatically equivalent.

Cost tokens are another input entirely. Adsterra's official token reference says ##COST_CPC## supplies click cost on CPC campaigns and cost per impression on CPM campaigns. ##COST_CPM## is per 1,000 impressions, while ##COST_CPA## applies to CPA campaigns. Those tokens are not conversion payouts or proof of automatic spend sync in Tracked.

For funnel stages, Adsterra's multi-event guide documents:

Source action or eventAdsterra callback settingSetup boundary
Main actionBase callback without an additional event selectorDefine which business action it represents
Additional eventevent=event1, event=event2, or event=event3Keep these exact identifiers; use one callback per event
Paying for a particular funnel stageSupport-provided configurationContact Adsterra to align paid actions and obtain the correct URLs

Adsterra states a maximum of three conversion events. Do not infer an unlimited funnel or promise an extra paid action for every reporting event. Its examples retain a main action and add event selectors; confirm your intended stage allocation with support when the limit matters.

Enable I've set up events postback for this campaign in Adsterra's campaign settings when using its multi-event setup. In reporting, turn on Multievents to inspect the separate stages. An inbound Tracked event name does not automatically become an Adsterra event selector.

Troubleshoot the handoff that failed

SymptomLikely boundaryWhat to inspect
Adsterra reports a missing obligatory tokenCampaign URLExact ##SUB_ID_SHORT(action)## syntax, including hashes and parentheses
Source ID is blank or literal macro textArrival and captureSource expansion, exact capture key, platform association, and URL fragment handling
Network reports a sale but Tracked does notNetwork → TrackedNetwork's saved Tracked offer-click ID and delivered /postback request
Tracked returns 404Click lookupWhether click_id contains a recorded Tracked ID instead of Adsterra's ID
Tracked shows a conversion but Adsterra does notOutbound deliveryWhether a configured sender exists, then its resolved subid_short and account username
Adsterra payout differsValue mappingatpay, USD versus currency-conversion path, and campaign-payout override
Event statistics are missingEvent setupExact event1–event3 selector, separate callbacks, campaign setting, and Multievents view
Secondary payout is zero in TrackedInbound event contractExplicit type or conversion_type makes the callback secondary

Adsterra provides CHECK URL and MAKE A TEST CONVERSION in its own setup flow. For an authorized account check, use that flow and inspect arrival, inbound recording, outbound delivery, and source attribution separately. Do not replay live callbacks indiscriminately.

Its advertiser help defines VALID as receipt of the test conversion matched to the original click. PENDING means the test conversion has not arrived; complete the required action and allow the documented 5–10 minutes. INVALID calls for checking the click-ID macro placement. These are Adsterra's setup statuses, not claims that this article ran a campaign.

If the missing record is inside Tracked, start with the postback troubleshooting guide rather than editing the Adsterra feedback URL.

Where Tracked is today

Tracked has custom platform click-ID capture, offer-click macros, inbound postbacks, conversion reports, and event journeys. Those pieces support keeping an Adsterra source ID separate from the tracker ID returned by an affiliate network.

Unverified boundary: this guide does not establish a native Adsterra account integration, automatic outbound forwarding, end-to-end delivery, Adsterra event mapping, or spend sync. HTTPS support at Adsterra removes one potential protocol concern; it does not verify the remaining workflow.

Use Tracked for the available core tracking and landing-page workflow only if it fits your requirements. If Adsterra feedback is essential, confirm that exact delivery path before relying on it. The integration types guide explains why source-ID capture is not a complete native integration.

Frequently asked questions

What is Adsterra's click ID macro?

##SUB_ID_SHORT(action)##. Keep the exact syntax in the campaign configuration. Capture the expanded value under your tracker's configured source-ID parameter, then return that value as subid_short in Adsterra's callback.

Can I use HTTPS for Adsterra postbacks?

Yes. Adsterra's official help explicitly permits HTTPS even though many examples use HTTP. That documented endpoint support is separate from verifying a particular tracker's delivery workflow.

Is subid_short the same as Tracked's click_id?

No. subid_short identifies the original Adsterra click in outbound feedback. Tracked's inbound click_id identifies the Tracked offer click saved by the affiliate network. Reversing them breaks the corresponding lookup.

What is the Adsterra payout parameter?

atpay. The ordinary payout callback uses USD; non-USD payouts use Adsterra's currency-conversion URL structure. Choose the intended value deliberately because a supplied payout takes priority over the campaign payout in Adsterra's documented Voluum workflow.

Does Tracked automatically send conversions to Adsterra?

No verified automatic Tracked-to-Adsterra workflow was established here. Custom platform capture and inbound conversion recording are available pieces, not proof of outbound delivery or native integration.

Sources

Published, updated, and sources checked October 28, 2026. Published by Tracked. Examples explain documented contracts; no production callback or live campaign verification was performed for this article.

  • Adsterra, How to Set Up a Postback URL — June 15, 2026; source click-ID requirement, account-generated callback, and setup sequence.
  • Adsterra Advertiser Help, What are the available tokens? — October 8, 2025; exact click-ID syntax, placement identifiers, and cost-token units.
  • Adsterra Advertiser Help, How do I setup postback? — September 28, 2026; callback structures, HTTPS support, USD payout, and currency conversion.
  • Adsterra Advertiser Help, How to set up postback with Voluum? — checked October 28, 2026; case-sensitive username, HTTPS example, payout precedence, and setup statuses. Voluum syntax is not Tracked syntax.
  • Adsterra, S2S conversion tracking — March 12, 2026; Custom tracker selection and source-ID substitution.
  • Adsterra, Multi-event tracking — April 12, 2026; event selectors, separate callbacks, campaign setting, reporting, and paid-action support boundary.
  • ClickFlare, Adsterra as a traffic source — checked October 28, 2026; secondary implementation reference for {external_id}. It is not evidence of Tracked compatibility.
  • Tracked's current custom-platform form, click-ID capture, offer-click macro, inbound postback, and provider-validation code — reviewed read-only for the scoped product claims above.

Start free with one page you own and one offer. Inspect the network-to-tracker click and conversion journey before moving paid traffic. Signup does not activate a verified Adsterra integration.