Using AdWords Dynamic Parameters in Links

Google allows four different dynamic URL parameters to be added to any AdWords destination URL string to pass along information about that particular click. These parameters are replaced with actual data about the click so that your log files, or tracking system, contains additional data about your AdWords clicks enabling one to analyze more data about any campaign and individual click.

The four parameters pass along:

If the click originated from search or the content network

The keyword in your account that triggered the ad that was clicked

The creative that was clicked

The originating website (for Site Targeted campaigns)

In the URL illustrations, I’m going to be using this URL as a starting point:
http://www.example.com?src=AdWords&medium=PPC&campaign=AdGroupName

In this URL, these are the current definitions (i.e. the minimum tracking I add to any URL for any paid traffic):

src=AdWords – The traffic source

medium=ppc – The medium for the traffic source (i.e. this could be banner, ppc, email, etc)

campaign=AdGroupName – The ‘theme’ of the traffic. (For Yahoo Search Marketing, this would be the category name.)

The AdWords Dynamic Parameters:

Is the traffic from the search or content network?

This is the parameter to determine if the traffic is from the content or the search network:
{ifContent:Content}{ifSearch:Search}

AdWords allows one to replace the ‘Content’ or the ‘Search’ after the colon in the string to whatever you desire. If you only wanted to use a single letter to parse out the information, you would change the parameters to look like:
{ifContent:C}{ifSearch:S}.

The URL now looks like:
http://www.example.com?src=AdWords&medium=PPC&campaign=AdGroupName&Network={ifContent:Content}{ifSearch:Search}

What keyword triggered the ad?

With AdWords matching styles, it’s often possible for a variety of keywords within the same account to trigger an ad. The keyword parameter allows one to see which keyword triggered the ad. It’s a very simple parameter:
{keyword}

I generally add kw= in front of insertion to label what this parameter is showing. Thus, the URL now looks like:
http://www.example.com?src=AdWords&medium=PPC&campaign=AdGroupName&Network={ifContent:Content}{ifSearch:Search}&kw={keyword}

It is often useful in split testing or determining Profit by Click to know which ad was clicked for tracking sales or under preforming traffic back to the actual ad. This dynamic parameter adds the ‘ad id’ to the URL:
{creative}

The biggest issue with this is that it only shows the ad number (which usually looks like: 123653). It makes sense that Google isn’t going to pass the entire ad copy through the URL. To find which ad matches up with the ad id (which you’ll want to know when you line up the data to the ad) there are three ways to find the number:

In the AdGroup, view the source and line up the numbers (by far the most cumbersome)

Pull the information via the API (the easiest way when lining up numbers)

Run an ‘ad text’ report inside your AdWords account. When running this report, in the additional columns menu there is a check box for ‘ad id’. Click this box and it will display the ad id with the rest of your report.

I usually add ‘ad=’ before this parameter in the URL string for identification purposes. This now makes the URL look like:

This parameter is only for site targeted campaigns. If the parameter has no data, then Google does not display the parameter. Therefore, it doesn’t hurt to add this to all URLs, however, just remember, many times it will be blank.

This will NOT show which website triggered the click in content targeting campaigns. For that level of tracking, you’ll have to choose an analytics package that reads past the ‘pagead2.googlesyndication.com’ in the referring URL.

The parameter insertion is pretty simple, just add:
{placement} to the URL.

This makes the URL now look like:
http://www.example.com?src=AdWords&medium=PPC&campaign=AdGroupName&Network={ifContent:Content}{ifSearch:Search}&kw={keyword}&ad={creative}&SiteTarget={placement}

If you are using Google Analytics:

Each tracking system has it’s own set of parameters that it reads. Therefore, you might need to change ‘kw=’ or ‘medium’ etc in the URL string to something your tracking system will parse into appropriate categories.

It is important to also note that some analytic packages require the parameters to be in a specific order, while others just look for the identifying information and don’t care which order is utilized (i.e. one could add site target first, then keyword, then creative, then search vs content, etc).

If you are using Google Analytics, this is how the tracking string would look like with the proper parameters attached:
http://www.example.com/?utm_source=AdWords&utm_medium=PPC&utm_term={keyword}&utm_content={creative}&utm_campaign=AdGroup&Network={ifContent:Content}{ifSearch:Search}&SiteTarget={placement}

The only parameters that need to be adjusted in the above URL is the website (i.e. replace example.com with your website) and AdGroup (replace with your Actual AdGroup name).

Wrap Up

Google has done an excellent job with AdWords of allowing variable parameters to be passed to your website. It has made it easy to track just about anything, especially if you’re pulling information via the API and automatically generating reports based on both your log files and AdWords information.

Understanding the URL string, it’s parameters (AdWords or not) is very important to learn and master. It’s not just about tracking AdWords, it’s about tracking in general. Once you’ve lined up your tracking system with AdWords information, you’ll be very happy when you start using MSN adCenter which has it’s own set of parameters insertions.

If you’ve structured your medium, keyword, creative, etc identifiers in a standardized URL, when you start using other traffic generating campaigns, you’ll already have a default to just plug in the new information and off you go. This makes it easy to compare banner traffic versus email traffic versus PPC traffic.

Know all the variables. Choose the variables you want to compare. Analyze the data. Make decisions based on facts.

The internet gives you the capacity to track just about anything – use the available tools effectively.

Related Articles

No Comments

werty

January 31, 2006 at 12:02 pm ·

Nice summary on this Brad!

Jim

March 16, 2006 at 6:40 am ·

Thank-you. Good info!

Juliano Motta

April 12, 2006 at 2:01 pm ·

Hello, Brad.

First of all, very nice article =)

Let’s suppose I have the keyword Notebook running in Adwords in broad match and I want to track the phrases that triggered the ad (eg. Notebook Toshiba). I tried using the parameter {keyword} but I just get the value NOTEBOOK and not NOTEBOOK TOSHIBA. Do you know if there’s a way to track what users search for instead of the original keyword? My objective is to learn what keywords have the best ROI and leave out bad keywords for my campaign.

Thanks!
Juliano

Brad Geddes

April 13, 2006 at 7:56 am ·

At present, I don’t think any analytics supports that option because of how the PPC engines pass referral data.

What would need to happen is that when someone visits your site with some explicit string (i.e. ?adwords=ppc&kw=notebook) that you could grab the search string from the previous page (the PPC engines don’t pass the search string, only what is triggered in your account) and correlate that data with the previous page.

This might be possible with querying the browsers back button or some other piece of JAVA. It might be possible, but something I’d have to talk to my developers about to see if those disparate scripts could work together.

The idea is sound, its just a matter of how hard/possible the execution would be.

ich

July 19, 2006 at 3:31 am ·

there is a mistake in google analytics link – missing ampersand between utm_content={creative} and utm_campaign=AdGroup