Understanding Tracking Links

I know that when I first started, tracking links just looked like a confusing mess of mumbo jumbo. Sure, I could enter the needed information into my link generator, then copy and paste it into my ad network, but everything that happened in between was a mystery. In this section, I’ll break down tracking links so that you get an idea of how they work. Then, you’ll be able to make quick changes to the links themselves, without having to repeat the steps of generating the links via your tracker every time.

(Note: I still don’t recommend that you manually change your tracking links when you’re first stating out. Make any changes through your tracking interface until you get a firm grasp on how tracking URLs work. And always, ALWAYS click-test your ads when you change the links!)

The first thing to understand is that tracking links and affiliate links basically work in the same way. Both of them carry tracking information which gets read by either you own tracking system (in the case of tracking links) or your network’s tracking system in the case of affiliate links.) Technically, your affiliate link is simply a tracking link generated by your affiliate network. You can even use your affiliate network to track your campaigns (more on that in the next post…)

Query Strings

There are a few ways that URLs carry tracking information. The most common way is though what are known as query strings. When you look at tracking links that uses query strings, the start of the query string will always be indicated by a question mark (?). Here’s an example of a tracking link that I might use in a Bing campaign, with the query string in bold.


Everything before the query string is called the path. It’s the part of the URL that tells the browser where to go. No matter what the query string says, the path will always send users to the same place. In this case, it’s a PHP redirect file inside Prosper202.

Now let’s go ahead and pick apart the pieces of the query string its self…


All the pieces I’ve bolded are what are known as parameters. You can see that there are five of them: t202id, c1, c2, c3, and t202kw. When the user passes through the tracking system, there are scripts that will look for these parameters in the URL. When these scripts find the parameter “t202kw” for instance, they will then look to see what value is associated with it. Groups of parameters and their values are typically separated by an ampersand symbol (&).


All of the bolded pieces of the query string above are the values. When we break the whole string down into individual parameters and their values, we get this

t202kw= {keyword}

Now things are starting to look a little clearer!

However, we need to make and important distinction. You may have noticed that the first value is just a set of numbers with no brackets. All of the following values are enclosed by brackets.

The first value is a static value. Static values remain the same and won’t get altered by our ad network. I’ll come back to this one after we cover the other four.

The other values are all variables. Variables will be replaced by our ad network with data about the user that clicked on our ad.

Whenever an ad is clicked, Bing will go through and replace all of the variables in the tracking link with the appropriate values. Say our campaign is targeting the phrase “green smoothies” and our ad gets triggered by the search “where to find the best green smoothies.” When the user clicks it, Bing will replace the {keyword} variable with the search term that triggered it: “green smoothies.” When the tracking scripts in Prosper 202 find the parameter “t202kw”, they will see the value that Bing replaced {keyword} with: “green smoothies.” If we happen to make a sale from that click, all of that information will show up together in out Prosper 202 reports.

Technically, you can assign any value you want to the “t202kw.” In most cases, this is going to be the keyword, since this is the most important aspect that you’ll want data on.

But what about the c1, c2 and c3 variables in our tracking link? I have their values as {adid}, {matchtype} and {device} respectively. These are dynamic tags that will change depending on who clicks on our ad and which one of our ads they click on. These tags are always going to be specific to our ad platform (Bing, in this example.) When the user clicks, Bing will find the tags in the URL and replace them with the user’s data.

The {adid} value in this example is going to be replaced by a number that Bing attaches to each ad so that we can identify which ad produces the click. So let’s say Bing gives this ad the ID 987654321. whenever someone clicks that particular ad, Prosper202 will record it as 987654321.

The {matchtype} variable is used to track how our ad was triggered by the search term we’re targeting. A broad match means their search was loosely related to our targeted keyword. A phrase match means that their search contained our keyword plus some other terms. An exact match means that they were searching for our exact term. The {matchtype} variable will be replaced by a “b” for a broad match, “p” for a phrase match, and “e” for an exact match.

In a similar fashion, the {device} variable will be replaced by a value showing what type of device the user who clicked our as was using. The {device} variable will be replaced by “m” for a mobile, “t” for a tablet, and “c” for a desktop or laptop.

So, as I said, our Bing campaign is targeting the term “green smoothies.” A user searches for a phrase including “green smoothies” on their mobile. Our ad with the id “987654321” is shown and the user taps it. This is what would happen to the four variables:

c1={adid} ==> c1=987654321
c2={matchtype} ==> c2=p
c3={device} ==> c3=m
t202kw={keyword} ==> t202kw=green smoothies

And this is what the URL would look like

mytracking.com/tracking202redirectdl.phpt202id=12345&c1=987654321&c2=p&c3=m&t202kw=green smoothies

The one parameter we still haven’t covered is the first one in the string: t202id=12345. This is a number that Prosper202 generates when you create the link. When Prosper202 reads it, it knows what campaign the click is associated with, what affiliate network it’s under, what the traffic source you’re using as well as other internal information. Affiliate links will typically have variables telling the network what campaign the click is for as well as your own affiliate ID. A good rule of thumb: If you don’t know what a variable does, don’t mess with it!

Short Form Links

I’ve been using Prosper 202 as my example because many other tracking platforms use a very similar system. However, it’s not the only system out there. Some tracking links come in what I like to call “short form.” In short form links, there is no query string, and only the values are shown, separated be slashes (/). Basically, it all appears as part of the path. As a short form link, the previous example might look something like this


As you can see, I use the same tokens for the values. The difference is that instead of using variables such as c1, c2 and c3, the tracker refers to the order in which the values appear to know which is which. Otherwise, it functions the same as a query string would, as far as we’re concerned.

Single Variable Tracking

In some cases, you will be limited to just one variable that you use to track information with. You’ll likely only run across this if you are tracking though an affiliate network that only supports a single tracking variable and you don’t have a third party tracker. ClickBank is one example of this. Here’s an example of a ClickBank affiliate link:


As you can see, the query string only gives us one variable to work with: “tid=”
Let’s assume that we want to promote this on Bing, and that we want to collect the same device, matchtype, ad copy, and keyword data. There’s only one way to go about it. We have to put all those values into the “tid” variable.

Since Bing will replace the tags with the user’s data no matter where they appear in the URL, we can get away with a link that looks like this


When our user clicks the ad, the link turns into this:

cjnel8a39ncq48-uja7sa.hop.clickbank.net?tid=987654321-p-m-green smoothies

And our ClickBank reports would show something like this:

987658592-b-t-green drink
987656571-b-c-superfood smoothies
987654321-p-m-green smoothies

We have all the information we want, but if it’s not clear already, sorting and analyzing all this data looking for trends is going to be a huge pain. It’s going to take a lot of work and a lot of time. This can work if you’re really strapped for resources, but I mainly just want to illustrate why you may be very limited without having your own tracking system set up. Once we start getting dozens of conversions, it’s going to be a major benefit to have our own tracking platform that can sort our clicks by keyword, ad copy, match type and device.

Next, we’ll cover some of the different options you have for tracking your ad campaigns.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post