Home > Technical & Creative Skills > Tracking Campaigns

Want To UNDERSTAND Tracking? Read This Now. (38)


09-13-2014 02:26 PM #1 caurmen (Administrator)
Want To UNDERSTAND Tracking? Read This Now.

If you want to really understand how tracking works, you only need to understand three things.

These three things will let you understand any tracker - not just affiliate trackers like Voluum or Prosper, but also traffic source tracking and affiliate network tracking like Cake. They all work the same way!

This tutorial's pretty long, but stick with it!



I've split it up into three sections, plus a wrap-up at the end. There are handy self-study questions in each part that you can use to make sure you've understood it before you move on to the next.



Thing The First: Database IDs

The first thing you need to understand is how databases work. All tracking runs on its own database, which is basically the same as a massive spreadsheet - columns of data.





Whenever a visitor enters any tracking system, whether that's an affiliate network tracker, an affiliate tracker like Voluum or a traffic source tracker, they are assigned an ID.

Then, the tracker associates every other piece of information it gets about that visitor with that ID. Their mobile carrier, their browser, which lander they visited, whether they converted, whatever.

That way, you can find out all the info you want from a tracker. For example, if you want to know what the conversion rates are for a mobile carrier, the tracker searches for all IDs that used that mobile carrier, then checks how many of those IDs converted and gives you the result.

EXAMPLE: You're running a campaign in the UK and want to know how Orange is doing as a carrier. The tracker looks for "Orange" in its "carrier" column, makes a note of the IDs of every visitor who has "Orange" listed, then goes through all those IDs and counts how many are listed as having converted, and how many aren't.

These IDs are called different things on different systems.

Nearly all affiliate trackers call them either a "subid" or a "clickid".

Traffic sources call them different things. Decisive, for example, calls this id a "bidhash". If you want to send information back to a traffic source - for conversion tracking - you need to know what the name they use is.

So if you see something called a subid, a clickid, or something similar, you know that's an identifier for an individual visitor in a database.

But why do you often see those with square brackets, curly brackets, or hashes around them? Well, we'll get onto that in Thing The Third - but first, you need to know about how information is passed from web server to web server.

Question to ask yourself to make sure you've understood this bit:
When you search for the CTR of visitors who landed on a specific lander, what does the tracker do to find that?




Thing The First-And-A-Half

One other thing you need to know about databases is that they have fixed "slots" for data associated with each ID, with standard names.

Many trackers let you store any information you like in those slots, but the slots are always named the same. For example, Prosper has slots called c1, c2, c3 and so on. You can store anything you like in them, from Decisive bidhashes to POF age and state info - but the slots are always called c1, c2, c3 and so on.

Likewise, Cake gives you slots called s1, s2, s3, s4, and s5. We usually use s2 to store the subid we send from our trackers to Cake, but that's just convention - you can store anything you like in there, from names of your favourite animals to guesses on the winner of the next Superbowl. Storing subids is probably more useful, though!


09-13-2014 02:26 PM #2 caurmen (Administrator)

Thing The Second: GET requests

If you controlled both the traffic source and the offer for your campaigns, tracking would be waaaay simpler, and you'd barely have to do any setup at all.

That's because the same system would track all your visitors from arrival to exit. The thing that makes affiliate tracking tricky is that there are at least three systems involved: traffic source, affiliate tracker, and affiliate network.

Those systems have to pass information back and forward.



And so on.

Fortunately, there's a standard way of passing information back and forward on the Web - it's called a GET request. That sounds pretty intimidating, but the fact is you see hundreds of them every day.

A GET request is added onto the end of any Web URL in order to pass information to the web server running that URL. You can spot the GET request pretty easily - it's everything after a "?" symbol anywhere in a Web address.

So, for example, here's a URL with a GET request: https://www.google.co.uk/search?q=boobs

In this case, the GET request is q=boobs. So what does that mean?

GET requests are comprised of two parts: the name of the information being sent, and the value of that information. In this case, the name of the information is "q", standing for "query", and the value is "boobs", because that's what I searched for on Google.



If you want to send multiple pieces of data, you send them after the question mark separated by an "&". So, for example, here's what a standard affiliate URL from Cake breaks down into:



You use these GET requests all the time in your affiliate campaigns.

If you're creating Facebook ads, for example, you just send the name of each ad in your GET requests to your tracker.

On Prosper, for example, you'll send "t202kw" as the name, and the name of your ad as the value, giving you t202kw=Ad_1_Blonde or similar at the end of your URL.

And most of the time a tracking system will generate some information automatically.

For example, Prosper auto-generates a campaign ID so that it knows which campaign to send visitors to. That's the "t202id" variable in your Prosper URLs.

Question to ask yourself to make sure you've understood this bit:
If your Facebook URL ends in ?banner=banner1&subid=123 , what does that mean?


09-13-2014 02:26 PM #3 caurmen (Administrator)

Thing The Third: Tokens

Often, you won't want to send the same information every time in your GET requests - you'll want it to vary by visitor.

For example, if you're running an offer on the Cake platform, you'll want to send the subid of EACH visitor to Cake, rather than sending the same subid every time.

That's simple enough to do - you just need a piece of text that the tracker software will recognise and replace with the right information at the right time.

These are called "tokens", and they vary across all trackers, but mostly look roughly the same.

They start and end with at least one symbol rather than a letter. That can either be { and }, [ and ], # and # or something else. Sometimes tracking systems even use multiple symbols, like CPVLab's {! and !}, or Decisive's {{{ and }}}.



See http://stmforum.com/forum/showthread...-Source-TOKENS for a very complete list of tokens!

Why do they do this? To signal to the tracker software that this is a piece of text that needs to be replaced, rather than just copied.

If the tracker just replaced anything called "subid", for example, it might replace the name in some GET variables - so &subid=subid would end up being &123=123 rather than what you intended, &subid=123.

So, wherever we want the tracker to put appropriate info for each visitor, rather than just the same info for everyone, we use a "token". You can usually find a list of tokens on the documentation pages of the relevant affiliate network, tracker or traffic source - if all else fails, check IAmAttila's massive list of them here or Google!

Question to ask yourself to make sure you've understood this bit:
If you know that you need to pass a subid to your affiliate network with the name "s2", and your tracker uses the subid token {clickid}, what should you put at the end of your offer URL?


09-13-2014 02:26 PM #4 caurmen (Administrator)

Putting It All Together

You might feel like you're still confused!

But actually, you've now got all the pieces of how tracking works.

Let's look at running a campaign with Prosper, Facebook, and a Cake-based network.

Offer URL

You start out with the Cake URL, which will look like this: http://ubernetwork.com/?a=1431&c=2114&s1= .

Given everything we know above, we know that this is passing information TO "ubernetwork.com" - your affiliate network. It's passing the information "a" (affiliate ID) and "c" (campaign ID) to the network.

We know that we need to send the ID that our tracker uses too, so that Cake can pass that back when people convert, and we know that the best GET variable name to use is "s2", so we change "s1" to "s2".

Now we enter this into the "offer URL" section in Prosper. We put it in Prosper because Prosper is the part of the tracking system that needs to send information and visitors TO the affiliate network.

We know that Prosper uses the token "[[subid]]" to represent the place where we want it to put the visitor subid. So we add that as the value in the name-value pair s2=[[subid]].

When someone actually arrives at our offer, Prosper will replace "[[subid]]" with their subid - so if their ID on our tracking system is 42, they'll end up going to http://ubernetwork.com/?a=1431&c=2114&s2=42

URL for Traffic Source

Next, we tell our traffic source where to send people when they click on our ads. Prosper creates this URL for us, but it will end up coming out like this: http://www.blahblah.com/LP/Anast/CLa...d=6976&t202kw=.

We know that Prosper takes the "keyword", which is usually used as the banner name, as "t202kw". So we add our banner name for each banner to the end of that address, completing the name-value pair t202kw=Ad1 for Ad1, for example.

That means that when people click on Ad 1 in Facebook, our tracker gets sent the information that they clicked on that ad. We don't use a token here because Facebook doesn't have any tokens!

So, we've got two of the information connections between tracking systems sorted out, as we discussed in Thing The Second. We have a URL in Facebook which passes information to our tracker, and we have a URL in our tracker which passes information to our affiliate network.

URL for Postback

All we need to do now is to let our affiliate network know where to send information when someone converts, because we want to send that information back from Cake to our tracker.

We do that using a Postback URL, which we get from Prosper, and input into Cake in the "Postback URL" section of the offer.

Cake has a handy list of tokens at the side, and we know that we want to pass "s2" back to our tracker as "subid" (because we sent "subid" to cake earlier, which stored it as "s2").

So we take the Postback URL that Prosper provides, which looks like

Code:
http://track.tracker.info/tracking202/static/gpb.php?amount=&subid=
, and we complete it by adding #s2# at the end (because this URL will be processed by Cake), completing the name-value pair subid=#s2#. That means that whenever someone converts, Cake will now send the subid of the person who converted back to Prosper, which can then make a note of that in its database, so we can then search to find out what landing pages are working best, which carriers are working best, etc.

And that's how tracking works!

I figure you may well still have a question or two - if so, ask 'em in the comments!


09-13-2014 03:11 PM #5 fontavals (Member)

Wow great guide also seems i am the first to see it


09-13-2014 03:53 PM #6 ltdangle (Member)

Thanks for posting this. Great information.


09-13-2014 04:17 PM #7 jordanfan20 (Member)

Finally, it all makes sense! great guide man!


09-13-2014 08:25 PM #8 francov (Member)

Thank you for this. Great guide.


09-13-2014 09:41 PM #9 nt2000 (Member)

Great guide! Will need to read it a few times!


09-13-2014 10:29 PM #10 cmdeal (Veteran Member)

Awesome!


09-13-2014 10:35 PM #11 abubakr (Member)

Highly appreciate your efforts here. Can you give an example to setup containing ZeroPark - Voluum - YTZ

ZeroPark as traffic source
Voluum as tracker
YTZ as landing page.

How would I set this to track what traffic sources are converting in YTZ using Voluum.

Thanks


09-13-2014 11:43 PM #12 mark_from_michigan (Member)

Very nice! Thank you!

Could you possibly make 2nd "Putting it All Together" with Voluum, POF and Cake?


09-14-2014 12:42 AM #13 Humbleaid ()

Thank you!!!


09-14-2014 12:46 AM #14 quinnn (Member)

Great writeup, perfect for newbies.


09-14-2014 04:06 AM #15 faithgedi (Member)

Great thanks Caurmen. These infos are priceless for newbies like me. Very helpful and appreciate much.


09-14-2014 05:28 AM #16 zeno (Administrator)

Quote Originally Posted by mark_from_michigan View Post
Very nice! Thank you!

Could you possibly make 2nd "Putting it All Together" with Voluum, POF and Cake?
You should first try to figure this out for yourself as an exercise of diligence.

Given how well this article outlines how tracking works, you should be able to figure out what tokens PoF has available and then go from there.

I think Attila will be releasing a Voluum guide shortly.


09-14-2014 07:41 AM #17 pacman0r (Member)

And thats how tracking works... Would like to see a Voluum guide even though im sure it already exists somewhere on this forum


09-14-2014 07:45 AM #18 Mr Green (Administrator)

I wish u had this 8 years ago! 😝


09-14-2014 08:07 AM #19 maynzie (Moderator)

Not just for the newbs, tracking is something I've always been puzzled with but this is a great KISS walkthrough thank you legend!


09-14-2014 09:17 AM #20 bbrock32 (Administrator)

Amazing info, I bet this will make life a lot easier for people starting out or non-technical people.


09-28-2014 01:35 AM #21 bennkon (Member)

This is perfect, cleared up almost all my tracking questions and definetly saved alot of headache.

I did have one more question tho: if running a campaign on decisive and doing tracking with prosper, is there any way to setup the postback so it automatically logs the conversions on decisive as well? The way i see it, I can pass back the converting bidhash back to prosper after the user converts, and manually fire a conversion, but im sure there has to be some way of automating this that im just not seeing... Would definetly appreciate any help!

If all fails, i guess i can just pass all campaign id and placement data from decisive and just do all my tracking thru prosper. Although i still like having the ability to use decisives system if at all possible

EDIT: Ok, i think i found something. In prosper, under "#1 Traffic sources", you can choose the pixel type as postback, and pixel code as the decisive postback URL (in my case http://win.crwd.io/convert/c1). Now i think its all finally coming together for me! Is this correct tho? Dont want to celebrate prematurely haha


09-28-2014 07:10 AM #22 zeno (Administrator)

Yep, you found the third-party postback!

Disclaimer: I haven't tested it and not 100% sure it works properly. Testing will tell. As long as you are logging the bidhash data though, you can always fire the conversions manually.

There is likely a simple script out there that you can upload to do postbacks as well - i.e. paste in postback URL ending with = then fill in a box with IDs on new lines, have the server fire all of them.

Anyone have one lying around?


09-28-2014 02:37 PM #23 caurmen (Administrator)

@zeno - IanatZen knocked one up for me a while back for testing. I'll ask him to post it.


10-02-2014 06:13 AM #24 jkbros (Member)

I have always been tracking under much doubt and uncertainty about what I was doing.
Your guide totally clears up my confusion. Now it all makes sense!
Thank you.


10-16-2014 04:57 AM #25 t33media (Member)

Absolutely the best explanation of tracking I have seen !! Nice Job Caurmen


10-26-2014 07:16 AM #26 maweniaran (Member)

Thanks caurmen.
Has been fighting with tracking since about 5 months ago, finally have mastered 95% of it about month ago. Today I've found your fantastic and simple to follow tutorial. Great work, will help a lot of people to start!


11-10-2014 02:35 AM #27 advertchina (Member)

hello, great. useful information


11-13-2014 08:05 AM #28 mindfume (AMC Alumnus)

Thanks for putting this together. It's just what I needed!


11-19-2014 05:53 PM #29 mindfume (AMC Alumnus)

Quote Originally Posted by zeno View Post
Yep, you found the third-party postback!
What exactly is the purpose/benefit of posting the conversion all the way back to the traffic source? (considering all that info is already in the tracker)

In the example here the same thing is done, but I don't understand the reason/added value of that.


11-20-2014 10:18 AM #30 caurmen (Administrator)

@mindfume - usually it's because it makes optimisation easier. On Decisive, for example, it's a LOT less faff to optimise placements if you've got the conversion data right there in Decisive.

In addition, some traffic sources attempt to use conversion data to optimise for you - but how well that works is a matter of some debate...


01-15-2019 04:26 PM #31 raluca (Member)

Quote Originally Posted by matuloo View Post
1. Prosper and cake are both tracking solutions, prosper is aimed at affiliates, cake is for affiliate networks. Since you have Voluum, you don't need any other tracking tool. In the example used, prosper was the tracker used by the affiliate, cake was used by the affiliate network so the offer tracking links were actually generated by cake.

2.

- offer url is to be placed in Voluum in the offers section under "new offer". These links will be provided by the affiliate network.
- url for the traffic source is actually the campaign url that voluum will create for you. Thats where you send traffic to, so you need to enter it into the traffic source, when creating a new campaign.
- postback url is a way of "letting your tracker know" what click converted. Each click sent through a tracker, will get assigned a unique ID, so when a conversion happens the affiliate network will use the postback url to let the tracker know. So this postback url needs to be setup at your affiliate network. The syntax is different from one affiliate network to the next, based on what backend solution they use (cake & hasoffers are the most popular).

Hope its more clear now

Matej.
Thank you so much Matej! All clear now really thank you again


01-16-2019 08:22 PM #32 matuloo (Legendary Moderator)

Quote Originally Posted by raluca View Post
Thank you so much Matej! All clear now really thank you again
Youre welcome reluca If you need anything else, just ask.


01-27-2019 08:59 AM #33 voluum (Veteran Member)

Quote Originally Posted by matuloo View Post
1. Prosper and cake are both tracking solutions, prosper is aimed at affiliates, cake is for affiliate networks. Since you have Voluum, you don't need any other tracking tool. In the example used, prosper was the tracker used by the affiliate, cake was used by the affiliate network so the offer tracking links were actually generated by cake.

2.

- offer url is to be placed in Voluum in the offers section under "new offer". These links will be provided by the affiliate network.
- url for the traffic source is actually the campaign url that voluum will create for you. Thats where you send traffic to, so you need to enter it into the traffic source, when creating a new campaign.
- postback url is a way of "letting your tracker know" what click converted. Each click sent through a tracker, will get assigned a unique ID, so when a conversion happens the affiliate network will use the postback url to let the tracker know. So this postback url needs to be setup at your affiliate network. The syntax is different from one affiliate network to the next, based on what backend solution they use (cake & hasoffers are the most popular).

Hope its more clear now

Matej.
Matej... you write a post with 3 simple points and all of a sudden tracking is explained and clear to all. Boom! Thanks so much for the help, much appreciated
@raluca, if you're having any trouble using Voluum or it seems confusing at any step, just let me know - I'll be happy to help (if you reach out to me in PM with your VLM login, I can check if your campaign setup is correct as well)

Karolina


02-13-2019 12:27 AM #34 steveheisenberg (Member)

It really clears out some of my confusions and thanks for this amazing tutorial


09-22-2019 12:03 PM #35 marcnguyen91 (Member)

Thanks for nice guide. I have a question:
In think the First, you write:"Whenever a visitor enters any tracking system, whether that's an affiliate network tracker, an affiliate tracker like
Voluum or a traffic source tracker, they are assigned an ID."
As my understanding, SubID will not be same with each visitors
But in think the Third:"For example, if you're running an offer on the Cake platform, you'll want to send the subid of EACH visitor to Cake, rather than sending the same subid every time."
Pls explain to me. Thanks again


09-22-2019 10:13 PM #36 voluum (Veteran Member)

Quote Originally Posted by marcnguyen91 View Post
Thanks for nice guide. I have a question:
In think the First, you write:"Whenever a visitor enters any tracking system, whether that's an affiliate network tracker, an affiliate tracker like
Voluum or a traffic source tracker, they are assigned an ID."
As my understanding, SubID will not be same with each visitors
But in think the Third:"For example, if you're running an offer on the Cake platform, you'll want to send the subid of EACH visitor to Cake, rather than sending the same subid every time."
Pls explain to me. Thanks again
Yes, it's true - sub id is assigned and different for every visitor. Yet, if after "parameter=" there is a specific value and not a token, that same value is passed every time the url is fired causing sub ids not to be unique. That's why we have tokens. They recognize what parameter information we're asking for and replace the token with a correct value each time.

Is it any better now?


Karolina


09-24-2019 03:33 PM #37 marcnguyen91 (Member)

It is absolutely better now. Thanks so much

Marc Nguyen


04-26-2020 08:42 PM #38 h25111 (Member)

great info ,thank you


Home > Technical & Creative Skills > Tracking Campaigns