
yournetwork.hasoffers.com, pick offers, get tracking links and place postbacks. Your portal may never show the TUNE name: if the tracking links contain aff_c?offer_id= and aff_id=, the network runs on TUNE.
To track TUNE offers in ClickFlare, two links have to carry the ClickFlare click ID in both directions:
- The offer URL sends the ClickFlare click ID to TUNE in
aff_sub2. - The postback URL sends it back to ClickFlare with every conversion, together with the payout and a transaction ID.
{transaction_id} is not a conversion ID, how to handle offers with several goals, and how to test the postback.
How the data flows
aff_sub2 on the way in and reads it back with the {aff_sub2} macro on the way out. The number must match: aff_sub2 in the link and {aff_sub} in the postback returns the wrong value.What you’ll need
- An active ClickFlare account with your own tracking domain set up. Shared domains get flagged by networks and blocked by browsers. See Tracking domains.
- A partner account on the network’s TUNE portal, approved for the offer you want to run.
- Third-party tracking allowed on the offer. Networks turn this on per offer. Without it, the offer has no Your Pixels / Postbacks section.
What the TUNE template contains
ClickFlare has a Tune (HasOffers) affiliate network template. It fills in the TUNE macros ClickFlare needs.
Setup
Everything in ClickFlare is done from inside the campaign editor. Create the offer and the affiliate network inline as you go.Set up your own tracking domain
trk.yourdomain.com. The postback URL is built on this domain, so changing it later means updating the postback on every TUNE offer too. See Tracking domains.Report conversions by postback time
Create the campaign
Create the TUNE affiliate network
- Search for Tune and pick the Tune (HasOffers) template.
- Name it after the network, for example “TUNE - NetworkName”. Each TUNE network has its own portal and its own postbacks, so create one affiliate network per TUNE network.
- Change Transaction ID from
{transaction_id}to{transaction_id}-{goal_id}. - Leave Event Type empty.
- Under Conversion tracking, select your own Tracking Domain and keep S2S Postback URL as the tracking method.
- Set Payout currency to the currency of the network’s offers.

Get the offer's tracking link from TUNE
offer_id is the offer and aff_id is your partner ID. You can click Add Sub IDs, then More Sub IDs, and type {cf_click_id} in the second sub ID field, then click Refresh. Or copy the link as it is and add the sub ID in ClickFlare in the next step.Create the offer in ClickFlare
- Name the offer.
- Select the TUNE affiliate network you just created.
- Paste the TUNE link into Offer URL with
&aff_sub2={cf_click_id}at the end:

aff_sub2, turn on Append Click ID to Offer Url instead. ClickFlare then adds aff_sub2={cf_click_id} from the template. Use one or the other, not both.Set the payout to Auto so ClickFlare uses the payout value from the postback.Add the postback in TUNE
- Choose Postback as the type (called Postback URL in some portals). It works on every offer, whatever tracking method the advertiser uses.
- Select the goals the postback should count. On an offer with one goal, select it. On an offer with several, select every goal you want in ClickFlare. See Offers with several goals.
- Paste the ClickFlare postback URL into Code. The macros TUNE supports are listed next to it.
- Click Create.
Add a lander (optional)
Save the campaign and launch
Why transaction_id is not a conversion ID
By default ClickFlare keeps one conversion per click ID. If several postbacks arrive with the same click ID and no transaction ID, ClickFlare treats them as the same conversion, and you only see one of them (the last one received). Thetxid parameter tells ClickFlare that each postback is a separate conversion, so its value has to be different on every conversion.
TUNE’s {transaction_id} is the ID of the click session, not of the conversion. Every goal reached from one click carries the same {transaction_id}. By default, TUNE even gives a repeat click by the same visitor on the same offer and day the same ID. On its own, it doesn’t tell ClickFlare that a sale after a lead is a second conversion.
{transaction_id}-{goal_id} arrives as, for example, 102abc7f-4. On the default goal {goal_id} is empty, which gives 102abc7f-: still unique for that click.
{transaction_id}-{goal_id} is the same each time and ClickFlare keeps one of them. Ask your affiliate manager whether the advertiser sends an order ID in {adv_sub}, and use txid={adv_sub} on that offer if so.Offers with several goals
A TUNE offer can pay on several goals, for example a registration and a first deposit. In TUNE, partner postbacks are attached to goals:- Select every goal you want counted when you add the postback. A postback without the right goal never fires for it. Private goals can’t take partner postbacks.
- One postback for all goals is enough for counting: with
txid={transaction_id}-{goal_id}, each goal arrives as its own conversion, and the payout differs per goal. - One postback per goal lets you report each goal as its own column in ClickFlare. Add a separate postback per goal, each with
&ct=and a custom conversion parameter at the end:
Pending and rejected conversions
Networks can make conversions wait for approval. TUNE doesn’t document whether a partner postback fires while a conversion is pending, when it’s approved later, or never for a rejected one, and it has no status macro.- Ask your affiliate manager how their offers handle it.
- Treat ClickFlare’s numbers as recorded conversions, and compare them with the network’s conversion report before payday.
Verify the setup
Click through the campaign
aff_c link. Check that it has aff_sub2= followed by a real ClickFlare click ID, not the literal text {cf_click_id}.Ask for a test conversion
Check the conversion in ClickFlare
txid contains the transaction ID and the goal, for example 102abc7f-4. If you see -{goal_id} literally, the portal didn’t replace the macro: tell your affiliate manager and fall back to txid={transaction_id}.Troubleshooting
Conversions show in TUNE but not in ClickFlare
Conversions show in TUNE but not in ClickFlare
- The postback is Pending. The network hasn’t approved it yet.
- The postback isn’t on that goal. Open the offer’s Your Pixels / Postbacks and check that the goal is selected.
- There’s no Your Pixels / Postbacks section. Third-party tracking isn’t allowed on the offer. Ask your affiliate manager to enable it or to add the postback for you.
- aff_sub2 is empty in TUNE. The offer URL is missing
aff_sub2={cf_click_id}, or the lander CTA links straight to TUNE instead of using the ClickFlare click URL. - The sub ID numbers don’t match. The offer URL uses
aff_sub2and the postback reads{aff_sub}, or the other way around. - The offer uses “Server Postback w/ Partner ID”. On these offers, sub IDs only come back if the advertiser returns them. Ask your affiliate manager.
A lead shows but the sale doesn't
A lead shows but the sale doesn't
txid={transaction_id}, so the sale arrived with the same click ID and transaction ID as the lead and replaced it. Change the transaction ID to {transaction_id}-{goal_id} in the ClickFlare affiliate network and in the TUNE postback, and check the sale goal is selected on the postback. Conversions that were already merged are not restored.Conversions are counted twice
Conversions are counted twice
txid so ClickFlare treats them as one.The payout is 0 or in the wrong currency
The payout is 0 or in the wrong currency
- Check that the postback has
payout={payout}and the offer’s payout is set to Auto in ClickFlare. {payout}is your payout in the offer’s currency. Set the affiliate network’s Payout currency in ClickFlare to the same currency. Use{payout}, not{revenue}or{sale_amount}: those are advertiser figures.
FAQ
Why aff_sub2 and not aff_click_id?
Why aff_sub2 and not aff_click_id?
aff_sub2 is the ClickFlare template’s default and what most trackers use. TUNE itself suggests aff_click_id for unique values like click IDs, because a different value on every click in aff_sub slows its reports down. Both work: if you switch, use aff_click_id={cf_click_id} in the offer URL and {aff_click_id} as the Click Id in ClickFlare and in the postback.Is HasOffers the same as TUNE?
Is HasOffers the same as TUNE?
aff_ in its link parameters and macros.Can I pass more data to TUNE?
Can I pass more data to TUNE?
aff_sub3={campaign_id}&aff_sub4={trackingField1}. TUNE shows them in its reports. Keep aff_sub2 for the click ID.Can I send the conversion back to my traffic source?
Can I send the conversion back to my traffic source?