All posts in Development

The Only Audit You’ll Ever Ask For

Websites should be attractive, consistent with your company’s branding, and designed to sell. Sometimes a few little tweaks to your look and function can make a big difference in how well you are serving your clients.

Everyone wants their website to look top notch. Who wouldn’t? We all want to be represented in the best possible light. But let’s be honest, there will always be someone out there that has a newer, more creative, fancier looking site. Keeping up with the Joneses is tough on the internet, and constantly doing full site redesigns is not only difficult but expensive and time consuming. Now I am not saying a total overhaul is never a good idea, certainly if you haven’t had any major design changes in 5 years it’s probably time to invest in one. Short of starting from scratch lies a different option.
It’s very difficult to judge your own website (or any visual representation of yourself or company), it’s often either one of two extremes. You either can’t stand it so much that you can’t see the positive aspects or you love it so much that you can’t see the flaws. That’s why on occasion it’s a really good idea to do what we like to call a “site audit”. Don’t worry we aren’t talking about the IRS rummaging through your files. All I mean is having a professional take a detailed look at your site. We look at your general visual design as well as the functionality, searchability, and how well it is selling your products. After doing so we provide a detailed report of recommended changes, why we suggest them, and an estimate on the amount of time it would take us to implement these changes. You certainly are not obligated to make these changes, or you may just pick one or two for now and keep the rest as a wish list!

A few of the areas that we will take our magnifying glasses to will be:
Basic visual design
Navigation functionality
Checkout processes
Search engine optimization
Product page organization
And much more

We have had quite a few of our clients take us up on this opportunity and make some of our suggested changes much to their benefit in profits and traffic. Don’t get left behind, drop us a line at!

Power of the written word

What do you do before making a purchase? Personally I do a few things. I look around for a good deal, I try to decide whether or not I really need said item, and I research, research, research. Part of my research is understanding the item, for instance, I recently set out to purchase a new television (my old one somehow managed to get a remote lodged in it during a certain sporting event). I realized I didn’t know the difference between plasma and LCD, so I looked it up and decided what technology was right for me. Then it came time to decide on a model. Let me tell you, there are a lot of TV models out there. I found a few that matched the specifications that I wanted and narrowed down my choices. This is the point at which the most important part of my research happens, product reviews. How many times have you done something or bought something simply because someone recommended it? People want to hear that others were happy with their experience in their own words.

So if you looking to make an online purchase and you don’t actually know anyone that owns the item where do you go? Savvy folks may have a favorite review site. Some may just type it into a search engine. Why not make it easier for your clients by adding review area to your product’s page! And how do you populate this review area you ask? Two ways, you can have a “write a review for this product” link on your product’s page and/or the more effective version, you have a self triggered email that requests a review from the recipient. You would be very surprised how many people will take a minute or two to write a few sentences about a product they love. Which brings up an interesting point. What about bad reviews or those few bad apples out there that might write something rude? Simple, your administrator must approve any review that gets posted to your site. Not to mention poor review gives you the opportunity to comment back to the unsatisfied party and the chance to show your great customer service. I also encourage you to put a few “three star” reviews as apposed to all “five star” just to show the validity of your review area.  So how do you get this wonderful service? Simple again, you can add it to your site along with other custom email services in the email 6 pack upgrade (to be addressed in an upcoming blog) or by it’s self  by contacting us at!

Worried about not getting the bang for you buck? A client of ours recently added it to their site and within the first week had over 70 great comments over a bunch of different product pages. Take a look at! The reviews are in the tabbed area under the product area.

In the end this is a great way to promote your product, encourage sales, and put a smile on your face for a job well done!

Presenting, by Popular Demand, the Tracking Parameter

We often get questions about tracking parameters. Specifically, people wonder about what tracking parameters are, how to add them to urls and how to use the parameters provided by Google Analytics.

First, just a quick overview on why you should care about tracking parameters.   The bottom line is that without tracking parameters, many campaigns are very difficult to track.   Tracking parameters allow you to tell your reporting engine how to show tracking data in reports.  They allow you to give the data in your reports the names that make sense to you, and to group the data in your reports into units that make sense and are actionable.

Like many things in the internet space, understanding tracking parameters is simple once you know it, but sometimes you need someon to give you a foundation of understanding before you can internalize the
knowledge.   That’s what I’ll try to do here.

To start, you’ll want some vocabulary.   Tracking parameters are a specific kind of query string parameter.   A query string is a part of a url. A url is the tech term for a web address.

Now, let’s dive in…

These are all urls:

Of these 5 urls the last three have query strings.   A query string starts with a question mark and contains one or more name-value pairs.   The name
value pairs have a parameter and a value.    Let’s look at these in more depth.

The first url above has one parameter, “q”, whose value is “dayparting”.   The second url has two
parameters, “q” and “sort” with values “dayparting” and “asc” respectively.   You will notice that the name value pairs are separated by ampersands.

Generally speaking, query strings pass specific information to the hosting server (the server that has the file that you are requesting with your web browser) so that the hosting server can deliver specific
information back to you .

In the case of Google Analytics, tracking parameters are added to the url to talk to javascript on your webpages that in turn talk to Google so that your Google Analytics can understand the visit better and report on it in a useful way.

There are 5 parameters used in Google Analytics.


I won’t go into what these parameters correspond to in GA reporting (let me know if you want that and I’ll do it in another post.)

How to add Google tracking parameters to your urls.

The key is that each url should have only one question mark.   The question mark says to the server “ my query string parameters start here”.  Having more than one question mark can cause errors.

If your url does not have a query string parameter you need to add one at the end of the url and then put your name value pairs.

could become

could become blog/eric/?utm_campaign=email&utm_content=banner

If your url already has a question mark, you need only to add your tracking parameters as name value pairs.
You start with an ampersand (to say, “here is another parameter”) and keep going.

could become

could become blog/eric/? sortorder=asc

Did you see how the two examples I gave end in a slash, “/”?   Adding the query string is easy in
these cases, you can just add it at the end.

However, not all urls do.   What do you do if yours doesn’t? Unfortunately it depends on the case and I’ll need to explain why.

To understand the slashes in urls,  it’s helpful to remember that urls are requests to a webserver for a file.   The slashes give a path to the information you are requesting.  They indicate which folder (aka directory) the file lives in.   There is a master folder called the root for your domain name that holds all the other folders.   It can be found either by typing in the domain name

or by typing the domain name with a trailing slash

Beyond that, all the other folders are specified using slashes for each level you go in.

specifies that I am looking for a file called within a folder called “eric” within a folder called “blog” which is found at the root.

No file is specified in that request.   That’s OK. Most servers have a default file they will serve if no file is specified.  However, sometimes there is a file request.  This is the last thing you need to know (I think).

File names end with a suffix.   A file suffix starts with a period.  Common file suffixes for web files are


If your url ends with a file name, you can simply add the question mark and your tracking parameters.

could become

Generally speaking the order of your parameters does not matter as long as you are following the proper syntax of starting your query string with a question mark and separating your name value pairs with

Here are a couple of common examples of using Google Analytics tracking parameters to get reports on common campaigns:

Ad Center CPC Destination URLS:[the keyword for this link if you are using keyword level destination urls or
‘default’ if not]&utm_campaign=[your campaign name]

Email:[mailing name]&utm_medium=email&utm_content=[the specific link if you’re interested in reporting on that]

Shopping on Facebook: Beta Testing & A/B Testing

There’s no such thing on Facebook as a “staging site” or a “sandbox”. So as you develop your embedded shopping experience you’ve got come up with a way to do it that won’t cause problems for your Facebook Fans or other visitors. This can actually be more difficult than it sounds, since the whole point of social shopping is to enable a shared experience and integrate fully with your Facebook presence, and how can you do that without disrupting users?

And once you’re live, can you manage A/B and multi-variant tests like you would on your own web site, or do you have to go through additional steps? And how do you seamlessly manage code updates so they don’t affect live shoppers?

Facebook Test Users

First, the easy part. If you’re testing involves user interactions, Facebook has a way to associate “test accounts” with applications so you can easily manage manual and automated testing via these accounts. You can read the official documentation here. Test users keep you legal and avoid Facebook’s automated secret police units that weed out fake users. In other words, they remain persistent (with a few caveats) so you can expect problems during testing to be related to your code, not your user.

Creating the Fake Fan Page

I don’t know if this is officially sanctioned or not, and certainly sounds like a Bad Idea, but during most of my testing, I simply create a fake “fan page” for a fake company, so I can link my app in to the menu and do strenuous testing, including browser testing. I use a single fake page for all my testing, and I have read that Facebook finds and removes them somehow, but I’ve never been caught I suppose. Unfortunately over time I seem to be getting real fans, so if I’m not careful I might have to convert the fake company to a real one just to keep them happy. 🙂

With a fake company page you can add the FB App and leave it there for others to test and comment, all the while keeping it hidden from real shoppers who could cause real problems for merchants and themselves. From the fake fan page I can fully flesh out templates and manage iFrame issues like pop-outs and such. Your mileage may vary, and of course it depends on your e-commerce platform, but with the CV3 platform a lot of testing involves making sure the Facebook Theme variable remains set, or gets unset if you pop out of the iFrame.

Moving to Your Real Fan Page

This is the toughest part of all, and I’d love suggestions on how this is best accomplished, but rolling out your shopping app to your Facebook Fans seems to be an all or none proposition. I’ve seen it done in different ways, but the simplest and most obvious is to add the app to the left-side menu with a parenthetical disclaimer and then follow that with in-app messaging and/or removal of checkout buttons.

So, for instance, your users might see in your page menu the link “Shop With Us (beta!)” and when they click on it and your app loads they might see embedded messages explaining what they can and can’t do at the moment. One neat idea is to add a prominent button during testing that simply pops them out if the iFrame and takes them to your real site if they have trouble.

In addition, you can comment out “add to cart” or “continue to checkout” buttons as needed during testing if you are concerned about customers having major issues.

The only saving grace here is that because of your fake fan page testing, by the time you reach this step you are necessarily ready for public testing and should have the entire shopping experience to a point that you shouldn’t have too many issues. One tip that will make this easier: anywhere in your app that calls for the fan page ID should use a variable, so you can swap out the ID in one place as you move back and forth between testing and live.

A/B and Multi-Variant Testing

This is really a topic for a larger conversation, and the resources are pretty limited still, but in general there are two things you need to be wary of when testing the Facebook shopping experience for better conversion. First, the tools you use must function within the iFrame environment. People have had trouble with many of their favorite tools, including Google Website Optimizer. One big issue arises when an embedded iFrame tries to set cookies at a domain other than the parent window, which pretty much defines exactly how Facebook Apps are intended to operate. This predominantly seems to affect Internet Explorer. Don’t ask my why, but setting an additional header seems to have cleared up most of my problems. Here’s the header, in PHP form:

<?php header(‘P3P: CP=HONK’); ?>

The second thing to keep in mind is the mathematics behind your definitions for success. You may choose to simply value the addition of a Facebook fan in the same way you would consider a catalog or e-mail sign-up on your web site, but be careful. We are talking about social shopping after all. Do your fan counts expand at ever increasing rates, faster than e-mail sign-ups? This certainly indicates that the valuation should be different on Facebook.

What about purchases? Are they valued in the traditional way, or do you see an upswing in fans or orders when purchasers automatically post their purchase to their wall?

These are just a few of the things that crop up when considering exactly how to embed your shopping experience inside Facebook. I’m certainly interested in hearing from others, feel free to comment and let me know what is working for you.