How to Track Multi-Step Upsell Funnels: One-Click Up-Sells

Jan 31 By ThriveTracker

If you need to track up-sells for your campaigns, we’ve got you covered in this post. There are 2 ways to track up-sells, and there are benefits to each. Of course, we’ll be demonstrating this with the best tracking platform on the planet: THRIVE.

Method 1: One-Click Up-Sells

This Method 1 allows you to add additional revenue from your up-sells to an existing sub ID that has already received an initial conversion. No additional conversions will be counted in THRIVE, but all additional revenue from multiple up-sells will be added onto an existing conversion.

To understand, how this works, let’s look at the post-back URL from Thrive that you’d be using normally, for no up-sells. Please keep in mind that while we’re looking at post-back URL specifically, this entire guide applies the same way to an iframe or image tracking pixel as well.

Example Post-back URL from THRIVE:
http://domain.com/path/postback.php?tid=&amount=&subid=

If, for instance, your visitor has generated a THRIVE sub ID, let’s say “abc12345”, and you wanted to convert that click/sub ID and mark it as a conversion, then you’d fire this sub ID:
http://domain.com/path/postback.php?tid=&amount=&subid=abc12345

Once that’s executed, the click with sub ID “abc12345” would be marked as converted in THRIVE and be assigned a conversion value for the payout of the offer.

If you wanted to overwrite the payout of the offer with a different revenue amount, then you would instead fire the post-back with a different “amount=” value.

For example, if you wanted to mark “abc12345” as $10 in revenue, then you would have fired this instead:
http://domain.com/path/postback.php?tid=&amount=10&subid=abc12345

Now that we have established the conversion setup for an initial conversion of a click, let’s look at how to add revenue onto the same sub ID in one-click up-sells.

Up-sells can be tracked via the “tid=” variable in the post-back by putting a transaction ID after it. This can be any ID that you make up, such as “456” or “xyz456”.

Let’s say a visitor just completed the first up-sell for $30. To add the additional $30 to that visitor or sub ID, you’d just fire the post-back again with a transaction ID.

For example, let’s set the “tid=” as “111”:
http://domain.com/path/postback.php?tid=111&amount=30&subid=abc12345

After the above post-back is fired, our sub ID “abc12345”, which has already been converted and assigned $10 of revenue, will now get an additional $30 of revenue added onto it, for a total of $40 of revenue.

If the visitor completed another up-sell for $40, then we can fire an up-sell again using:
http://domain.com/path/postback.php?tid=222&amount=40&subid=abc12345

Notice, since the “tid=222” instead of “tid=111” this will add another $40 onto the sub ID for a total of $80 of revenue.

The “tid=” value just has to be unique on a per-sub ID basis. That is, if a “tid=” value has already been used for a sub ID, subsequent post-backs will not add additional revenue. But, the same “tid=” on different sub IDs will add additional revenue to the respective sub ID.

And that’s it! I’m sure that most other tracking platforms work similarly, so you can most likely apply this tutorial to others.

Since THRIVE is the best tracking platform out there, though, you won’t need other ones anyway! You can Sign Up Here 🙂

Method 2 of Tracking Up-Sells

Method 2 of tracking up-sells deserves a separate post. While Method 2 is more complicated to setup, it allows you to see separate conversions for each up-sell offer instead of having the revenue lumped into one sub ID.

Never miss a feature, product launch, or exclusive offer



    6 Comments

  • On a true one click upsell, many cake networks don’t use the 2nd step offer as the pixel to fire, so its a bit hard to add a unique TID to that upsell specifically. If you do, or use a random number for that field in say a global pixel on the network, it then will sometimes add double conversions which is worse then missing conversion, depending on if the click came from your 2 step lander click, or if it was an upsell.

    The way other tracking systems worked – and this worked much more reliably then having to manually update subids every single day with thrive, is to allow the amount field as a determining factor for “adding” to the conversion amount, since that is used correctly with cake and won’t matter if TID is different. For whatever reason, it works a lot better, but thrive doesn’t consider the amount being different, as a trigger to add that amount to that subid. Wish it did.

  • Tim, we have a lot of users using Cake and doing upsells. You should be able to just use their token #oid# or #leadid# and append to tid like tid=#oid#
    That way, the tid= value would always be unique on a per-sub ID basis since the offer is a different offer in Cake. #leadid# may work even better since a lead in Cake has a specific ID. Even if you fire that lead multiple times, it will be the same #leadid# and therefore will not count conversions twice.
    Does that make sense?

  • That might work – I’m not sure where the issue is exactly, but when I make sure TID is unique, there’s some instance where it then does double conversions, so instead of 2 conv, it adds it twice as 4. Not sure if its because of using a global pixel with their network or not. I have to use global because if its a true upsell, their 2nd step offer is sometimes not used, depending on how they set it up. #leadid# I would guess work the same as nothing, since its the same lead for the upsell, no?

  • Is there any reason why amount can’t be utilized the same way? Somehow that always worked perfectly for me with other scripts.

  • This is because many times users have upsells with the exact same amount value as the primary offer. Instead of coding 2 different methodologies in handling upsells, the one we have now should handle all situations.

  • Please try appending #leadid# to “tid=” and also please make sure that you’re also explicitly sending the sub ID after “subid=”, normally done with #s2# but depending on which variable in the offer URL you’re sending {subid}. Lastly, please make sure you’re not firing 2 pixels/post-backs at once (either have global or offer specific pixel, but not both).

  • Leave a Reply

    Your email address will not be published.