Chances are you're advertising some offers from affiliate networks and need to set up conversion tracking between their platform and FunnelFlux.

Here we will guide you through the basics of FunnelFlux's offer source configuration, how to configure tracking for Cake and HasOffers-based systems (two common ones), and the general principles.

First, let's look at your offer source configuration options:

Note that all of these options i.e. subid, postback subid etc., are there to help you preformat your postback URL, which is then presented to you in other parts of FunnelFlux for convenience (i.e. easy copy and paste).

These settings do not set anything in stone or hard-wire your tracking. Tracking (especially with postback URLs) is always about what data you pass onward, and how you pass it back.

In any case, here's what you need to set for each field:

  • Subid - here you should set the parameter that you want to pass FunnelFlux's unique hit ID under. Most affiliate networks have custom tracking fields like subid1 through to subid5, s1 through to s5, or they might have a dedicated field for unique IDs like clickid or uniqueid
  • Postback Subid - here you should put the token from the affiliate network that corresponds to the field you put for subid. E.g. if you used the field "s2", the corresponding token from your network might be #s2#. If you used uniqueid, it might happen to be {{uniqueid}}. It depends on your network and you will need to consult their user interface or documentation to find this information
  • Postback Txid - this is an optional parameter your can pass in postbacks. You usually don't need it, but it can be handy to fill in. It's a unique ID for a specific transaction and let's you de-duplicate if you can have multiple conversions for a single user, e.g. an inital lead then a back-end sale.
  • Postback Payout - here you should put the network's token for payout, e.g. #price#, {amount}. and so on. Once again, consult your network.

Configuring conversion tracking for Cake-based networks

The fastest way to get set up is to find your network in the templates list or pick the Generic Cake Platform.

Don't know what Cake is? A lot of networks use it, the interface is a dead giveway:

With Cake you will be able to pass data under s1, s2, s3, s4, s5 parameters.

The only critical thing to note here is to not pass unique click ID data under the s1 parameter. Because of the way this system works (the reporting), this is a no-no.

Hence, our default is under s2.

Using the configuration posted earlier, the offer source is configured to expect unique FunnelFlux hit ID data to be passed under s2.

Thus, in offers you create for this offer source, they should have e.g.


... in the offer URLs. This way the unique tracking ID's FunnelFlux uses are passed under S2, and your offer source configuration has the postback URL constructed to pass back this value using the #s2# token.

If you want to pass this data under s5, you would just change your offer URL to have &s5={hit-id} in it, and would then make sure the postback you put at your network has the #s5# token used to pass this value back.

Note that the offer source configuration, again, is purely for templating -- you can change specific offers to pass {hit-id} under any parameter you like, as long as you then change the postback URL for that offer on the network side to pass back that value with the relevant token.

Here is where you set the postback URL in Cake networks - by clicking an offer:

Note the list of tokens on the left-hand side. Most network platforms will have these handy when configuring your conversion tracking.

Also note the pixel HTML box -- this is where you can set client-side tracking if desired, which we will cover shortly. You should not use server-side and client-side tracking simultaneously, and the client-side (pixel HTML) tracking has to be enabled by the offer owner. You will need to ask your affiliate manager about this on a per offer basis as many advertisers do not allow client-side tracking.

Configuring conversion tracking for HasOffers-based networks

HasOffers is equally as popular as Cake and can be recognised by its user interfaces:

(note there is an older interface version as well)

For this network you will generally pass FunnelFlux's unique hit ID, with {hit-id}, under a parameter such as aff_sub5 . In our Generic HasOffers Platform template we just use aff_sub, but I prefer to always pass under the last available parameter - personal preference, do whatever you prefer given the reporting and how you use the platform.

When you are viewing an offer in your HasOffers network you will be able to generate a tracking link, which can be a little confusing:

Here, note that clicking add source, add creative, sub IDs etc. just helps generate the link for you and shows you the parameter (or key/value pair) formatting. It does not save some specific link or structure that affects your tracking -- again, its just helpful generation of your link, but it can come off as some critical settings you need to save.

For example, here I clicked add sub IDs, filled in REPLACE for each one and then added my FunnelFlux {hit-id} token to aff_sub5:

Now I can take the tracking link and copy/paste it into FunnelFlux, change the REPLACE parts to anything (e.g. other tokens like {campaign-id}), and if I want to use aff_sub5 by default I would change my offer source settings to use that and the correponding token.

If I only wanted to use aff_sub5 for this offer, I would just carry on, leave the offer source as is, and make sure this offer on the network side uses the right token in its postback URL.

If you now scroll down on the offer details page you will see this:

Click [Add New Pixel/Postback]

Here you wil be able to pick a conversion tracking type depending on what the offer supports. All the available HasOffers tokens are then on the right-hand side:

So, I'll paste in my FunnelFlux postback URL, using the token for aff_sub5 since that's what I passed my unique hit ID under, giving this:{payout}&flux_txid={transaction_id}&flux_hid={aff_sub5}

Then hit save and you're done.

Remember, the primary concept to understand is how to pass data (unique tracking IDs, like hit-id) under some parameter to the network, then passing this back to FunnelFlux using a corresponding token.

Configuring conversion tracking for any network

Hopefully the above make it quite clear how to set up postback URL tracking for Cake and HasOffers platforms.

In general postback URL tracking is easy - once you understand how it works. It all comes down to passing a unique tracking ID, which tracking systems like FunnelFlux use to identify a specific visitor/event, to some other system and then when a conversion happens asking them to send that value back -- but only the specific one that the visitor came with in the first place.

So, in FunnelFlux if you configure an offer to pass the unique hit ID, with {hit-id}, under some parameter called s5 , you then need to configure the end recipient of that data (an affiliate network in this case) to post back whatever it stored under that s5  field, using a token, such as #s5# .

If you passed it under aff_sub3 , you may need to pass it back to FunnelFlux using the token {aff_sub3} , and so on.

In the end, consider the following:

  1. Different systems have their own internal tokens. It's up to them what they use and how they are encapsulated
  2. A software system can only process tokens it understands -- so don't expect to guess what the token for the field "subid3" is, you need to consult the documentation of platforms/networks and confirm these
  3. In FunnelFlux, the tokens are e.g. {campaign-id}, {hit-id}, and so on. They are encapsulated in curly brackets and you can use them in the URLs of offers, landers and in JS/PHP nodes.
  4. In FunnelFlux, you will see tokens from other platforms when configuring traffic sources and offer sources, because here they act as placeholders in URLs that are later generated, and copy/pasted by you into a different platform. 
  5. Always test your tracking and make sure hit IDs from the {hit-id}  token are being passed to your network (check the reporting if you can). You can mess up the postback URL but as long as you pass these, you can always manually upload conversion data and remedy the configuration afterward.

Using iFrame and image pixel tracking

The above has all been about postback URL tracking, which is "server-to-server" tracking.

It's based on unique IDs and is very reliable because it occurs programmatically between systems, i.e. does not rely on users or their browsers.

Because of this it is the most common tracking format you will see with affiliate networks.

However, tracking with Javascript, iFrames and image pixels is also quite common. Here's a quick breakdown of pros/cons of these:

  • Javascript - FunnelFlux doesn't currently use javascript conversion tracking, however many platforms e.g. Facebook do. It's powerful and capable but runs client-side, so relies on a user's browser executing the code as well as using cookies in most cases to identify who is firing the code.
  • iFrames - these allow the injection of HTML, which could then contain javascript. These are useful for injecting in a variety of content should you want to piggyback other code into your thank-you page, e.g. javascript conversion tracking from your traffic source. iFrames in FunnelFlux use cookies but can also have hit ID added to the frame URL.
  • Image pixels - these are less reliable than iFrames and simpler. They rely on cookies but can have hit ID hard-coded into the image source. They are somewhat like a client-side postback URL - a similar quick request to a URL that triggers a conversion to happen.

Using iFrames

For iFrames, you can place these on your thank you / conversion pages as long as they support client-side tracking.

If you do so, be sure to:

  1. Use a different iFrame code for every offer/page. The iFrame code has a unique flux_pix parameter in it that changes every time you copy the code, so just be sure to grab a new code each time
  2. If you have passed a unique hit ID to your network, do try to insert it into the flux_hid parameter of the iFrame source URL if you can, using a token
  3. The iFrame when loaded will detect what traffic source the user has come from, either via cookies or through the directly added flux_hid parameter. When it does, it will insert any client-side code you have configured for that traffic source in FunnelFlux, i.e. as configured here:

Using image pixels

Image pixels are also client-side tracking and the rely on cookies, though you can also add a hit ID to the flux_hid parameter of the image source to force tracking of a specific conversion.

Image pixels are useful in cases where you can't add javascript or iframes but still need client-side tracking, and are especially useful in emails where image-pixel tracking is still one of the primary ways of detecting email opens (which might be a conversion you want to monitor!).

Also, its worth noting that you can also use image pixels to trigger action URL loads -- if you put an action URL inside an image in the img src parameter, you can tell FunnelFlux that the user loaded this link without them actually navigating anywhere.

This is quite useful if you want to track various actions on a page without needing complex programming.

Did this answer your question?