Adam Howitt's Blog

Dec 03
2008

Seth Godin says my seminar is a lost cause

Well, close.  Jeff just sent me an article from Seth's blog pointing out that marketing evolution is much harder than marketing gravity because gravity is something people already believe in.

I'm banking on people believing that evolving your website is cheaper and more productive than starting from scratch or paying for AdWords campaigns.  

The seminar follows a logical flow from fixing the problems for the visitors you get before chasing new visitors with SEO and AdWords campaigns.

The morning shows you how to use Google Analytics to analyze the traffic you get to find the problems on your website.  Next I'll cover Google Website Optimizer to help you split test a theory without fighting with the CEO over what goes on the home page.

The afternoon starts with Search Engine Optimization basics to make sure you're getting the best free traffic possible before you invest in pay-per-click, the focus of the last session of the day.  Google AdWords can be expensive if the material covered in the first 3 sessions isn't addressed and I'll teach you how to change the way you buy your campaigns to get the most for your dollar.

The first one day seminar is December 17th in Chicago and space is restricted to a cozy crowd of 10 to promote interaction and make sure everyone goes home with a personal action plan.  If you can't make it to Chicago for the day, let me know if you think there is a demand for the seminar in your city.

Sign up now for Website Evolution!

Nov 25
2008

Website Evolution Seminar

Up the expertise you bring to the table. One-day intensive covers designing for search engine results, split testing of Web pages, using Analytics to arrive at a best design. Google tools provide you with a slam-dunk answers to every client design request.

I'm running a one-day four session seminar from the offices of Adam Howitt Consulting in Chicago on Wednesday, December 17th 2008.

Find out more about Website Evolution!

Oct 30
2008

Clickbank vs. Google AdWords Discrepancies

A client recently contacted me to ask why Google AdWords was reporting conversions but the clickbank affiliate account the Google AdWords ad linked to showed zero conversions.  The names have been changed to protect the innocent.  That includes the site - I have no idea about websites selling pipecleaners.

The "Basic" Process

  1. Joe the plumber (just to be topical) searches in Google for a phrase that triggers my client's AdWords ad for bestpipecleaners.com.  
  2. If Joe clicks the link, Google AdWords places a cookie on his machine that lasts 30 days to record the Ad that drove him to the site
  3. Google AdWords redirects Joe to the link in the Ad, in this case my client's clickbank affiliate link
  4. Clickbank creates a clickbank cookie good for 60 days to record the affiliate ID responsible for taking Joe to the clickbank destination URL, in this case, my client's landing page finally.
  5. Joe goes from the landing page to a few more pages and then hits the purchase button
  6. The purchase button goes to the clickbank checkout process
  7. Clickbank pulls the 60 day clickbank cookie from Joe's machine
  8. When he completes the sale, the affiliate ID from his cookie is credited with the sale
  9. Clickbank redirects Joe to the thank you page on my client's site
  10. The thank you page is tagged with the affiliate tracking code and Joe closes his browser and goes to fix some pipes.

Simple huh?  So in this case clickbank correctly accounts for one sale from my client's affiliate ID and Google AdWords records one conversion against the Ad that convinced Joe to purchase.

The Blockage in the Pipes
Josephine the plumber searches in Google for a phrase that triggers my client's ad and follows a similar path as Joe but when she gets to the landing pages, she doesn't trust the hype, leaves the website and goes to fix some pipes.  

A week later she is still trying to solve her underlying problem so she goes back to her computer and finds another website on the topic, pipecleanerreviews.com. Unbeknownst to her, this site is also an affiliate of my client and after she sees a review of my client's product, she decides it might work after all and clicks the link to visit my client's landing page again at bestpipecleaners.com.  Behind the scenes, the URL she clicked on is a clickbank link with pipecleanerreviews.com's clickbank id instead of my client's clickbank id.

  1. Clickbank records the affiliate id as pipecleanerreviews.com in the cookie on Josephine's machine, replacing the original affiliate id of bestpipecleaners.com
  2. Clickbank redirects her to bestpipecleaners.com and she completes the sale
  3. Clickbank pulls the cookie from her machine (pipecleanerreviews.com's affiliate id) and so they get the credit for the sale
  4. Clickbank redirects her to the thank you page which is also tracked with pipecleanerreviews.com's conversion tracking code (in addition to bestpipecleaners.com's code), and she goes off to fix some pipes.

The problem in this scenario, is that the thankyou page has both Google AdWords conversion codes and so both AdWords accounts (bestpipecleaners.com and pipecleanerreview.com) will record a conversion, when clickbank only credited a single affiliate with the conversion.

There are many other scenarios that play out in a similar way and she might have visited many sites.  In fact some of the links from my client's site bestpipecleaners.com points to pipecleanerreviews.com because it's a good idea to let people get third party opinions of your products to help them decide if it's worth buying.  

To accurately measure the AdWords campaign, the first search she did was not responsible wholly for the sale but since conversions are absolute we have to decide who gets the credit.  Regardless of your opinion on this, clickbank believes the last affiliate ID used should get the credit since they ultimately generated the sale.  Google AdWords however has split the credit because of the conversion code existing for both affiliates on the thank you page.  

The BestPipeCleaner for the job
If we want to change this behavior to make it match clickbank we have to show only the Google AdWords conversion code for the affiliate recorded by clickbank.  Fortunately, Clickbank reports the affiliate ID (if there was one) in the URL as the variable cbaffi when the visitor is sent to the thank you page so it is a simple matter of detecting which affiliate ID was passed and showing the appropriate tracking code snippet.  This could be a google snippet, a Yahoo PPC snippet or any other conversion code really, we just need to show one or none. 

The URL will look something like this where zzzzzzz is the affiliate ID and ... means there is much more than I want to type out:
/common/thankyou.cfm?item=9&cbreceipt=xxxxxxx&time=1224443502&cbpop=yyyyyyy&cbaffi=zzzzzzz&cname=...

For my solution I propose a database table of unique affiliate IDs mapped to their tracking code snippet but if you are only dealing with a few affiliates you could manually write this out to a property list or structure if you can carefully escape any quotes or double quotes that might break your code.

  1. If the affiliate ID is blank or isn't passed to the thank you page, do nothing and skip to the rest of the page
  2. If the affiliate ID is not blank, look-up the affiliate ID in the database:
    1. If there are no matches do nothing and skip to the rest of the page
    2. If there is one result, display the conversion tracking code and then show the rest of the page
    3. If there are mulitple results for the affiliate ID, loop over the rows and write each snippet out then show the rest of the page

Ideally, each affiliate would have only one snippet per ID but it is foreseeable that an affiliate might be promoting your site on Google, Yahoo and several other conversion tracking channels.  If you don't give them a unique affiliate ID per channel, they will record a conversion against each in the unlikely event that someone saw an affiliates Google ad, then their Yahoo ad before making a purchase.  It's a complex scenario but worth noting.  If you can, give them a unique affiliate ID for each separate ad medium they use (Google, Yahoo) so they can see the stats they need.

For help with your Google AdWords issues take a look thru my consulting site and contact me.  If you need help with Clickbank I have to confess it's not my specialty but I can try to help. 

I've also worked extensively with third party e-commerce providers to configure Google Analytics to ensure revenue is recorded against the correct referral sources which is a related issue.

Oct 28
2008

Eating my own dogfood

AdamHowitt.com is my Google Analytics consulting website and has been live for over a year since the inception of my business last year.  I built my own CMS a few years ago for a client project and recently implemented it for another client.  Finally, I have invested the time to implement the CMS for my own site so it now blossoms with fresh content and a better insight into the services I have to offer.

Key features of Ham: 

  • Relationships between content items - for example, my portfolio items are related to services I offer and vice versa so the tool automatically makes the related items available for display
  • XML driven content specification - quickly add new fields to a content definition to make new fields available in the adminstrator
  • Content versioning to make it possible to rollback content to a point in history
  • Front-end display widgets for common tasks like looping over a list of related item, listing pages and list filters.
That's it for now and I'm trying to tidy up the code to make it open source some day.  Those in favor, please raise your hands :-)

 

Sep 03
2008

Cross Domain Funnels in Google Analytics

I've been battling Google Analtyics for the last week for two customers with a similar issue - each has a multi-step goal configured starting on one domain and ending on another.

As I understood it you add the tracking code to your store site and your third party shopping cart pages.  What I didn't realize and have never witnessed before, is that you must add the code to every page in your store and every page in your third party cart.  I found this out when I found a different Google Support page on the topic than the one I had read earlier.

The first symptom that something was wrong was a funnel with a required step only reporting the first page despite a simple series of steps defined.    I just couldn't understand why the second page which was part of the same domain was no longer tracking since I added the cross-domain linker updates.

Next I re-read the page I referenced first above and realized that the cross-domain script goes on the destination as well as the source page but it didn't fix the funnel.  However, I was able to use the GA Navigation Summary (Content > Top Content > Page detail > Navigation Summary) to find each page of the flow.  Everything was being tracked here but not in my funnel. Hmm.  If you are on the Navigation Summary you should see step 2 of your funnel as the exit to step 1 but that wasn't the case.

I searched for step 2 in the content dropdown and found it so I clicked that to see the Navigation summary for step 2.  Here I saw entrances but no step 1 as previous pages.  Stranger still, I could see step 3 (on the shopping cart domain) as a next page!  For step 3 as the navigation summary though - I couldn't see step 4 so I was missing 1 & 4.

It was clear GA wasn't tracking the progression from step 1 > step 2 and starting a visit with step 2 somehow, recording step 3 next then ignoring the progression to step 4.

The light bulb moment came when I guessed correctly that the use of the linker script on step 2 and 3 meant step 1 was tracked with one cookie before step 2 announced the need to mark pages as part of the domain "none" so it created a second cookie. 

The step 3 page also uses the "none" domain and so continues with the second cookie since the linker has passed enough info along to set a matching cookie on the new domain. 

Step 4 (thank you on shopping cart) didn't have the linker script so GA created a third cookie because the shopping cart domain didn't match the "none" domain set by the linker on step 3.

I ran a test and, sure enough, my funnel started working again.  Pah.

The bottom line is that when I re-read the wording on the reference pages, I'd missed the subtle fact that you don't just tag the pages involved in the link but every page in your domain that are to be tracked when you do anything with third party domains to make sure your Google Analytics setuprecords every click.

Apr 10
2008

Google Sitemaps made easy with Linux

I just discovered that Google Webmaster now allows you to register Google Sitemaps in a variety of formats: RSS, Simple text or sitemap XML format.

This may not be exciting news to most but the simple text format makes life drastically simpler in terms of an entry point to creating a sitemap. 

I was about to fire up a text editor and some tunes to rip through a site to manually collect the page names when I realized that the find command in linux will spit out a carriage return separated list.  A quick

find -name \*.\.htm
yielded the foundation of what I needed.  Note that backslashes used to escape special characters.  This gave me output as follows:
./index.htm
./thanks_mailing.htm
./resources.htm
./closing copy.htm
./header.htm
./vegas_17.htm

The last step was to use the substitute sed command to replace the ./ at the start of the string with the site name and pipe it into the sitemap.txt file:

find -name  \*\.htm | sed 's/^./http:\/\/www\.mysite\.com/' > sitemap.txt

Jan 30
2008

Free Search Engine Optimization Tool

Four years ago I began working with a content management system, DuoCMS, which was super flexible but the consequence was that the basic search engine optimization pieces could be missed when implementing anything other than a standard content block.  I developed a simple Search Engine Optimization spider to rip through pages of the site and generate a report of the meta data, keywords and titles on each page to help track down omissions.

Last October I started working in Analytics as an independent consultant and I see the demand for this kind of tool is certainly out there.  For that reason, I've added a slimmed down version to start at your home page and find the first 5 pages on your site linked from the home page.  It shows you the title, heading, meta description tag, meta keywords and finally a rudimentary keyword density analysis for the page to give you some ideas about what to use in your meta keywords. 

The intro paragraph to the tool gives some optimization recommendations but it should be enough to lift most pages lacking in any of these areas from mid-google obscurity to a respectable first page placement for your selected keywords.  The exceptions are going to be where you are going after the most competitve keywords.  If you find yourself in that boat, use your title and meta tags to carve out a niche in that competitive space.  For example, if dog walking is massively competitive (2 million pages last time I checked), try to focus on your most profitable or rewarding area of your business which might be large breed dog walking (311,000 pages).  If you add your city to the title, in my case Chicago, you get down to 82,000 competing pages.

To try the tool on your website visit my consulting website at  www.adamhowitt.com and select resources in the top right.  You'll find the tool listed as SEO Preview Tool and can find some of my presentations and white papers freely available for download.  I recommend my Google Technology for Better Content presentation for anyone getting started with Google Analytics.

Jan 02
2008

A Year in Review and the year in Advance

This last year has been huge for me after buying our first home and leaving my full-time job to start my own consulting business.  I am going to review some highlights before setting some goals for the new year.

We saw in the new year in Williamsburg, Virginia where Melissa's cousin was getting married.  Unfortunately our departure back to Chicago was hampered by typical holiday delays and we ended up being re-routed.

After the physical therapy for my ankle tendonitis, I joined Team in Training in January to train for the San Diego marathon, based on my success the previous year in San Francisco.  We trained through the bitter cold with our eyes on June 3rd.  The organization raises money for Leukemia and Lymphoma so imagine my surprise when a week after I signed up we discovered my wife's Niece had developed Acute Lymphoblastic Lymphoma at the age of 3.  It made me even more resolved to succeed and I began my fundraising effort to generate $3,900.

I received my Green Card in February after 7 years of immigration turmoil.  It was such a relief to finally be able to stay in the country I call home.

In February the Chicago Flickr Meetup Group finally opened the gallery show we had been working on called Digitally Entwined.  As the founder of the group I took the lead role in executing Bernie's great idea and 15 of us put together an opening night that drew a croud of over 300 people.  The artwork was outstanding and several people were able to sell some work.

I also attended the Frameworks conference in DC in February where I got to spend quite a bit of time with the Webapper guys.  Later in the year this resulted in the contract offer that allowed me to leave my job and become an independent consultant.  The conference was fantastic and sent me back to Chicago with a head full of ColdSpring and many good things.

I ran a personal best at the Shamrock Shuffle 8k in March, finishing in 39:03.  We've just signed up for the 2008 race so I can try to beat my time.  Realistically though after 3 months of 50 hour work weeks with no training I'll be happy to finish.

In April I received an intriguing email from recruiter at Google and began a 2 month mini-marathon interview process culminating with a flight to San Francisco, a day of interviews and some waiting.  The Googleplex was a fascinating place and the recruiter Ryan took me for lunch in the acclaimed cafeteria and a couple of games of pool.  I had 4 phone screening interviews over the period and after the onsite meeting I waited a little over a week before I finally heard that the company had changed direction and were no longer hiring for the position.  This came as a bit of a shock and as my wife put it at the time "it felt like we'd been dumped".  We'd put a lot of eggs in the Google basket and even planned to move out to San Francisco if it came off so it was a big family decision to do it.  After a few weeks of sulking I turned around and decided that we should make some changes, starting with buying our first house to put roots down in Chicago and ultimately to plan to resolve my work situation where I had been frustrated.

June was a big month starting with the completion of the San Diego marathon five hours and forty-nine seconds.  It was nearly an hour slower than my San Francisco time and resulted in some more ankle pain.  It was great to finish despite the heat and I spent the rest of the month limping around.  I gave a presentation to the attendees at Web Content 2007 where my Google Technologies presentation received top marks despite a line-up including Jason Fried and Salim Ismail.  Shortly after that conference I flew to DC with three other Duo employees to attend CF United 2007.  Another great conference filled with exciting ideas and excellent tutorials even if I did end up being coerced by my co-workers to sit in the dunk tank.

By July my ankle was fully recovered and Melissa and I were training for the Chicago distance classic - a half marathon and my wife's longest race ever.  We trained throughout July and into August when finished together in two hours twelve minutes, holding hands as we crossed the finish line.  We had an incredibly relaxing week in Cape Cod where Melissa's family had rented a house and I even got to see humpback whales breaching.  It was a nice break after all the house hunting we had done and brought us back energized and we found the place we wanted to buy.  We signed the contract later in September and moved in September 29th

A week before we moved I received a call from Nat at Webapper asking if I was available for a contract.  After mulling it over and working out if we could afford to do it, I handed in my notice and accepted the 3 month contract, starting one week before we moved house!  It has always been my dream to do this but the Google situation, growing frustration at the office and finally having a green card all resulted in the big move.  The day after we moved I spoke at CFUnited Express on Amazon S3 and EC2.

During November I spoke twice to the ColdFusion online meetup group about Amazon S3 and EC2, splitting my CFUnited Express presentation to allow me to go into more detail.  Later in the month we headed back to Manchester, England for thanksgiving.  I know that we don't celebrate thanksgiving in England but my Mum made a turkey and we celebrated anyway, including teaching my Nieces to draw turkeys by tracing the outline of their hands.  I met my new Nephew Archie for the first time on this trip and we also made it to Birmingham and Todmorden to meet the new babies that had meant my two good college friends Kirsty and Taanya missed our wedding.  Beautiful children all round and I even got a little broody myself!

December flew by as my contract with Webapper came to an end I was accepted to speak at CFUnited for June 2008.  We spent the holidays in Boston and came back in time to celebrate New Year's Eve (and our five years of knowing each other anniversary) at a friend's house after some Singstar karaoke.

What is in store for 2008?  Some things I already know like the CF United presentation and I have been asked to be a mentor for the early bird Chicago Marathon Team in Training group.  We'll be starting later this month and will ramp up slowly over the next nine months to get ready to run the marathon here.  I'll know for certain in the next week or so but I'm really excited to be able to help other people raise money and train for their first marathons!  My personal goal for the race is to beat my 4:06 personal best but if the weather is as hot as the last Chicago marathon I think I'll just be happy surviving the race!

Now my Webapper contract is over I have been working on some other projects but my goal is to find another short to medium term contract around the three month mark.  In the last 3 months I've been working 50 hour weeks between my clients but without the contract I'm down to about 60% utilization in the coming month so if anyone has any projects they need an experienced hand with, let me know!  I've been using my spare time to learn Flex to broaden my skills.  The Webapper contract I was the CF and DB guy writing the service layer for a Flex front end and it certainly gave me a better appreciation for the potential of Flex.  I worked in a vacuum, using test driven development to build CFCUnit tests before coding each method and using those to gauge my success with no interface to refer to initially.  This is a practice I want to pursue in the new year and continue to work with Cruise Control for continuous builds and test execution. 

We donated all the books we had in storage we had read between Christmas and New Year so my goal for this year is to read the 26 fiction titles that remain.  At one every two weeks it will definitely be a challenge but I think I can do it.  I just need to finish the last two Harry Potter books first.  My last goal is to beat my wife at Singstar.  We bought the Singstar 80s game after Christmas and have been addicted ever since.  It's essentially Karaoke for your living room but you are scored on your performance based on pitch and timing.  I have only managed to beat Melissa at Blondie's Heart of Glass using a falsetto voice so I'm desperate to improve to save my dignity ;-)

Nov 02
2007

Google Adds Site Search to Google Analytics

One of the most important but least tracked aspects of your website is how people use search to find things on your site.  Google Analytics has been updated to include a new section for tracking site searches by category.

I'll explain why it's important to track search, describe each of the new reports Google Analytics provides, offer some conclusions you may be able to draw from the reports and then explain how to configure Google Analytics to track searches.

Why track searches?
People typically resort to searching your site when they are either in a hurry or can't find what they are looking for.  It can also be argued that if they are in a hurry and can't find what they are looking for that you still have an issue in that your site doesn't make the important information obvious enough.  Given that the average person spends around 8 seconds on each page of your site you might notice that it seems like everyone is in a hurry!  

What reports will using Google Analytics provide to help me?

  • Visits: Who searched and when?
    • When did visitors use site search? - Trends over time to let you know when people are searching.  The drop down box on this report allows you to dig deeper to see how many visitors searched, total unique searches, how many result pages were viewed per search, percentage of people leaving after seeing your search results page (hint: they didn't find what they were looking for), percentage of people refining their search to be more specific (hint: your search results were not very helpful), time spent on your site after they searched and lastly how many results did they user click on to find what they needed.  All of these sub-reports should help you be more critical of your current embedded search.  If people are constantly refining searches or leaving but you know the content they needed was there, maybe it's time to consider Google's site search or another service.
    • How do visitors who searched compare to those who didn't? - This report has the standard 3 tabs you may be familiar with from elsewhere in Google Analytics "Site usage", "Goal Conversion" and "Ecommerce".  The site usage tab allows you to use the drop down boxes to compare visitors that searched against those who did not in terms of how many pages were viewed, how many people after just one page (a "bounce").  If you have configured goals for your site you can switch to the goal conversion tab and, for example, compare visitors who added an item to their cart who used search versus those who did not to see if searches are more or less likely to purchase from you.  If you have e-commerce configured for analytics you can go one step further and the e-commerce tab will tell you if you get more revenue from people who search than those who don't.
  • Search: What did visitors search for?
    • Which search terms did visitors use? This report can tell you what the top terms used to search your site were and gives you the same 3 tabs as the previous report.  This means that you can see whether people were more likely to leave your site or buy something based on the terms they used to search.  Clearly if you do track revenue based on visitors to your site and you see that a popular search term results in substantial revenue, it is a strong indicator that this item or product isn't prominent enough in your navigation but has good demand.
    • Which categories did visitors search?  This report tells you how many people are using the more advanced category based searches. You can investigate whether one category of search causes more people to leave the site or purchase something than the other categories of search.
  • Content: Where did visitors search?
    • Where did visitors start their searches?  Searchers always have a starting page and this report can tell you which page was the last page they visited before they gave up clicking your navigation and tried to search instead.  This doesn't necessarily mean that the starting page was the dud because they may have bounced around your site with the navigation first.  People want to be successful and feel empowered when they use your site and you can improve this feeling by making visitors feel like they were able to find what they needed by clicking.  It's a small victory but it makes people feel a little happier to use your site so if they resort to searching it can be very disappointing. 
    • Which pages did visitors find?  Once they searched, where did they end up?  This report will tell you where people went for each type of search.


What should you look for?
Take a look at the top 10 search terms on the site and think about the role of your website.  Are any of the search terms valid terms for someone interested in reaching the ultimate goal of your website?  The ultimate goal might be signing up for a newsletter, filling out an application, buying something or submitting a contact form.  If the terms are for this type of content then you may have an information architecture problem.  The solution to this problem is broader than the scope of this post but you should probably gather some of your team together to brainstorm some ideas.  Here are some general pointers but for more information checkout Steve Krug's "Don't make me think".

  1. Emphasis is an accent.  If everything on a page is emphasized, nothing on a page is emphasized.  
  2. Prioritize.  Your web page reads from top to bottom so the most important messages should appear at the top.  There is only one number one slot on the page.
  3. Keep it above the fold.  Not everything deserves to appear in the top part of the page, the trick is deciding which content doesn't belong there.
  4. Think like your visitor.  Try to get some people who are unfamiliar with your website to review any different concepts for reorganizing your pages to make sure they can find the new elements you introduce.  An alternative is to try the Google Website Optimizer to test the new designs side by side, otherwise known as an A/B test.  Google serves your new and the old design to a fraction of your existing traffic so you can monitor changes in search behavior and navigation behavior.  Ultimately you can track how many more people converted/ purchased/ signed up because of the new design and make the switch if you have positive results.


To setup search analytics for your site in Google Analytics

  1. Go to Analytics Settings for the site where you want to monitor searches
  2. Click the edit link on the far right of the "Main Website Profile Information" section
  3. You should see a site search section with "don't track site search" selected
  4. Change this to "Do track site search" and you should see a new field appear for query parameter and categories
  5. The query parameter is the part of your URL which is used to tell your web server which search term was used.  To work this out, go to the search box on your site, enter a search term and hit submit.  Look at the URL on the search results page and you should see something like q=my+search+term or search=my+search+term or something similar.  "q" and "search" are query string parameters and "my+search_term" is the search term.  You may have more than one pair of parameters and search terms, especially if your search has options like cat=my+category where you filter a search based on a category of your website.
  6. Enter a list of each query string parameter found in the previous step, separated by commas. So we would use q or search for our example above.
  7. If you found that you do have different categories of search like "search people", "search offices", "search products" and there is a query string parameter used to differentiate each search type, select yes where it asks "Do you use categories for site search?" and enter the list of category parameter names.

 

Oct 09
2007

Google Analytics reports zero visits but Google Ads shows clicks

I've been working with a client to troubleshoot his Google Analytics setup and discovered a documented issue you should look out for.  The Google Adwords campaign summary was reporting over 2000 clickthrus but the Google Analytics AdWords campaign summary showed zero visits for the same period.  After some investigation it became clear that the issue manifested itself after the new site was launched.  In my mind if a click was occuring but not recording a visit my concern was that the adunit was redirecting to a page that had gone away.  I clicked the link in the adunit but it took me to a valid page.  Knowing that 301 redirects are used to redirect clients to new permanent homes of content I fired up Fiddler 2 to inspect the actual http request and discovered a 301 redirect.  My instinct told me that a 301 redirect wouldn't pass on the campaign data from the original page and was ready to set up my own experiment to test the theory when I came across the definitive answer on the Google Analytics support page "Why do AdWords and Analytics show different figures in my reports?".