Archive for August, 2011

SHARE ALL THE THINGS!

Published August 25th, 2011 Analytics, Industry, Social Media 2 Comments

Two exciting things happened last month in the social sharing space. First, Google released their Facebook killer Google+ and the now ever recognizable +1 share widget. Second, for you fellow Google analytics nerds out there, they made it easier to track all of these share widgets out there with their new social interaction tags. This got me to thinking about sharing as a concept in general. During a digital strategist meetup my good friend Alex C. Williams from Trendline Interactive and I were discussing this topic and how he was trying to increase sharing actions for his client’s email programs. What came out of this conversation was an undeniable fact, 99% of websites and emails have these features, and 99% of them were doing a pretty bad job with them.

As I started my research for this post I began to see what I can only describe as laziness. On most of the sites I visited these poor little widgets looked like they got placed haphazardly somewhere on the page. I could literally see the developer/designer checking it off the “best practices” list. If this is true, then why the hell are there literally billions of dollars being pumped into measuring how many shares, likes, re-tweets, +1’s, karma and all the other verbs people of came up with to describe one simple thought and action – “Hey, I think this content is neat and I bet others would think so too.”  Why are there not hundreds of posts about optimizing these features and functions like we do our button Call to actions (CTA’s) and form designs?

Here’s my opinion on it.

The first thing we must do is think about the placement of those widgets. I believe anywhere in the vicinity of the content you wish to share is good. They can be at the top of the article or after the last sentence of your post works to. Now, the second thing… for Christ oh-mighty please put a frickin headline by it to promote ACTION.  If you just have “share this” written by the buttons you’re better than some, but we both know that just an extra 2 minutes of copy writing could go a long way. If you stop reading this post now and go do this, I’ll have felt this post a success. If you wish to continue, I’ll give you some examples of some surprising sites who are doing this really bad and others that are doing it just right. For those of you who wish to read the whole thing, I’ll conclude with my personal thoughts on what social widgets I think are necessary and which ones you can throw in the trash.

 

Example #1 – So bad and you won’t believe what site this is.

This comes from one of the leaders in tech and internet news, and you think they would know better. The first thing we see is that the share buttons for the article are 435 pixels downward from the actual article content and then to put the cherry on it, there’s a giant rule dividing the share section. I’m sure the UX people out here would agree, at least put the damn buttons by the damn content. Without some visual cues, how am I really even know what I’m sharing? Rule number one, put these buttons in context with the actual content. The second major fail is the lack of a headline CTA. Where’s the reason I should share?  Why should I click one of these buttons? Rule number two, at least tell me what these buttons are supposed to do. This might be suprising, but this is actually a screenshot from Wired.com. All of their article pages are seriously like this. :(

 

Example #2 – How can there be so much creative thought put into this blog, but absolutely none into their sharing section?

For this article I asked my good design friend Elliot Olson what some of his favorite design blogs were, and he directed me to Fastcodesign.com. I myself was very impressed with the overall layout and elements. And then I went into a post detail page. Much disappoint ensued.  How can they be doing so many things right visually and than when it comes to sharing this beautiful site to the world, this sound is sadly appropriate. Considering the creativity of the content and overall design of the site, I feel this section should be just as cool as every other piece on this site, but it looks like it just got slapped on because there was whitespace available. See what I did there my designer readers? At least they are better than Wired’s buttons and are placed  in context of the article.

 

Example #3 – Now we’re getting somewhere.

 

I did say earlier that there were a few sites out there doing a good job and the Huffington Post is one of them. While, I would agree the amount of real estate taken in the actual article seems a bit much and the share headline is a bit weak. Take a second to look at how much utility they get out of these boxes, AWESOME! They do an amazing job with 8 ways to share, plus a one-click action email signup…bravo. Notice that this does not end up looking like a Nascar stock car like we see in some sites out there. Designers and developers take note, with a little bit spacing and background colors these pesky buttons can not only look great, but the amount of utility in such a small space can be dramatic. The placement is also great with absolutely no confusion about what article you will be sharing. Huffington post you definitely get my “SHARE ALL THE THINGS AWARD”, nice work.

 

Example #4 – My personal fave.

Now this last example might not be the best one out there, but I think it illustrates the points I’m trying to make, plus it’s on my favorite analytics blog, Occum’s Razor by Avinash Kaushik . Besides just being overly simple and to the point, it exemplifies what just 2 more minutes thinking about the “headline CTA” can do. Why yes Avinash, I did like this post. Ok, I’ll share it. See, this isn’t hard to do. His placement is also nice, right at the end of the article, no design elements, just a relevent CTA, some buttons and voila. We’ll also give extra points to for having some old school share buttons for the paper pushers out there.

I promised some thoughts on what actual share buttons you should have and what you can throw in the trash, so here it goes. No matter who you are or what your site is about have the big 3 – Facebook’s Like, Google+’s +1, and Twitter’s Re-tweet. They make it so easy to add these buttons and everyone uses at least one of these sites, so stop being lazy and do it. Now comes the hard part, what about all the rest? Is your audience b2b? I would say LinkedIn would be a smart choice. Is your content weird photos in Portland? Perhaps you should have a Stumbleupon button or maybe a reddit link (Digg is dead. Sorry Kevin.). Better yet, look at your data that you collect on your site and see if you historically have gotten referral traffic from one of these sites, if so ADD IT!!! Lastly, for those of you who use Sharethis or Addthis icons, personally I believe these are relics from when we were trying to figure out what this share thing was going to be about. Personally, the metrics I have seen on these being used on sites have been abysmal at best. Last but not least, email sharing. I’m going to get some flack for this, but honestly when was the last time you actually wrote someone an email to share some web content? That’s what I thought. Now let’s go SHARE ALL THE THINGS!

Like this post? Follow Charles Voloshin on Google+

Enhanced PPC Attribution with PHP

Published August 12th, 2011 Paid Search 16 Comments

Attribution is absolutely vital for good PPC. Imagine if you set up a campaign through Google AdWords and in your reports there were fields for impressions, clicks, and cost, yet no way to view your conversions. What if when visitors converted on your site, you had no way to tell whether they were a direct visit, from another referring site, organic searchers, or pay-per-click visitors? You’d be dumping money into AdWords without any metrics to measure your ROI. That’s just not smart.

Thankfully, it’s easy to set up conversion tracking for Google AdWords. Just tag your conversion event and you’re set (I’ve over simplified this, admittedly). However, what if your business relies partially (or completely) on phone calls as the conversion event? You can’t put a conversion code on your website’s phone number and expect PPC visitors to click it. For the same reason, you can’t put messages on your landing pages telling visitors, “if you clicked on an ad to get here and need more information, call…” some PPC-dedicated phone number. Well, turns out you can; I’ve seen it done. When you really think about it, a phone number makes PPC attribution about as clumsy and random as a blaster.

Well, here’s a more elegant solution for a more civilized age: dynamic website headers. One of the most common locations for a website’s phone number is in its global header (the footer’s less common, so we’ll stick with the header).

Functionality that changes the global header based on the visitor’s source would be all you needed to attribute phone calls to PPC; just make sure you have one dedicated phone line for PPC so you know which source leads come from.

So we know the solution is dynamic headers, but how do we get there? PHP! If you’re website’s server is set up with PHP, you’re in luck. If not, the theory behind this method can be used with any server-side language. Here’s how we do it.

Break Out Your Global Header

If your website is built using static HTML, you’ll have some adjustments to make. You need to break out your global header from the rest of the page. Doing this is actually one of the great things you can use PHP for. While your page content changes page-to-page (if it doesn’t change, you have an extremely boring site), certain elements always the same: the navigation, the footer, and especially the header. While I don’t have the time or space to get into a full PHP lesson here, what you’ll essentially need to do is call in your global header using the “includes” PHP function instead of embedding the HTML on the page.

The file for the header (header.php) can live in an “includes” directory on your server. The file itself can just be the raw HTML that was once in embedded on every page of your site. A nice side benefit is that if you want to change anything in your header in the future, you only need to do it in one place. Neat, huh?

Click for a closer look at the code

Fortunately, many sites already use this functionality. WordPress does it right out of the box. If you’re site doesn’t have this set up already, it’ll take a little bit of work, but it’ll be worth it in the long run.

Create a PPC Global Header

We want the same header with the same phone number to be displayed everywhere on the site, except when a visitor comes from PPC; in that case, we want them to see the PPC-dedicated phone number only. To do that, we first need to create another header file in the “includes” directory that uses the PPC-dedicated phone number instead of the normal one. Just copy your header.php, rename it ppcheader.php and update the phone number. That’s all we need to do for now. We’ll build out some neat code to call that in at the appropriate time later on.

Use a Query String Parameter

Before we get into actually calling the special PPC header we just made, let’s figure out how we are going to send the message to the site that a visitor actually came from PPC. A simple way is to use a query string parameter. You’ve no doubt seen these in use before. They look something like this:

http://www.swellpath.com/eppcaw.php?parameter=value

At this point, all you need to do is decide on your parameter name and the value. Later on, we’ll check to make sure the parameter exists and matches the correct value before returning the PPC header.

For simplicity, I like to set the parameter as PPC and the value as TRUE.

http://www.swellpath.com/eppaw.php?ppc=true

Check for the Parameter and Set a Cookie

Ready for the code-heavy section? Like I said previously, this can’t be a full on PHP lesson, but I’ll try to explain the theory behind each piece of code.

To keep things organized, the code we build out in the following steps should live as its own file in the “includes” directory. Let’s name the whole thing campaignTracking.php. I’ll explain how and where to call this code into your page later on.

The first thing we’ll want to do is check if the PPC parameter equals TRUE.

if($_GET[“ppc”] == “true”)

This snippet uses the $_GET super global (you don’t need to know what a super global is) to grab the PPC parameter and check if it is equal to “true”. If it that checks out, then we want to tell our website that, “yes, this person came from PPC”. That’s where the cookie comes in. A cookie is a bit of info stored in a visitor’s browser that we can reference to call the appropriate header. This also lets us display the PPC header on every page they visit throughout the site since it’s stored in their browser and essentially follows them around.
The value of the cookie we set is arbitrary, but let’s make in easy to understand and make it equal to “sourcePPC” so we know that the “source is PPC”.

$cookieValue = “sourcePPC”;

After we define the cookie’s value, we can use PHP’s “setcookie” function to set a cookie in the visitor’s browser.

setcookie(“SwellPathCampaignTracking”, $cookieValue, time()+60*60*24*90);

The line above sets a cookie named “SwellPathCampaignTracking” equal to our specified cookie value and makes it last for the next 90 days. The setting the expiration date 90 days in the future, we can display our PPC header for that same visitor even if they leave and come back. Essentially, we want to account for people discovering the site through PPC, leaving, and then coming back to convert via phone.

Finally, we want to set something that’s easy to use when we want to call in our PPC header. We’ll call our variable “cookie” and make it equal the same thing as “cookieValue” (which is “sourcePPC”).

$cookie = $cookieValue;

Remember that we only want everything above to happen if our PPC parameter is TRUE. So, we’ll wrap that all up within an ‘if’ statement.

if($_GET["ppc"] == “true”)
{

$cookieValue = “sourcePPC”;
setcookie(“ReboundCampaignTracking”, $cookieValue, time()+60*60*24*90);
$cookie = $cookieValue;

}

The last thing to address, before we move on, is to allow the cookie variable to be set regardless of what page the visitor navigates to (provided they came from PPC).

else {

$cookie = $_COOKIE["SwellPathCampaignTracking"];

}

The statement above sets the cookie variable to whatever is stored in the visitor’s browser as SwellPathCampaignTracking. If they’ve visited the site before via PPC, they’ll have that cookie set and the cookie variable will be set correctly. If it’s a visitor from direct, referral, or organic sources, they won’t have a CampaignTracking cookie stored in their browser and the cookie variable will be empty.

Completed code:

Click for a closer look at the code

The Switchup

Now that we have all that deep coding out of the way, we can do the actual fun part and write our code that will switchup the header. We’ll do this based on the value of the cookie variable.

Remember when we broke out our global header into header.php and ppcheader.php? This section would suck without it. Basically, if the cookie variable equals “sourcePPC” we use ppcheader.php when PHP builds the page. If it doesn’t equal that or isn’t set, we use the standard header.php. Again, for organization, keep this code in the “includes” directory as its own file. Call it switchup.php

Click for a closer look at the code

Putting it all Together Like A Boss

Now that you’ve built out all your code (like a boss), it’s time to put it all together to make a page.

Note that in order for this whole thing to work, campaignTracking.php needs to fire before anything else. If you don’t check for the parameter and set the cookie before PHP builds the rest of the page, it’ll be too late and you won’t get to pull in the cool PPC header. TL;DR: make sure to include campaignTracking.php before the first tag.

Just so there’s no confusion, remember that the of an HTML document and the header are not the same. The section contains info about the page and calls in other cool stuff like JavaScript and CSS. The header is a piece of the visible, user-facing site that will always be within the tag.

Click for a closer look at the code

 

Finally, make sure that you use this layout on every page of your site that you want to enable the PPC-dedicated phone number on. It’s not uncommon to have a different PHP template for your custom PPC landing pages than the one used on the rest of your site. If you have a blog, it likely has it’s own PHP template as well that’ll need to be updated.

Making it Work with Your PPC Campaign

You barely need to change anything in your PPC campaigns to make this work. Simply append “?ppc=true” to your landing page URLs when you build your ads. (If you already use query string parameters, just add &ppc=true).

http://www.swellpath.com/eppcaw.php?ppc=true

http://www.swellpath.com/eppcaw.php?v=10&ppc=true

When a PPC visitor clicks through on one of your ads, all of our awesome PHP code with execute and return the PPC header with the PPC-dedicated phone number. Since we set a persistent cookie, the PPC header will be displayed on every page they visit and not just the first landing page they hit.

Bam! Enhanced PPC Attribution with PHP, or EPPCAwPHP, if you want to be cool.

Click here to see a working demo of what we just did!

Follow Mike Arnesen on Google+

How to Measure the Effectiveness of Internal Campaigns Part 2

Published August 5th, 2011 Analytics 2 Comments

Part 2: Analyzing Your Internal Campaign Performance

Now that you have thoroughly read through my previous blog post Part 1 – How to tag internal campaigns with Google Analytics, its time to tackle the question of, “What to do with all this awesome new data?”.  This post will provide some insight on how to use the data collected on your internal marketing campaigns to measure their effectiveness and optimize your campaigns.

A good metric to start with is click through rate (CTR) of your on-site promotions.  To get this metric, take the total clicks on your tagged campaign from your event tracking report and divide this by the total pageviews of the page the promo was located on (internal campaign clicks/total pageviews of campaign page = CTR).  Make sure that your reporting periods are aligned when you pull these numbers.

The CTR will give you insight into the ability of the internal campaign to generate clicks and visitor interest.  Some factors to consider adjusting to drive up your ad’s CTR would be page position, messaging, call to action copy, creative or the page you chose to place the ad on may not be appropriate for that message.  The CTR is also a good metric to use if you are doing comparative analysis on multiple campaigns within a single page such as a homepage or custom landing page.  In this scenario, positioning within the page becomes even more relevant.  When you tagged your campaigns, you added in a positioning reference into the value making your life much easier when it came time to analyze the data.

Clicks are great but are they converting?  That is the main reason for non-branded advertising whether it’s internal or external.  Even with a branded message, your goal is to drive some kind of interaction or content consumption which can be typically be defined and measured against.  With ecommerce or B2B lead generation, it is easy to get the complete picture.

Visitors who click on your internal campaign and thus fire off an event tag, custom variable tag or both, have entered themselves into a nicely defined custom visitor segment.  Let’s use an example where the internal ad is for 50% off Troy Polamalu jersey’s at the NFL store.  The CTR would obviously be through the roof and there would be a ton of people rockin’ Polamalu jerseys thus making the world a better place.  However, a couple people might click on the ad and not actually make a purchase – losers!  How can we map the action of clicking on the internal campaign with the end conversion point of making a purchase?  This can be done through custom segmentation.  You can build an advanced segment to apply the value of the event tag to your visitor segment.

In this scenario we would build out the advanced segment to include > Event Label > Exactly Matching > Polamalu Jersey. 

Then simply apply this custom segment to your ecommerce and/or goal reports to get your conversions and conversion rate.  But what if someone clicked on the Polamalu Jersey promo then bought an Brian Urlacher jersey?  Like that would ever happen…..You can apply your custom Polamalu Jersey segment to your product performance report and see how many Polamalu jerseys (and anything else) this visitor segment purchased.

If you were exceptional with your tagging and utilized a custom variable tag for your internal campaign and set it at the visitor level, you could then measure how many visitors clicked on your internal campaign and made a purchase or converted throughout multiple sessions.  Maybe your visitors are going off-site and doing some comparison shopping but can’t find a better deal than 50% off so they return 3 days later and purchase.  The custom variable would still be attributed to that visitor and the sale can be associated to your internal campaign.  The custom variable report provides data on your goals and ecommerce within the standard report so you only need to build out a custom segment to get more granular information such as total conversions or specific products purchased.

If you internal campaign is pushing a message for a quick sale, you may find value in applying your newly built custom segment to your goal funnel visualization report.  If the campaign message is a pushing a short term conversion (Sale is Today Only!!!!), you can apply this custom segment to your goal funnel visualization report and to see how your conversion path is holding up to visitors who “should” have a strong desire to convert.  You may find that your offer is great but once visitors see the shipping price there is a large increase in abandonment.

Finally, apply your custom segment to visitor attribution reports such as organic and paid search keyword reports.  This can provide  you with insight into which keywords visitors are using to find your site that would be interested in the specific offer you are promoting.  You can scrape out some findings from the keyword reports to target some new keywords for similar promotions you may run in the future.  Also see which keywords are more likely to lead to a conversion if the visitors are provided a direct path to conversion and a compelling offer.

These are just a few examples of how to make excellent use of your properly tagged internal campaigns.  There are many other ways to slice apart the data from your campaigns and build out more detailed custom segments.  You can aggregate your findings over time across multiple campaigns to find the bigger trends and build out a framework of what a successful internal campaign looks like for your business.

Adam Speaking at SMX East in September

Published August 1st, 2011 Events No Comments

For our friends on the East Coast, SMX East in New York is a great opportunity to see the best-of-the-best in search speak and impart their wisdom. I’m excited to be speaking on a panel focused on uncovering “hidden treasures” in Google Analytics – relatively unknown ways to get more advanced data on search visitors and other segments. All this goes down September 13th through the 15th. Please come say hi if you’re going to be there.

Email Updates

Signup for our newsletter to keep up with the latest from the convenience of your inbox.

Connect with Us

Find SwellPath on the socialsphere and keep up with the latest news in our world.

  • Google Plus
  • LinkedIn
  • Twitter
  • Facebook

411 NW Park Avenue, Suite 400
Portland, OR 97209
(503) 224-9204
info@swellpath.com