• Shortcuts : 'n' next unread feed - 'p' previous unread feed • Styles : 1 2

» Publishers, Monetize your RSS feeds with FeedShow:  More infos  (Show/Hide Ads)

Date: Monday, 14 Apr 2014 14:00

Google Tag Manager AdLet’s get creative with Google Tag Manager! Google Tag Manager has changed the way we implement Google Analytics here at LunaMetrics, making it easier to track pageviews, events, you name it. It’s excellent for adding marketing tags for Adwords or conversion tracking for any service you need. But many people gloss over the fact that GTM can deliver really any code that you want to your site. This includes HTML, CSS, and Javascript!

So let’s think outside of the Analytics box and talk about using GTM to add content to your site, specifically:

  • breaking news strips
  • fly-in promotion
  • expandable in-line messages

Google Tag Manager Loads Later

There are a few things to consider before we dive in. Google Tag Manager loads as your page is loading, with many of your tags firing after the visitor has started to see elements appear on the page. For this reason, GTM is not going to work well for loading the main content on your site. For example, GTM will not be a great tool for experimenting with different headlines on your site, as the visitor may see the original headline flash before GTM loads and changes it. If you’re using GTM to add content, it should be lower on the page or should be revealed to the visitor in some manner (i.e. popup, flyout, expand, etc.)

Google Tag Manager is NOT a Content Management System

GTM can do a great many things, but for several reasons, should not be used to add the main content to a site. GTM can enhance, highlight, or contribute to your site, but it should not BE your site. You want your main content to be high quality, SEO-friendly and certainly not added via a third-party tag management system.

Respect Your Visitors

Just because we can add these ads and messages to our site, doesn’t mean that we need to have them fire on every single page. Later on we’ll discuss ways to control when these Tags fire. Your ads should have a clear way to hide them, and ideally should enter and exit gracefully. Here’s a nice close icon I’ve used before. Close Icon

Let’s get started! Coming up next:

What We Can Add – Copy and paste tags for your site
When We Fire Them – Rules, Scheduling, and custom macros
What They Say – Using Macros to update content
Measuring Success – Add Event Tracking to see how your messages are doing

What Can We Add

Here are few simple things to get you started! Feel free to take a tweak. For each of these, we’re adding HTML to your website that contains the frame of the messaging we intend our visitors to see. We use a few different ways to do this, using jQuery, or just by adding the HTML to the page and hidden. We’ll also include some CSS to make them look pretty, and we’ll do it all inside of a Custom HTML Tag. We use jQuery to make them animate nicely and to insert them into the page a little easier. If you don’t already have this on your site, I would look into including this when the pages load. You can also include them at the top of your Custom HTML Tag if this is the only reason you’ll need it.

1. Breaking News Box

Whether you have a news site or an ecommerce site, there may be occasions where you want to need to send a message to all visitors. If you’re a content site, perhaps there is quite literally breaking news that you want to share will all of your visitors. Or maybe you’re running a special that’s about to end. All of these are great candidates for a breaking news strip that appears at the top of your page


Add it to your site with the following custom HTML Tag. You’ll notice there’s a spot where it says “##### YOUR CONTENT HERE #####.” We’ll come back to this!

<style type="text/css">
#bn-bar {
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -transition: all 0.5s ease;
    position: fixed;
    -webkit-transform: translateZ(0);
    width: 100%;
    height: 25px;
    top: -35px;
    z-index: 10000;
    font-family: "Helvetica Neue", "Arial", sans-serif;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-shadow: -4px 4px 8px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: -4px 4px 8px rgba(0, 0, 0, 0.2);
    box-shadow: -4px 4px 8px rgba(0, 0, 0, 0.2);
#hider {
    background-position: 7px 5px;

#hider:hover {

var autohide;
DON\'T MISS OUT! Only 9 seats remain for the Google Tag Manager training on May 22!    Book Your Seat Today!
'); $(document).ready(function(){ $("#hider").click(function(){ $("#bn-bar").animate({ top: "-50" }, "fast","linear", function(){}); }) $("#bn-bar").mouseover(function(){clearTimeout(autohide);}); setTimeout(function(){$("#bn-bar").animate({top: "0"}, "slow","linear", function(){});},2500); autohide = setTimeout(function(){$("#bn-bar").animate({top: "-30"}, "fast","linear", function(){});},10000); }) </script>

— Show full code —

2. Fly-In Promotion

Sometimes it might be nice to have an ad or promotion fly-in from the side of the page, rather than the top. This example uses the same basic concept, but it’s just styled a little differently. We’ve used this on our Google Tag Manager blog posts to cross-promote our Google Tag Manager training.


Add it to your site with the following custom HTML Tag. You’ll notice this one also has a spot where it says “##### YOUR CONTENT HERE #####.”

<style type="text/css">
#popout {
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -transition: all 0.5s ease;
    position: fixed;
    -webkit-transform: translateZ(0);
    width: 420px;
    max-width: 420px;
    height: 165px;
    bottom: 200px;
    right: -440px;
    z-index: 100;
    font-family: "Helvetica Neue", "Arial", sans-serif;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-shadow: -4px 4px 8px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: -4px 4px 8px rgba(0, 0, 0, 0.2);
    box-shadow: -4px 4px 8px rgba(0, 0, 0, 0.2);
#hider {
    background-position:top left;

#hider:hover {
<div id="popout">
<div id="hider"> </div>
<div style="float:left;width:400px;text-align:center;">

<h1>##### YOUR HEADLINE HERE #####.</h1>
<p>##### YOUR CONTENT HERE #####.</p>

function showPopOut() {
    right: "0"
  }, "fast","linear", function() {
    right: "-440"
  }, "fast","linear", function() {});

— Show full code —

3. Expand Message

Not quite sure the best term to call this, but this little bit of code will insert your DIV directly above another element on the page. This can go a number of places, but for this purpose, I’ll add it directly below this paragraph. Ideally, this could happen right as a person landed on the page, or you can set a custom rule for when a visitor hovers over a certain part on the page, etc. Again, we’re using jQuery to make this nicely slide in, and we’re giving users a way to hide the message if they so desire.

Add it to your site with the following custom HTML Tag.

$('#header').prepend('<div id="slideInMsg" style="width:100%;background-color:#FFCC66;margin:5px;padding:5px;display:none;text-align:center;z-index:5000;"><b>##### YOUR CONTENT HERE #####</b><BR><BR><a href="#" onclick="$(\'#slideInMsg\').slideUp(); event.preventDefault();">Hide Message</a></div>');

4. Colorbox/Fancybox Options

I know this will be a popular question, so I’ll just throw it out there. There are a number of excellent javascript plugins that you can use to pop up these custom windows, so I wouldn’t recommend starting from scratch. These can definitely be added through Tag Manager, but will probably require some custom

When We Fire Them

So now that we have these spiffy messaging units, the next question is on which pages or events do we want them to fire?

Not on Mobile

Do you want these to fire on Mobile? If not – you can use a Macro to guess to a reasonable degree if the user is on Mobile device, and then set that up as a blocking rule.

function() {
    if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
        return 'Yes';
    } else {
        return 'No';

Mobile Visitor Rule

Only the First Page of a Visit

Maybe we want to hook new visitors, but we don’t want to hit them over the head with it again and again. Consider the following macro and rule.

function() {
    var host = {{hostname}};
    var ref = {{referrer}};
    if(ref.indexOf(host) > 0) {
        return false;
    } else {
        return true;

First Page per Visit

On Specific Pages

If you’re promoting something special, perhaps you only show a message when the visitor reaches a certain page, like I have set up for this article. Simple Rule below:

Page URL Lookup

On Specific Blog Categories

If you have a blog, chances are you’re tagging them in some way. If you’re using WordPress, even better! Most WordPress blogs add the category that you’ve tagged your articles into the class section of the tag, in case you have separate formatting set up. We can grab those classes with this with a Macro and use it in a rule!

    var article = document.getElementsByTagName("article")[0]
    if(article) {
        return article.className;
    } else {
        return "";

Blog Post Rule

At Specific Times

GTM has a built in scheduling tool. I’ve often wondered what I would use this for, but this seems like a great way to schedule a breaking news strip to appear for just one morning. It’s easy to set up on specific tags, but has somewhat limited functionality. Right now it only allows you to select one date/time period to run a Tag. Ideally, this may be expanded at some point to include recurring days. If you know your site is going to be experiencing some upgrades from 12am-3am, you can easily create a Tag for a message to visitors, then just set it and forget it! Scheduling can be combined with other rules to fine-tune who sees what and when.

GTM Schedule

On Specific Events

Consider using a Click listener and Rule to fire specific messages. For instance, when someone adds something to their shopping cart, maybe remind them about the free shipping special you have running. Your rule will then use either event = event.click or event = event.linkClick to specify when to fire the Tag.

What They Say

As for the content, it’s easy to simply type in what you want to say on these messages. But let’s go one step further! We can use Macros to grab information from the page, pick a random sentence, or change the content based on the page URL.

URL-Based Messaging

Let’s reach into our bag of tricks and pull out that Lookup Table macro. GTM already has a URL macro, so all we need for this is to determine which messages show on which pages. Keep in mind, the Lookup Table macro only supports exact matches. This it to keep it speedy and simple. If you want to do more complicated page matching, you can create a custom macro to classify URLs based off of regular expressions or case statements, then use that to feed into the Lookup Table. If you have a lot of these to add, here’s a quick way to populate the Lookup Table. You can also use this macro as your rule, where the only pages that are in the Table will fire a Tag.

Page URL Lookup

Random Sentence

If you’re testing out different copy on your site, you can run a very rudimentary content experiment by cycling through different variations to see which works best. This requires using two macros, one to create a random number between certain values and a Lookup Table that will contain your different sentences. Then depending on which random number is returned, show a different sentence.

function() {
    return Math.floor((Math.random()*10)+1);

Random Message Table

Grabbing Information from the Page

Remember that you can reference items on the dataLayer or on the page through Macros, which can then be echoed back in a message. For instance, say someone lands on a page with a promotional price on an object. You can create a macro to reference that section on the site to grab that value, then create an popup saying, “For a limited time only, this product is on sale for $XX.YY!” This will be easiest if you have it available on the dataLayer, or if there’s a specific ID or Class on the element that you’d like to reference.

Measuring Success

I won’t go into great detail about this, but consider adding events to these various Tags. You can fire an event using the same rules to say that the Tag was shown, or also add Link Click Tracking onto the ads themselves to see how effective they are. These solutions are great for small-scale messages, but if you are considering a larger content experiment, I’d really suggest using something like Google Experiments.

Hopefully this post has given you some good ideas and great resources to start thinking outside of the box with Google Tag Manager! If you’ve used GTM in a creative way, share your success in the comments below.

Author: "Jon Meck" Tags: "Google Tag Manager"
Comments Send by mail Print  Save  Delicious 
Date: Thursday, 10 Apr 2014 14:00

First there was the honorable GoalCopy plugin for Firefox, which ruled the kingdom for many (internet) years. This tool gave you the magical ability to copy goals from one profile (remember when that’s what they were called?) to another with ease. And the peasants rejoiced.

But then came v5 of Google Analytics, and with this new design the failings of the old king. GoalCopy was dethroned by it’s Chrome extension cousin,  GA Copy and Paste. It was visusally appealing and worked in the new interface. And the peasants rejoiced.

GA Copy and Paste met with its untimely demise when Google Analytics rolled out changes to the Admin, including Goals configuration. The Kingdom fell into chaos, with no ability to copy goals from one View to another. Until now.

Now we have learned of a noble warrior with a true bloodline, claiming the throne. This new leader calls itself by no name, it just sits there ready to copy your goals at a moments notice, either one at a time or in bulk.

You don’t have to download it. It isn’t browser specific. It’s a new feature in Google Analytics.

You can now share your goals.

goal share

And the peasants rejoiced.

With this new feature, you can share your goals across Views, either in the same Web Property or in completely different Accounts. Clicking on the share link brings up a familiar dialogue, with a link to share the goal configuration.

share goal configuration

When you go to that link, it opens a dialogue that lets you choose a View from your Google Analytics Account to import the goal configuration. You can rename the goal if needed, and choose whether to use that configuration to create a new goal, or overwrite an existing goal. If you choose to overwrite an existing goal, the dropdown menu lets you pick which one to overwrite. (Side note: this is one way you could order your goals to group related or similar goals together).

goal share screen

Also, goals are now shareable assets. If you look under the View column in the Admin, at the very bottom (under Personal Tools & Assets), you’ll see the Share Assets link. You’ll now see your goals listed here. By checking the box next to all of your goals, and then clicking the Share button at the top, you can share multiple goals at once!

goal share 04

goal share 05

Notice, you also have the option to share to or import from the Solutions Gallery.



Author: "Jim Gianoglio" Tags: "Google Analytics"
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 08 Apr 2014 13:57

With Universal Analytics out of beta (finally), many of us will begin making the transition from traditional Google Analytics. But not everyone realizes that this is also a great opportunity to implement Google Tag Manager while making the upgrade.  Implementing GTM is a straight-forward process and the capabilities are endless. In case you (or someone you know) need some convincing, or if you have just been delaying, this article quickly summarizes 8 reasons why you should be using Google Tag Manager now.


1. Future-proof your website: Upgrading to Universal Analytics may be a pain if you have to do a lot of code swapping, page modifications, etc. Instead, use Google Tag Manager to make the gradual switch to Universal Analytics, testing as you go. Implementing GTM will take about the same amount of effort as upgrading to Universal, but it will make future upgrades and enhancements much simpler since modifications can be made through GTM and not through each page of your website.

google tag manager agility2. Speed: Changes and new Tags can be made rapidly and do not require code changes to the website. This is great for marketers because it can really speed up launch time by testing each change themselves and deploying when ready, without involving a developer.

3. Flexibility: Google Tag Manager is great for marketers as they don’t need to involve a developer with every single little tweak to simple Tags. This frees up time for developers to focus on larger projects. Conversely, developers and IT staff will love GTM for the robust features listed below and the extreme customization. Who will benefit from GTM the most will depend on your website and the complexity of the tasks you hope to achieve.

4. Debug Options: Making sure that your Tags works BEFORE you publish them to the live site is really, really important. GTM has a built-in debug feature which allows you to personally test and debug each update in your browser on your actual site before publishing the change.

5. Version Control: Every time you publish a change, it creates a new version, which is archived. If at any time you need to rollback to an existing version, you can do so easily. This is also a great way to keep tags organized and trouble shoot tagging problems.

6. User Permissions: GTM allows you to set permissions for individual users that include view, edit, and publish.  You can control internally who has the ability to make updates to the website and enable a vendor (like LunaMetrics) to help assist with creating Tags, Macros, and Rules to assist with Analytics and Advertising.

7. Built-In Tags: GTM has included tags for classic and Universal Analytics, AdWords conversions, remarketing, as well as other popular ad networks. This is extremely helpful to marketers just starting with GTM and who do not have much coding experience.  These allow you to customize the tags with just a few pieces of information and without the complication of implementing code.

8. Event Listeners: GTM takes the hassle out of manually tagging each link that you want to track with individual onclick attributes to send events to GA. Instead, you can target links or buttons by attributes that are already on the link or by using a standardized naming structure like data attributes.

LunaMetrics has a plethora of detailed, technical posts that show the extended capabilities of Google Tag Manager here. Thanks for reading. Let me know your thoughts below!


Author: "John Donovan" Tags: "Google Tag Manager"
Comments Send by mail Print  Save  Delicious 
Date: Monday, 07 Apr 2014 14:00


We write about Universal Analytics all the time in this blog. In fact we’ve been talking about it since October 2012, which seems like an eternity ago. That’s when Google Analytics first announced that it existed. Now, close to a year and a half later, that twinkle in the eyes of several dashingly handsome Google Analytics engineers, has become a full, non-beta, reality. April 2nd, waiting to be sure to be clear of the horrendous world that is announcing things on April 1st, Google announced that Universal Analytics was officially, truly, no holds barred, out of beta.

So what?

It’s pretty great actually, because this isn’t just a release of something we’ve had our grubby little hands on for awhile. Sure certain parts of it we have, but April 2nd brought a number of things that we’ve been waiting for.

First? Feature parity. Up until now there were a number of things noticeably absent from Universal Analytics. Those that had been taking advantage of Remarketing and Audience reporting were stuck. They couldn’t upgrade because Universal didn’t have either. Now they do, with all previous aspects of the remarketing dc.js tag incorporated into Universal Analytics.

Second? That whole cross device thing. Until now User ID has been mostly talk and a beta that only the lucky few were able to participate in. How it’s being fully rolled out to everyone. Now, assuming you can identify your users through some sort of login, you can track the across devices. Now when a user checks out your website from their phone, but then later converts from home, you have the possibility to connect those visits together. We all have heard that people use multiple devices, sometimes lots of them, and now we’ll be able to see it in actual reports inside of Google Analytics.


Not to mention that with the Measurement Protocol updated to include User Agent and IP overrides we have even more ability to not just track things across devices, but off devices entirely.

And probably MOST important is that Universal Analytics is now covered by the Premium service-level agreement. For most of your freebie GA users you are probably wondering what that means, but don’t worry about it. That’s for the fancy people behind the red velvet rope where everything looks slightly cleaner.

So if you have been hesitant to move into Universal Analytics because it was still “in beta” or you needed that Remarketing data, or were waiting to be able to take advantage of User ID, wait no longer.

Universal Analytics is here. So quit slacking off and start upgrading.


Author: "Sayf Sharif" Tags: "Analytics, Google Analytics"
Comments Send by mail Print  Save  Delicious 
Date: Thursday, 03 Apr 2014 14:06

It’s no secret that we love Ad Extensions at LunaMetrics. Ad Extensions are the best way to enhance paid results on Google.com and provide searchers with the opportunity to dive further into your site, or, directly contact your business. Advertisers have a myriad of Ad Extension options and today, I’m going to make a strong case for you to test one of the most popular features, Call Extensions.

blog post 1

You might be thinking, “This song is so 2011, why did she do this?” I tend to agree based on the fact that I cringe every time this song plays. The key part of this image, however, is the word “Maybe.” Before explaining the benefits of Call Extensions, I urge you to think about how much value your business places on phone calls. For example, on a kickoff call last week, we asked our client how much they value phone calls. Their response? “Not much. Calls aren’t important to us.” Call Extensions aren’t for everybody and you need to make that decision before moving forward.

On the flip side, during a different client meeting, I proposed Call Extensions as a strategy to enhance ads knowing that they are a university and prospective students frequently call and inquire about program offerings. This client doesn’t have a CRM system, so after explaining tracking options, they jumped at the chance and we’ve seen success since launch.

1.) What Do Call Extensions Look Like?


google call extension  


google adwords call extension

2.) How Do I Implement Call Extensions?

In the Google AdWords UI, follow this order: Ad Extensions tab > select Call Extension from the drop-down > +Extension button > Select a campaign and the +New phone number button

blog post 4

Now, you need to decide whether you want to use a Google forwarding phone number or My own phone number. 

By selecting a Google number, you have access to call reporting that includes: start & end date/time, status (missed or received), duration, caller area code, campaign, ad group and call type (manually dialed vs. mobile click-to-call). This is a randomly-generated phone number that will forward to your phone line. Additionally, you can count phone calls as conversions when they last longer than a period of time defined by you.

Look at the difference if you select to use your own phone number:

blog post 5

The ability to count phone calls conversions disappears. Additionally, by not using a Google-forwarded number, the reporting features outlined above are not available.

Despite the differences in how you choose to display phone numbers, one of my favorite features about Call Extensions is scheduling . That’s right – if nobody can answer the phone, you can schedule your phone number to go dark.

3.) How Do I Report on Call Extensions?

After implementation, pull a Call Details report to gauge how many phone calls you received, and area code in which they came from and whether or not that phone call led to a conversion. You can even customize columns to analyze the Campaign and Ad Group source. Follow this path in the AdWords UI for reporting: All Online Campaigns > Dimensions > View: Call Details.

blog post 6

As I mentioned earlier, we launched Call Extensions for a client last Thursday afternoon, only running Monday – Friday from 9:00 AM – 5:00 PM EST. In less than four business days, we’ve received 13 calls with the majority lasting longer than 30 seconds.

4.) Should I Implement Call Extensions?

If phone calls are important to you, call me, definitely.

Have you already seen success with Call Extensions? Have questions about implementation? Let us know!


Author: "Alyssa DiLoreto" Tags: "Paid Search"
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 01 Apr 2014 13:36

What do you do if you need to use Google Analytics, but you have a broken hand (or two)?

broken hands
This is the problem we were faced with last year, as two of our analysts were involved in separate bicycle accidents. Using a mouse and keyboard to navigate the reports in Google Analytics proved difficult, if not impossible, with hunks of plaster covering our hands and fingers.

Then, on February 27, Google announced hands-free Google voice search in Chrome. All you have to do is say “Ok Google” to start a voice search. With that same technology, we can now use voice commands in Google Analytics.

Introducing “OK GA.”

Author: "Jim Gianoglio" Tags: "Analytics, Google Analytics, Industry Ne..."
Comments Send by mail Print  Save  Delicious 
Date: Monday, 31 Mar 2014 17:28

What is rel=”author”?

Part of the HTML5 spec, rel=”author” can be added to any <link>, <a> or <area> tag to inform search engines that the other end of the author link represents the author of the piece of content it is crawling.

In 2011 Google began using rel=”author” in an attempt to understand authorship of content more broadly. There has been some turbulence in the SEO community over whether Google will actually be using this to rank content in future. But Google’s Matt Cutts has most recently stated that Google is using rel=”author” as part of an Author Rank when serving in depth articles in their search results. Thus it is important to know you have this set up properly on your website.

Reasons for Authorship

• Allows writers to claim the content they contribute to one or more websites
• Allows searchers to find more content written by the same writer
• Adds credibility and legitimacy to web content
• It’s the first step toward verifying an author’s authority which is used in Author Rank
• Pages receive higher click through rates due to the inclusion of a head shot alongside search results

Ways to Implement Google Authorship

Google uses a kind of bidirectional linking to verify that you are actually the author of a piece of content. This prevents people from falsely representing you as the author of content. For it to work you must include a link to your Google Plus profile somewhere on the page. It’s really as simple as adding a regular link with the rel=”author” tag somewhere on your page. When set up properly it allows Google to collect the articles you write from all the websites you contribute to and make them available to users interested in seeing what else you have written.

The fool proof way to implement the author link is to wrap a user head shot in the link or to use the authors name as anchor text somewhere on the page. Note that a linked image plays no role in the SERPs, Google uses your Google+ head shot for that. This is especially handy when you don’t have control of the website.

You must include a link containing the rel=”author” attribute from the piece of content you produced to your Google+ profile. The link should look something like this:

<a rel=”author” href=”https://plus.google.com/u/0/103658873186239327624/?rel=author“></a>

Then you must verify that you are a contributor to that domain by adding the domain to the “Contributor To” section of your Google+ profile. Visually the process looks like this.

Linking Google Authorship To Your Website

Below I have added some detail to Googles Official directions for implementing this.

1. Set up authorship by linking your content to your Google+ profile

a.Create a link to your Google+ profile from the article webpage.

- Ex: <a href=”https://plus.google.com/103658873186239327624/?rel=author”>Sean McQuaide</a>

- You are able to wrap this link around an image if you like. Doesn’t matter to Google, as long as the link is on the page.

b. Add a reciprocal link from your profile to the site you contribute to.

i. Edit Contributors Section by using this link, or navigate to it by:

1) Going to your G+ profile
2) Click ‘About’
3) Scroll to links section
4) Click ‘Edit’
5) Under “Contributor To” click ‘Add’ custom link, and enter the website URL.

-You can change the visibility of “Contributors To” by using the drop down in the upper right

Another way of connecting your profile is to verify an email address from the domain as your content (e.g. you@funnyordie.com). Here are the Google instructions for this, they are very simple.

  1. Check that you have an email that matches the domain of the site you contribute to
  2. Make sure each article you authored has a clear byline (ex: By Sean McQuaide) identifying you
  3. Submit your email address to Google via the Authorship page
  4. The domain of the email will now appear in the “Contributor To” section of your Google+ profile.
  5. Check the markup with Googles structured data testing tool



Via this method you will see the websites favicon along with the name of the site in your Google+ Contributor To settings.

Google Authorship byline

This is an example of proper implementation of a byline.

Choosing which way you go about setting up authorship depends on the kind of access you have to the website you’re writing for. If you have an email address from the website you’re writing for, then the second option is going to be the easiest way for you to get up and running. Just make sure your byline matches your Google+ profile name exactly. If you do not have control over things like the bio which would allow you to easily add a link to your profile, then you should use the first method to add your own byline at the end of your post and add the site manually in G+.

Leave questions in the comments.

Author: "Sean McQuaide" Tags: "Search Engine Optimization"
Comments Send by mail Print  Save  Delicious 
Date: Thursday, 27 Mar 2014 17:11

Graph Trend

When comparing two time periods in Google Analytics, we are given a percentage increase or decrease. In situations where there is a dramatic difference (as is often the case for year-over-year comparisons), we can safely assume that the result is statistically significant.

For example, in the below chart, every data point (day) is lower in the second period than in the first. We can reasonably conclude that there has been an increase in visits in our month-over-month comparison.

Clear Trend in Google Analytics

Clear Trend in Google Analytics

When we have a more-subtle increase (decrease) in a time comparison, however, the percentage increase (decrease) may not actually be statistically significant. This script will evaluate the graph’s data and determine whether (and at what level) the percentage change is statistically significant

Unclear Trend in Google Analytics

Unclear Trend in Google Analytics


Unclear Trend in Google Analytics E-Commerce

Unclear Trend in Google Analytics E-Commerce


This should be considered a Beta script. It has several limitations at this time, but they will be removed (hopefully) soon as I have time. Eventually I plan to release this as a Chrome Extension in the Google Marketplace.


  1. Set the date range and compare to date range such that they each have the same number of days, weeks, or months (6 to 40) and begin and end on the same weekday.
  2. On the graph, use the dropdown for the metric you want to test
  3. Copy and paste the Script into your developer console (F12 opens the developer console).
  4. The result of the test will be output to the developer console.

Script Limitations

  1. You must use comparable time periods in terms of Days of the week. If your date range starts on Monday and ends on a Friday and is 26 days, then the previous date range should also start on a Monday, end on a Friday, and be 26 days.
  2. Must use between 6 and 40 data points. If the graph is displaying days, between 6 and 40 days. If the graph is displaying months, between 6 and 40 months
  3. The script only determines if the percentage change is insignificant, or significant at 10%, 5%, or 1% level (p-values of 0.10, 0.05, or 0.01)
  4. Currently, the Script uses the Wilcoxon paired rank test. We lose power by not treating the data as a time series, and we make several other approximations. For greater than 40 data points, we can use a t-test to evaluate the significance of the percentage change displayed in the graph. This will be added in the next release.


//load jQuery
jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";

//call main once jQuery is ready
	datas = statMain();

function statMain(){
	var m1 = 139.5232, b1 = 59.24425, diff = sign = testW = 0; //testW is the Wilcoxon statistic
	var dataFrame = [];
	var rankHolder = [];
	var graphTarget = "";

	//check if overview or explorer graph present
	if(jQuery("#ID-explorer-graph-lineChart").length > 0){
		graphTarget = "#ID-explorer-graph-lineChart";
	} else if(jQuery("#ID-overview-graph-lineChart").length > 0){
		graphTarget = "#ID-overview-graph-lineChart";

	var currCircles = 	jQuery(graphTarget+" svg>g:eq(0)>g:eq(1)>circle[fill='#058dc7']");
	var pastCircles = 	jQuery(graphTarget+" svg>g:eq(0)>g:eq(1)>circle[fill='#ed7e17']");
	var numPoints = currCircles.length;
	var scaleBy = temp = jQuery(graphTarget+" svg text:last").text();
	scaleBy = scaleBy.replace(",","");
	scaleBy = parseInt(scaleBy);

	//y2 is for current timeframe
	//y1 is for past timeframe
	for(var i = 0; i < numPoints; i++){

		var y2 = (m1 - jQuery(currCircles).eq(i).attr('cy'))*b1/8000*scaleBy;
		var y1 = (m1 - jQuery(pastCircles).eq(i).attr('cy'))*b1/8000*scaleBy;
		var diff = Math.abs(y2-y1);
		var sign = (y2-y1)?(y2-y1)<0?-1:1:0;
		dataFrame[i] = [y2,y1,diff,sign];

		//for the wilcoxon computation
		rankHolder[i] = i+1;

	//compute wilcoxon sign test statistic

	//sort on the abs diff
	dataFrame.sort(function(a,b){return a[2] - b[2]});

	for(var i = 0; i < numPoints; i++){ 		if(dataFrame[i][3]>0){ 
	testW=numPoints*(numPoints+1)/2 - testW;

	console.log("test statistic:" +testW);

	//look up p-value based on testW and n = sample size
	if(numPoints == 0){
		console.log("Error - graph not able to be read");
	}else if(numPoints < 6){ 
            console.log("Sample size not large enough to conduct test"); 
        } else{ 
            console.log("This test is based on "+numPoints+" samples.");
            var isSig = lookUpSignificance(testW,numPoints);
            console.log("P-value is "+isSig+ " for "+ jQuery(".ID-primaryConcept .ID-buttonText").text());
return dataFrame;

function lookUpSignificance(testW,numPoints){ 
        var alphaValues = ["0.10","0.05","0.01"]; 
        var significance = "greater than 0.10, so no significant difference";
        if(numPoints > 5 && numPoints <41){
		var testRow = lookupTable[numPoints-6];

		for(var i=1;i<alphaValues.length;i++){
			if(testW <= testRow[alphaValues[i]]){
				significance = alphaValues[i];

	return significance;

//json key is for α value, except for df
var lookupTable =


I think it is important for us to incorporate statistical testing into our Google Analytics. Especially when there exists a subtle change in our data over time, we risk committing a type I error (false positive) and incorrectly appropriating our organization’s resources based on the faulty intelligence.

Author: "Noah Haibach" Tags: "Analytics, Google Analytics, significanc..."
Comments Send by mail Print  Save  Delicious 
Date: Wednesday, 26 Mar 2014 13:30

Upside down house

Get it? It’s an upside-down house. She’s looking up at a table!

Earlier this year, Google Tag Manager added a great new feature called the Lookup Table Macro. It’s pretty simple to use. Populate the table with two columns of data. Feed a value into it using a macro and if it finds that value in the left column, it will return the value next to it. This useful macro isn’t meant to replace complicated Javascript switch statements or advanced regular expressions. But it can take a large list of data and save us lots of time!

There are a number of uses that spring to mind when working with this type of Macro, but most will depend on your individual site and how it’s laid out. If your site has a relatively small number of pages, consider using a Lookup Table to classify pages into categories using the page URL. Perhaps you have five different events and want to populate the value parameter with something different for each one. Or if you have a content site and want to pass in the month of a published article, you may need a table to convert numbers to the full month names, which is just one of the many examples in Simo Ahava’s blog post.

These tables are easy to set up for small batches, but can get tedious if you need to add 20, 50, or even hundreds of rows. So what can you do to speed this process up?
Gift Basket

1. Offer presents to the Google Tag Manager team in exchange for CSV import

I assume they like coffee and chocolates, though that might be a generalization.  A nice gift basket of popular books could do the trick. Seriously though, it makes sense that this feature will be implemented some day, and hopefully sooner rather than later! Until then, read on….

2. Use browser extensions/macros to automate the process

If you’re a frequent user of iMacros or some other tool, this may be the option for you!  Sometimes I find these useful, or sometimes the setup takes me longer than it would take just to get the project done. Phil Pearce has a comment here that may help you out.

3. Use a combination of Google Docs and Javascript!

Or, you can follow these easy steps  and let LunaMetrics do all the work for you with the help of Google Docs, the Developer Console, and a little Javascript magic!

Let's Get To Work!

1. Copy the Spreadsheet to your Drive

Open up our handy-dandy Lookup Table tool here. The doc is protected, so you won’t be able to make any changes. Never fear, you can either download it as an Excel file or go to File, Make a Copy to save the spreadsheet to your own Google Drive.

2. Fill in the sheet

There are instructions on the sheet, but you can either type your table into the spreadsheet, or copy and paste your information from another source (ex. Excel). You’ll notice as you do so that Column H will start filling in with green cells. This is a good thing!

3. Copy the goods

Once you’re finished inputting your data into the spreadsheet, you’ll need to select all of these fancy green cells and copy them.

4. Head into the Console

Now head over to GTM, where your shiny new lookup table is anxiously awaiting. Hit F12 to open the Developer’s Tools, and find the Console. This may vary by browser, but was tested and worked perfectly in Chrome, Firefox and even IE!

5. Paste in the Cells

Now that you’re in the Console, just hit paste, then execute the Javascript you just pasted in! It may take a second for it all to finish, depending on your browser, how many rows you have, etc…

6. Double check your Data

As with any quick fix, you’ll want to double check to make sure it works properly!

That’s it! Give it a shot and let me know how it goes!

Interested in getting the most out of Google Tag Manager? Check out our brand new Tag Manager training in New York City on Thursday, May 22nd, 2014, during Internet Week!
Author: "Jon Meck" Tags: "Google Tag Manager"
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 25 Mar 2014 14:21

Direct traffic can be dangerous

Move over social media and search engines. Direct traffic is the next big thing.

Can’t you imagine it already? Direct Traffic Evangelist job titles and Direct Visits marketing plans will force you to revise your resume and attend new conferences.

Dibs on Direct Traffic Online Marketing Conference in 2015!

Maybe I am getting ahead of myself. Maybe the industry is not ready for a conference next spring. But a recent Mashable article got me thinking after it devalued Facebook (and search) traffic due to less average time on site than direct visits.

In the article, which cited Pew data, “Social media is great for finding unique content from sources you might not otherwise visit — but loyalty still matters… Readers who [directly] visit a publication’s homepage spend nearly three times as long on the site as those who visit via Facebook or a web search.”

If direct visitors spend more time on the site, and engagement goals are key, what should we do with the current social media team? How can we divert funds to invest heavily in direct traffic in 2014?

The article and data are focused on news publications so I asked a newsperson to weigh in. Kim Lyons, digital news editor at the Pittsburgh Post-Gazette, favors the research, but questions the premise. In her opinion, it’s not about choosing one group over another or reducing customer loyalty to time on site.

“A smart news organization knows it has to go where its readers are already (Facebook, etc.) when a big news event happens,” Lyons said, “and expects to have to go back there again and again to steer people back to the site. It’s a constant process, not a one-time, cross-your-fingers deal.”

Seeing Facebook as an audience instead of a communication tool is part of the problem. Talking about visitors in terms of a single traffic source is too static.

Should we be speaking so rigidly about channels and devises? That’s why marketers love tools like Google Analytics, where multichannel funnels demystify relationships and users can transcend their devise.

Who Is My Direct Traffic and How Are They Unique?

If I worked at a news site and was faced with similar curiosities, this is how I would go about answering them. It would start with these questions.

How much do you really know about each traffic source?

Are they different audiences or a similar audience with a different intentions?

What a time to plug Direct Monster, which solves that riddle. But it’s also the kind of question about which the Audience Report in Google Analytics dreams, begging to add demographic clarity to confusion.

gender charts in google analytics

Demographics Reports provide insight on age and gender. The above charts offer an overview of the sex of direct traffic and Facebook referrals to a sample site using Advanced Segments.

Interests Reports have Affinity Segments that might reveal that one audience is made up of primarily Technophiles while the other is mostly News Junkies & Avid Readers. Just be sure to remember that they are digital cohorts, not actual interests.

Location Reports might suggest that Facebook referrals tend to be from major cities while direct traffic to the home page is local or, even more interestingly, from a surprising locale. This post uncovered some amazing conversion rates that were once hidden in Small Town, America.

Behavior Flow (in the Behavior section) tracks how different audiences move throughout the site. Toggling between segments, say Facebook referrals and direct traffic, shows similarities and differences.

Add Content Drilldown and Exit Pages (also in the Behavior section) and the picture becomes even clearer.

multichannel funnels help solve direct traffic questions

Assisted Conversions, Top Conversion Paths and everything in the Conversion section illustrate how visitors reach desired outcomes. This is for a news publication so it’s a bit more complicated than buying widgets, but goal completions can be tailored accordingly.

The point here is not to say that, “Nuh uh, Facebook traffic is way more valuable” or even that the Pew research is flawed. It’s only to remind of the value of taking a moment to understand the person behind the click before discrediting a traffic source based on a single metric.

Every analyst has favorite tools and I didn’t come close to covering all of them. How would you approach this question and what tactics would you use? 

Author: "Andrew Garberson" Tags: "Google Analytics"
Comments Send by mail Print  Save  Delicious 
Date: Monday, 24 Mar 2014 14:00

Don’t wait until you urgently need a new tag to discover you also need your developers. Put the right infrastructure in place and reap the full benefits of Google Tag Manager.

May 25 is Towel Day

Google Tag Manager is so easy to use, you can start adding tags to a site as soon as the developers put up the GTM container code. To make the most of it, though, you will need your developers’ help.

Some information should not (or cannot) be hard-coded into the tags, because it depends on each visitor’s behavior on your site. What did the visitor buy? What articles did they read? What videos did they watch? What forms did they complete? I could go on (and do, below).

Your developers can pull information from the back-end of your site and make it available on the page. They can also prepare various page elements to work with Google Tag Manager’s listeners, rules, and macros. It all means smoother sailing for you when you want to add tags later.

Follow this checklist to prep your site for Google Tag Manager, and you’ll be ready for almost any tagging request. You’ll be the hero who always knows where your towel is.

Preload the data layer

1. Get familiar with the data layer. If you don’t already know about the object called the data layer, learn why you want one, what it looks like, and how Google Tag Manager uses it. Read my blog post for an intro to the data layer.

2. Data layer first, Tag Manager second. Make sure the Google Tag Manager container code snippet comes after the data layer. This ensures that tags needing data layer values will find them.

3. Check your URLs. In Tag Manager, you write rules to fire tags on different pages according to their URLs. Consider adding page template names to the data layer for easier rule-writing, especially if your URLs are hard to read.

  <script type="text/javascript">
     dataLayer = [{
       'pageTemplate': 'BrandPage'


We’ll get back to the data layer in a moment. First, take a look at all the places a visitor can click or interact with your site.

Review forms and clickable elements

Google Tag Manager can listen for clicks on links, buttons, and form submits with auto-event tracking. But there’s “automatic” and then there’s “automatic plus” a.k.a. making your life easier with a little advance planning.

4. Add IDs to every important element. I can’t emphasize enough how much time you will save implementing tags when you can refer precisely to the elements you want to track.

5. Use the data- prefix. If you can’t change existing IDs, add “data-id=xyz” to elements you need to identify for tracking. Extend the data- prefix to any attribute, not just IDs.

  <div data-id="cta">
     <a href="/request-info">Get your free brochure</a>
     <a href="/live-chat">Chat with us</a>
     <a href="/video/12gz65hk" data-title="Prospect Video">Watch video</a>


6. Watch out for “return false”. If any clickable elements use jQuery’s “return false”, change it to “event.preventDefault()” or Tag Manager’s listeners won’t work.

7. Track hover elements. As with clickable elements, having IDs or other unique attributes on elements where visitors can hover will make them easier to track. See my hover tracking post.

8. Do you have AJAX forms or content? Push an event to the data layer for forms that submit back to themselves, or for any AJAX-y content. Use the event info to send virtual pageviews if you need to create goal funnels.

9. Handling URLs with hash changes. You may not need a complicated solution to track pages where the hash is the important part of the URL. Read more about easy dynamic content tracking.

Add ecommerce to the data layer

To track purchases or donations, it is essential to pass the details from the back-end to the data layer on the receipt page where you can retrieve it easily via Tag Manager.

For Google Analytics or Universal Analytics, your receipt page data layer must contain:
10. Transaction ID.
11. Transaction Total. Usually the grand total the customer paid.

Along with an array of products, where each product must have:
12. Product SKU or Product ID. This label must be unique.
13. Product Price.
14. Product Quantity.

  <script type="text/javascript">
     dataLayer = [{
        'transactionProducts': [{


For Google Analytics, your receipt page data layer may also contain:
15. Store Name or Affiliation.
16. Tax & Shipping. Two separate fields available.
17. Product Name & Category. See Sayf Sharif’s post about tracking product category combinations with Google Tag Manager.

Many conversion tags also ask for:
18. Transaction Subtotal. You could calculate this with JavaScript from the product prices and quantities, but why not pass it directly from the back-end where it’s already been calculated?

And it’s worth considering to include:
19. Customer ID.
20. Customer’s lifetime number of purchases.
21. Customer’s lifetime value.
22. Customer demographic info.


23. Time stamp of purchase. Record the customer’s local time at the time of purchase, and use it to prevent repeat views of the receipt page from sending duplicate transactions to your analytics data.

Don’t forget to put a similar data layer on your cart page, showing:
24. Items in cart. Remarketing tags can use info about how many and which products a customer put in the cart.

Product pages may have a full-fledged data layer, including:
25. Product SKU or Product ID.
26. Brand Information.
27. Categories & Subcategories.
28. Reviews. Pass the number of reviews and the overall product rating to the data layer.

Add other page info to the data layer

Besides page template names, as suggested in item #3 above, there are many other pieces of information you might want to access via Google Tag Manager that are specific to individual pages or groups of pages.

For all kinds of content, from news and entertainment sites to blogs to non-profits to government agencies to self-service support sites, you may find one or more of the following labels helpful to add to the data layer:
29. Topics, Tags, or Taxonomy.
30. Authors.
31. Publication Dates.

  <script type="text/javascript">
      dataLayer = [{
         'author':'Yinzer, Joe',
         'taxonomyLevel-1':'NCAA Basketball',
         'taxonomyLevel-2':'2014 Tournament',


32. Comments. How many comments does an article attract? How long is the comment thread?
33. Upvotes or Downvotes. If you have a content rating system, add it to the data layer.
34. Length of article, or other attributes. Bonus tip: See Alex Moore’s post about using this info to create Content Groupings in Google Analytics.

And what about internal promotions or sponsor banners? If these can have specific element attributes as mentioned in item #4, above, then you can pull them directly into Tag Manager. If not, see if your developers can add to the data layer:
35. Internal promo ID or sponsor banner ID. You may also want to include a campaign name or sponsor name, especially if these can be easily pulled from the same database that puts the promo or banner on the page.

36. W3C Specification. The actual names of your data layer variables are entirely up to you, but if you’re starting from scratch, I suggest following the recently released W3C Specification, as explained by Jonathan Weber.

Add visitor info to the data layer

Just as you might put customer info in the data layer on your receipt pages, you might also put visitor info in the data layer on any page after the visitor has logged in. Anything a visitor has entered into a form, and you’ve stored in your database, can be returned to the page for easy access via Tag Manager.

Consider adding the following to the data layer:
37. Visitor ID.
38. Demographic info.
39. Membership level.

  <script type="text/javascript">
      dataLayer = [{
         'occupation':'university professor',


40. Preferences or user settings. Use of favorites, wish list, or other options you may offer that allow visitors to personalize their view of your site.
41. Visitor ratings. Depending on the type of site you have, a visitor may be rated as a top commenter, trusted expert, etc.

Finally, think about adding:
42. Visitor IP address. Jon Meck lays out the case for using Google Tag Manager to exclude known IPs from visitors who are not customers, such as internal staff or vendors. You can keep unnecessary hits from ever reaching your analytics data, instead of filtering them out later.

You won’t need everything in this checklist, but you’ll be glad you planned ahead when that last-minute tag request comes in, and you can just set it up in Google Tag Manager without placing a work order for your developers.

How have you handled prepping your site for Google Tag Manager? What obstacles or concerns do you still face? Did I leave anything out of my checklist? Please share in the comments.

Author: "Dorcas Alexander" Tags: "Analytics, Google Analytics, Google Tag ..."
Comments Send by mail Print  Save  Delicious 
Date: Friday, 21 Mar 2014 17:25

gtm-trainingLearn about Google Tag Manager, get your hands dirty, and get your questions answered… in less than a day. We are proud to introduce a brand new training course: Google Tag Manager – Basics & Beyond! This is a hands-on, intensive workshop, debuting in New York City for Internet Week on Thursday, May 22nd, at SUNY Global Center in Manhattan.

This workshop will be significantly different than our other trainings. It will be more interactive: LunaMetrics will provide a live demo sandbox, where attendees will practice setting up Google Analytics events to track button clicks, form submits, and other JavaScript interactions, all through Google Tag Manager. It will be more collaborative: a limited number of seats ensures that each attendee will be able to sit with our qualified trainers and talk through their specific questions relating to their own implementations. And it will be more intensive: the course will run for a half day, and it will be packed with both technical and strategic components, providing real-world implementation techniques you can enact on your own website right away.

Some of the topics we’ll discuss:

  • Writing Tags, Rules and Macros, with a focus on extensibility
  • Learning about the Data Layer, and how to interact with it
  • Exploring auto-event listeners and Rules with regular expressions
  • Learning techniques for sequencing tags
  • Setting custom dimensions and metrics through Universal Analytics
  • Loading jQuery and other libraries through GTM

Our Google Tag Manager workshop is informed by our consulting experience working with dozens of client GTM implementations, and through our position as a Google Certified Partner vetted by Google to support Google Tag Manager. As one of the leaders in this industry, our team has written important blog posts related to Tag Manager, and our own Jonathan Weber was part of the W3C initiative to standardize the Data Layer specification.

Come join us in New York City for one of the first Google Tag Manager trainings on the East Coast! And be on the lookout for additional Google Tag Manager trainings around the country, starting this summer!

Author: "Alex Moore" Tags: "Google Tag Manager, Trainings"
Comments Send by mail Print  Save  Delicious 
Date: Thursday, 20 Mar 2014 14:45

Link Measurement

This is part 4 of a series examining mistakes with SEO metrics.

  • In part 1 of this series, we discussed 5 huge mistakes regarding top-level SEO KPIs.
  • In part 2, we looked at 10 common mistakes made when analyzing SEO metrics in Google Analytics.
  • In part 3, we looked at 10 critical errors in analyzing and monitoring crawling and indexation metrics.

Today, we’ll do 10 of the most common mistakes in link metrics.

1. Ignoring Traffic

SEO practitioners commonly forget that links matter outside of SEO. But links can do more than give your site link juice. They can give you instant traffic. After all, traffic is what you’re doing SEO for, ain’t it? But yet SEOs still frequently ignore referral traffic from links.

Here’s a few reasons you need to keep an eye on it:

  • It helps you better understand the benefits of your link-earning efforts.
  • It helps you beat SEO-tunnel-vision regarding links and earned media. SEO-tunnel vision may cause you to ignore links that potentially lucrative in traffic that might be no-follow, repeat links from the same site, or otherwise less beneficial from a link-juice perspective.
  • You’ll understand your audience and the places they hang out better.
  • You’ll get useful insights for display advertising.
  • It gives you insight on which links are most SEO-beneficial because links that generate traffic tend to help your rankings more. Think about it. Links that are powerful for SEO when they are on authoritative pages of authoritative sites that are relevant to your page and site. That highly correlates directly with traffic (high visibility pages on high traffic site being used by an audience more likely to be in your niche.)
  • Some of that traffic converts. Always pay attention to traffic that converts.

Here’s an article I wrote on examining link traffic.

2. Not Tracking Growth in Authority

Of course, link juice matters too. But many SEOs don’t even track improvements over time to link juice.

You need to know if you are actually improving link equity, if its improving at the rate you need to meet your goals, and if you are seeing a return on your link-winning efforts.

3. Obsessing over “PageRank”


Toolbar PageRank bar is an overused metric on link equity, especially growth. Here’s some reasons why :

  • It’s not granular at all. PageRank only has 10 spots, and the difference between them can be huge. PageRank is based on a logarithmic formula, so while it’s not too hard to jump from a 0 to a 1, it’s really hard to jump from a 5 to a 6 – this would take most PR 5 sites well over a year.
  • It’s rarely updated. If your PR 5 site jumped to a 6, it could take months for the bar to get updated for you to find out. And the updates are highly irregular. Here’s an article on the last update, which took place 10 months after the one before.
  • We don’t know what factors go into it. Toolbar PageRank definitely does not fully guage authority or ranking power of a site. In fact, no one is certain it even takes into account all of the link equity and link trust metrics Google uses.

Be really careful using Toolbar PageRank metric as the sole indicator of your link equity.

Take a look at other data sources to monitor regular growth in link equity.  Estimates on number of links, root domains, and c-blocks can provide some insight. I like Majestic SEO for this data.

Metrics on estimated link equity that aggregate all that data into one metric can be super actionable. Hrefs and Moz (Open Site Explorer) do a solid job estimating link-equity of a page or site.

4. Not Benchmarking Your Data

Every link data tool and every niche I’ve ever encountered exhibits regular, quirky fluctuations in their reported link metrics. The only way to tell if you’ve truly moving one way or the other is to benchmark against several other sites in your niche and compare your relative movement to the aggregate.
















This goes to the keyword/page level too. You may think your page has a lot of links, but your competition for your target keywords may have more or better links.

Check link competition in the SERPs

Check link competition in the SERPs

5. Micromanaging Link Profile Metrics

#4 demonstrates the need to step back and look at the big picture when it comes to link metrics.

I believe that applies to granular link metrics as well, like:

  • anchor text distribution
  • nofollow distribution
  • proportion of link type X
  • proportion of link .edu tlds
  • proportion of Pagerank 5+ links
  • etc…

Now, I’ll check this stuff out at the beginning of a campaign to make sure the client’s profile is natural, nothing shady was going on, and there’s no penalty risk (and I’d recommend to do so regularly if you’re outsourcing your link building), but I simply don’t believe in having to regularly micromanage all the metrics that indicate a natural profile.

I certainly don’t spend my time monitoring minute metrics of current individual links.


Ain’t nobody got time for that.

Why? Because  this is not actionable data if you’re winning links the way the search engines want you to. If you’re trying to win editorial links (article on editorial vs. acquired links here) like you should, you only have so much influence on the details and you’re risk-free anyways. That granular data might have helped indicate risk and reward for old-school link building tactics that were effective in the past, but it’s almost entirely irrelevant for running successful link-winning campaigns today.

The point of paying attention to link metrics is to manage your approach to winning links – not to manage your link portfolio.

If you find yourself needing to obsess over granular backlink details, you’re probably mismanaging your entire approach.

6. Not Examining Authority by Page


One detail most miss is how much link equity flows to the various pages. You can and should exercise a lot of control over what you do with the link equity that flows to your site via internal linking, architecture, and keyword targeting.

Thus metrics on link equity per page can help inform countless decisions like:

  • Where I should target easy keyword x and hard keyword z?
  • Do I need to link more from page x?
  • Should I internally link more to page y?
  • Should I tweak the main menu?
  • Should I change site architecture?

7. Not Examining Link Bait Effectiveness



If you’re trying to win links in 2014, you’re probably creating content you hope people will share and link to. But many content  creators and marketers fail to figure out what works and what doesn’t.

Pull out your data on backlinks and pay page and pay attention to links to your content and note things like:

  • the author
  • the topic
  • the style
  • the content format
  • promotional tactics
  • the time and cost involved in creating the content
  • etc…

Study these elements in the content that got good links and in the content that didn’t. What’s the pattern?

8. Not measuring outreach effectiveness

The same failure to measure is often found in outreach. You really want to know if you’re doing it right, and you always want to know how to do better. To that end, keep an eye on metrics like:

  • time spent on outreach
  • # of emails/contacts
  • response rate on emails/contacts
  • placement rate
  • placement impact

If you put your outreach metrics  together with some solid content metrics you can calculate weighted cost-per-link (I’d factor in traffic to the equation). Then you can get some deeper insight on what works best.

9. Not Looking into Other, Non-link Authority Metrics

Links are only one element of authority, and other signals continue to become more important to raw rankings power.

moz rank factors survery pie chart

How much of what can be called authority isn’t actually link-related? Experts agree we’ve got several other quality and popularity signals being factored in. So if you’re ignoring indicators of popularity and trust like engagement metrics, brand mentions, and social share metrics, you’re not truly measuring SEO authority.

10. Not Tying Links to Other Key Metrics

Looking at links alone is limiting. But even if you have a solid holistic grasp of your page and domain authority, your actionable insights are yet limited if you don’t tie that to other important metrics.

For example:

  • Tie a pages authority to keyword clicks and rankings to determine if a page needs more authority or a look at keyword optimization.
  • Check your keyword/architecture strategy by comparing your most authoritative pages to your pages with he most organic traffic value
  • Check your indexation metrics to ensure that index bloat isn’t diluting your link equity
  • See if a link campaign is helping brand equity by looking for correlations in referral traffic, earned media impressions, branded organic traffic, and direct traffic.
  • and much more

The bottom line: if you’ve done the work to get the links, put the data together to make sure you’re making the most out of your efforts.

Author: "Reid Bandremer" Tags: "Search Engine Optimization"
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 18 Mar 2014 14:00

I’ve received a lot of feedback recently related to PPC agencies and the quality of service they provide. Sometimes the responses are encouraging, and other times they are somewhat disheartening. My hope is to squash these feelings and to provide anyone looking for quality service with a template to assess their prospective (or current) agency.

My advice is really quite simple: Do not be afraid to ask tough questions at any time during your relationship with your agency. It is simply unacceptable if at any point you feel slighted. To me, this is a sign of poor communication and lack of transparency.

You’ve entered into a partnership and, as such, the relationship is mutually beneficial OR detrimental. Take the time to work out the kinks and develop a solution that really works. In the long run, it will benefit both sides.

Do a Little Q & A Before Committing to a PPC Agency

Transparency is key in order to build a trustworthy relationship between you and your agency. Consider the questions below if you have any doubts before signing the dotted line. It’s better to ask questions now than pay for it later.
Q: Who owns my AdWords account?
A: You do of course!

I am shocked at the number of business operators I’ve talked with who do not have ownership of their own AdWords account and its associated data. If you listen to any advice on this page, I hope it’s this: Always create your own AdWords account with login and billing information of which you are the owner. The best agencies will always ask you to complete these first steps or guide you through them. They will then request access to your account via their My Client Center (MCC) account. This should be the standard as far as I’m concerned.

This should be your first area of concern because Google AdWords makes tools specifically for agencies, like the MCC. If your agency is not using them, it could be at the detriment of your account… or worse, your business.

If the agency isn’t being upfront with you on this very remedial level of service, then you need to reconsider if they are a trustworthy partner. After all, it is a partnership you are entering in to.


  • Access to complete account history
  • Transfer & give access to anyone you want
  • No hidden charges or fees

thumbs-downWHEN YOU DON’T:

  • Loss of account history & data
  • Difficult to transfer to new account manager
  • Possible “release fee” to get your account back


Q: Do I have access to the AdWords account?
A: Yes, feel free to review recent actions. We do ask that you please not make any edits without consulting us first.

If you’ve followed the first recommendation this should not be a problem. This is the primary reason you should want to own the account yourself. Having access means that you can review every detail in the account from billing to user permissions to the latest changes made.

Having access to the account does not necessarily mean that you should actively be making changes. You’ve hired an agency to manage your account for a reason, so let them do just that. It is important, however, that you understand the changes that are being made and the impact that they can be expected to have on the account.


  • Full view of bidding & budget strategy
  • Full access to reporting options
  • Accurate error-checking and cost analysis

thumbs-downWHEN YOU DON’T:

  • Zero administrative privileges
  • Unable to measure KPIs
  • Unable to conduct cost analysis


Q: What is our frequency of communication?
A: We recommend having a monthly meeting to review account performance and discuss updates or immediate concerns. Plus, we should have regular email communications for standard account maintenance and document review.

Your input is critical to the performance of your account. Discussions of keywords and relevancy should constantly be in flux. It is also vital that you make the account manager aware of any updates that will affect the account – event or promotion updates, changes to the website, new service features, etc.

You should strive to review performance of your account with your agency regularly. We recommend meeting at least once per month, but, depending your availability and the size of your account, quarterly meetings might be appropriate.


  • Account manager is always up-to-date
  • Gain a full understanding of the platform
  • Learn minute details about account performance

thumbs-downWHEN YOU DON’T:

  • Uninformed about your account
  • Promotions may be outdated
  • No knowledge of your data


Q: What level of reporting will I receive?
A: You will receive a standard monthly report with detailed analysis, which may be accompanied by ad-hoc reports when relevant to a discussion. Plus, we’re always happy to meet any reporting requests you might have.

It’s important to receive a report with some sort of analysis. The agency should provide a story to explain the data trends. Performance swings are a common occurrence, and it is up to your agency to help you make sense of your account.

A really great agency will also make custom reporting available at your request. If you want more detail into how a particular promotion performed, or you want to see how branded search compares to non-branded, or you want to see how performance stacks up on a day-to-day basis. The possibilities are literally endless here, but if you can dream it the agency should be able to build it.


  • See positive and negative effects taking shape
  • Receive explanation of account management
  • Gain understanding of your audience

thumbs-downWHEN YOU DON’T:

  • No knowledge of account performance
  • Relying solely on trust of agency
  • Zero insight into individual campaigns or keywords


Q: What certifications does your agency have?
A: We are a Google Certified Partner (or Certified Individual).

Your agency should provide some sort of proof of their experience. If you want a quality solution, you should make sure that they are a Google Certified Partner, and, more specifically, that your account manager is a Google Certified Individual. When judging the agency, you should even go as far to check that they are specifically Google AdWords Certified and/or Google Analytics Certified.


  • Accountablity & reliablity are assumed
  • Guaranteed management experience
  • Learn the ins & outs of the platform

thumbs-downWHEN YOU DON’T:

  • Potential lack of experience
  • No quality guarantees
  • Lack of platform knowledge

Have you asked these questions? You have? Great! You’re already on the path to success. You understand what is really necessary to build a lasting, working relationship with your agency.

If you haven’t, you really need to take a closer look at your PPC service. Now, ask these questions: do you feel like you have control over your account? Is your money being put to good use? Are you seeing an acceptable return on investment? So on, and so forth.

Are there other pressing matters that have been on your mind?

Author: "Stephen Kapusta" Tags: "Paid Search"
Comments Send by mail Print  Save  Delicious 
Date: Monday, 17 Mar 2014 14:41

Author: "Chris Vella" Tags: "Search Engine Optimization"
Comments Send by mail Print  Save  Delicious 
Date: Wednesday, 12 Mar 2014 14:40


When starting your first search marketing campaign, many beginners do exactly what I did: focus on popular, high-volume keywords versus relevant, rank-able phrases. Typically, it doesn’t take very long to determine that those high volume keywords usually don’t convert, or they have so much competition that it’s extremely difficult to garner any traffic at all.

Understanding the power of long-tail keywords can help identify less competitive markets allowing content to rank higher, earlier, and convert more.  Below is a beginners summary outlining the advantages of choosing the correct long-tail phrases, and a few resources to help you get started with long-tail keyword selection and marketing efforts.

First, Let’s Define Long-Tail Keywords

Long-tail keywords are longer, more specific keywords that are less common, individually, but add up to account for the majority of search-driven traffic. Long tail keywords are the opposite of “head” terms, which are more popular and more frequently searched.

Advantages of Targeting Long-Tail Keywords

Lower Competition: Again, a mistake that many people make when diving in to search marketing: overemphasizing keyword volume and underestimating keyword competition.

Let’s say for a moment, you decided to start jogging and your goal was to win a race. Would you choose your first race as the Boston Marathon?

long tail keywords beginners

No, because far too many people compete to win that same race. Many of those people are much more prepared and experienced.

If your goal is to compete and win, it would be smarter to focus your effort in a  lower competition race, Right?

The same concept applies to finding long-tail phrase with high potential to win. It’s finding focused keyword phrases with less competition and greater opportunity to rank and gain traffic. As you continue to grow as a search marketer, you will quickly understand the value of selecting a low volume phrase that bring people from the SERP to your site.

Relevant Long-Tail Phrases

Understanding the importance of selecting relevant long-tail phrases, is just as important as understanding the value of low competition. Just because you’ve found a long tail keyword that is rank-able, it doesn’t mean it will drive conversions on your website. Make sure that you can create content surrounding the long tail phrase that matches the intent of the keyword phrase and aligns with your site. To the same point described above, low volume, converting traffic is much more effective than high volume, non-converting traffic.

long tail keywords for beginners

A Few Tips and Resources to Get Started…

1. Research

Determine an initial set of keywords that match the purpose of your website.  For the example above, these keywords might be shoes, running shoes or men’s running shoes. Then, use those as a starting point to find relevant long-tail keywords that have lower competition. You can enter these keywords into any of the following tools to get long tail ideas:

  • Google Keyword Planner
  • Long-Tail Pro
  • Market Samari

Note that in order to use Google’s Keyword Planner, you must log in via an AdWords account. Do you know of other helpful tools? Feel free to comment below so that we can share different resources. Also check out this Luna post for other helpful free resources.

2. Competitive Analysis

long tail for beginners

Once you’ve compiled a list of potential long-tail phrases, it’s time to analyze. In my mind, this is 99% of the battle. Taking extra time and effort to identify least competitive, relevant keywords will save you time and give you the opportunity to rank well. Long-Tail Pro an excellent tool to gauge that competitive insight. Additionally, their website has a bunch of free resources to teach competitive analysis. This post contains some fantastic resources that you can use to evaluate competition.

3. Create Awesome, Relevant Content Around the Long-Tail Topic

It is more important than ever to create awesome, engaging content around your key terms. Internet content expands and grows everyday. More content = pickier readers, so don’t disappoint your audience. Michael Bartholow wrote a great article that touches on context relevance and its importance to readers.

4. Optimize Your Page for that Term

Many people stop here.  But if you’re new to SEO, see Chris Vella’s Easy Guide to SEO Basics for helpful content optimization tips. For example, properly tagging your headers, pictures and the rest of your content can go a long way in helping search engines identify your content as relevant.


Hope this helps with your general understanding of long-tail phrases and why they can be advantageous! What tools do you use to help you with long-tail keyword selection? Let me know in the comments below!

Author: "John Donovan" Tags: "Search Engine Optimization"
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 11 Mar 2014 14:00

Use Google Tag Manager to Protect Your DataNo need to panic, Exclude Filters aren’t going away anytime soon! However, after reading this post you may not WANT to use Exclude Filters as frequently.  There are still many valid reasons why you may need to set them up, but when possible – it might be time to eliminate them.

Just as a quick refresher, you can use the Exclude Filters in Google Analytics to block traffic data from certain sources from showing up in a particular view.  Sometimes these are used to partition data into one view or another, for example, think of creating separate views for Internal or External Traffic.  For these use cases, Filters work beautifully. You can filter based off of IP Address, Hostname, Service Provider, etc…

But then there are those occasions where you want to block out traffic completely.  Just as easily, you can set up an Exclude filter for each of your views, and poof! The data has disappeared!  Except, it hasn’t really.

The raw, unfiltered data is stored by Google Analytics. Anytime you request a more specific report, either by adding a secondary dimension or applying an Advanced Segment, GA will go back to that unfiltered data to rerun your report, then filtering the results for your specific view.  Why is this important?

Even filtered data will increase sampling in your reports.

If you try to run a non-standard report that includes more than 250K visits/sessions, Google Analytics will use a sampling algorithm. So all of this raw data you think you’re filtering out is actually going to continue to stick around and cause sampling issues for you. Click here for more information about how sampling works with Google Analytics.

In cases where you want to filter out traffic completely, my advice is to stop sending that data to Google Analytics.

The answer here is Google Tag Manager. If you’re not familiar with Google Tag Manager, we’ve got a few articles on our blog that will help get you up to speed. Long answer short, we love it here and it will change your (analytics) life.

Let’s go over how data gets from your website into Google Analytics. In a standard implementation, using Google Tag Manager and Google Analytics, the following order of steps happen.

    1. Visitor Reaches Your Page
    2. Google Tag Manager Loads
    3. GTM Executes a Google Analytics Tag
    4. Pageview Is Sent to Google Analytics
    5. Google Analytics Receives the Pageview
    6. GA Applies Any Filters for Each View against the Pageview
    7. Pageview Shows Up In Your Analytics

Rather than waiting until the Pageview hits the filter to decide that it’s not what we want, I propose we recreate the Exclude Filtering rules using custom Macros and Rules in Google Tag Manager.  If we can determine that we don’t want a particular visitor to show up in our Analytics, let’s not even serve them the Google Analytics tag. We’ll use Google Tag Manager as a shield in this situation, to keep that data out of our analytics entirely.

If there’s a reason you want to see this data in the Google Analytics interface, let’s say from a development site or from internal traffic, once your rules are created you can always serve it a different Analytics tag or use a dynamic Macro to change the UA number, so that it won’t count against your main property’s reporting limits.

Note: It will still be helpful to have Exclude Filters on your account as a backup. This blog post will help keep traffic from reaching your account, but it won’t stop traffic from any sites that aren’t loading your Google Tag Manager.

So let’s get down to business. Two of the more popular Include/Exclude Filters are based on Hostname or on IP Address.

Using Google Tag Manager to Exclude by Hostname

First up, we can create a Macro/Rule in Tag Manager that we can use to block anything that isn’t our main site. For this example, let’s assume that our site has the following subdomains:

  • www.mysite.com or mysite.com
  • dev.mysite.com
  • admin.mysite.com

We only want the traffic to our main site to be sent into Google Analytics. We can do this through a simple Macro and a new Rule.

Create the “url hostname” macro

URL Hostname Macro

1. In Tag Manger, click the New button and choose Macro to start a new macro.

2. Name this Macro “hostname”

3. Select URL as the type of Macro.

4. Select Host Name as the Component Type.

5. Save!

Create the Rule – “Traffic – Bad Hostname”

Bad Hostname Rule

In Google Analytics, we have the option of using Include or Exclude. We could do the same thing here, but I’ve found that it’s much easier to create this rule as a standalone rule and use it to Block tags from firing. If you wanted to, you could add it to all the Rules that control firing, but then you’re duplicating the same logic over and over.

I’m calling this macro “Traffic – Bad Hostname” as a catchall for any hostname that isn’t www.mysite.com or mysite.com.

1. Click the New button and choose Rule to start a new rule.

2. Name this Rule ”Traffic – Bad Hostname”

3. Choose the “url hostname” macro from the drop down list.

4. In the next box, choose the “does not match RegEx” option

5. In the next box, enter the following regular expression. This accounts for the fact that sometimes my site can be loaded with or without the www.


Use that Rule to Block Tags from Firing

Block By Hostname

Now that we know this traffic isn’t the general public coming to our main site, we can safely block certain tags from firing. In this case, that will be the basic Google Analytics tracking tag.

1. Open the tag you want to block with this rule.

2. Under Blocking rules, click Add

3. Select the “Traffic – Bad Hostname” rule

4. Save!

Using Google Tag Manager to Exclude by IP Address

Now that we’ve set up our Exclude by Hostname capabilities in Tag Manager, let’s look at IP Address. This one is a little harder to implement and will require some server-side logic. By default, IP Addresses aren’t available through javascript on a webpage. Depending on the platform your site is running on, this should be fairly easy to implement. You’ll need to look up the appropriate way to get the visitor’s IP address depending on how your site is configured. Once you get that IP address, then it’s time to write it to the dataLayer.

Google Tag Manager utilizes something called the dataLayer to pass information from the page into Tag Manager.  For more information, check out this post about unlocking  the dataLayer. The idea here is that you collect any sort of information about the visitor, the session, etc… and write it on the dataLayer when the page loads. When Google Tag Manager loads, it can see this information and using Macros, use this information to for Rules and other Macros.

For the IP Address Exclude, I’ve created a more complicated Macro to allow you to identify multiple types of visitors by their IP addresses. This will let you use these types of visitors in Firing and Blocking rules.

Add IP Address to the dataLayer

The dataLayer needs to be loaded ABOVE the Google Tag Manager snippet, so that this data is available when Tag Manager loads. You can use something like the following code:

<script type="text/javascript">
 dataLayer = [{
 'visitorIP': ''

Create the visitorIP Macro

Visitor IP Macro

1. In Tag Manager, click the New button and choose Macro to start a new macro.

2. Name this Macro “visitorIP”

3. Select Data Layer Variable as the type of Macro.

4. In the Data Layer Variable Name, enter whatever you called the IP Address. In my case, this would be visitorIP.

Create the visitorType Macro

Visitor Type Macro

1. In Tag Manger, click the New button and choose Macro to start a new macro.

2. Name this Macro “visitorType”

3. Select Custom Javascript as the type of Macro.

4. Paste in the following code.

function() {
 var newIP = '{{visitorIP}}';
 var patt = new RegExp("^28\.28\.128\.1[0-9]?$");
 if(patt.test(newIP) == true) {return('internal');}
 patt = new RegExp("^65\.65\.65\.12[0-9]$");
 if(patt.test(newIP) == true) {return('monitoring');}

5. Alter the code to suit your needs.  Regular expressions will come in handy here, just like in Google Analytics Filters.

6. Save!

Create the Rule – “Traffic – Not External”


Traffic Not External

Again, I’ll create a rule as catch-all for everything that is not our “external” visitors that we want to track. It might be helpful at some point to create special rules for different visitor types, but in this case, I’ll lump them all together.

1. Click the New button and choose Rule to start a new rule.

2. Name this Rule ”Traffic – Not External”

3. Choose the “visitorType” macro from the drop down list.

4. In the next box, choose the “does not equal”

5. In the next box, enter the word “external”

Use that Rule to Block Tags from Firing

Block by Not External

If we can use IP Addresses to identify visitors as not the general public or to identify traffic that we want to block completely, we can use this rule to block any tag from firing.

1. Open the tag you want to block with this rule. In this example, we’ll block Google Analytics from even firing.

2. Under Blocking rules, click Add

3. Select the “Traffic – Not External” rule

4. Save!

General Conclusions

So there you have it, two ways to use Google Tag Manager to shield your Analytics data from unwanted traffic. To leave with a few extra points, I’d like to point out that having this sort of capability inside of Google Tag Manager can extend way beyond just blocking the Google Analytics tag from firing. Consider the following scenarios:

  • Surveys/Pop-Ups –  If you’re using a Tag to launch 3rd party surveys or ads, chances are you’re receiving some sort of report about how well they’re performing. It would make sense in this case to block these tags from even firing for Internal Employees, which should help improve your response/clickthrough rate.
  • E-Commerce – With your new Macros and Rules, you can effectively block any test transactions from Internal Traffic from ever getting to Google Analytics.
  • Separate Properties – Sometimes you want to see the data going into Google Analytics to make sure everything is working properly. Consider using a test property with a different UA number for all testing/QA. This way your test data isn’t contributing to increased sampling and you can safely monitor your test cases. You can use these Macros to block one tag from firing, and the trigger another tag to fire instead.

Last note of caution – if you have a high traffic site and you’re constantly hitting sampling, this fix may not do much to help your situation. Consider Google Analytics Premium which increases the amount of visits you can include in your sampled reports, as well as giving you the option to request unsampled custom reports. Contact us if you’re interested in more information about Google Analytics Premium.

Author: "Jon Meck" Tags: "Analytics, Google Analytics, Google Tag ..."
Comments Send by mail Print  Save  Delicious 
Date: Thursday, 06 Mar 2014 16:25

thinkinsightsHave you had situations with PPC or SEO accounts where you’ve got a great new tool or feature to present to the client, but just can’t find a concrete or data-driven way to present the benefits? It can be difficult to accomplish easily. Sure you can Photoshop up your own diagram or chart, but where’s the data that proves it will work? If you have the data, it may be time-prohibitive to turn it into a great visual. That’s why I love Google’s Think Insights website.  I’m a case-study fanatic and I love to see how other agencies and clients use the tools we are all so familiar with to create new campaigns and push the boundaries of digital marketing. It inspires me to push for progress. I also know that many of my clients don’t have the time to follow digital marketing trends in the way that I do. Think Insights provides so many cool tools and reports to share with your clients. I’ve found numerous reports and data that I can point a client to and say “This is what we’re trying to do!”.

An Analyst here recently asked me “Where do you find this cool stuff?” Let’s find out! Here’s some of  the cool stuff you’ll find at Think Insights:

-Case StudiespbscasestudyHere you’ll find a wealth of great case studies that used key Google products like YouTube or Analytics to craft successful campaigns or better measure a client’s data.These are wonderfully internally to keep up with new trends, and great uses of the technologies that can be shared with clients when you need to say “Here’s proof that this method works”. Humblebrag: The screencap above shows off LunaMetrics’ Case Study for Analytics work that we performed for PBS. Click to read this Analytics Case Study.


-Creative Sandbox


Prepare to have your mind blow. When you need BIG ideas, check out the Creative Sandbox to see what  today’s leading creative minds are doing for brands in the digital space. This one above for Menicon, a Japanese Contact Lens company, is particularly impressive. This campaign created a visual web journey that’s high on whimsy. Click the image to watch.


-Customer Journey to Online PurchasecustomerjourneyAn incredibly handy tool that shows typical paths to purchase by industry. This tool is a great way to visualize a campaign and share with a client via screencap. I’ve set this example to the Business sector and we can see that Display Advertising has a very long lead as the first interaction of the sales cycle (For comparison, the Auto Industry fares better with Social leading the interactions), while Direct visits are more correlated with a final conversion. We recently used this data internally to help a hesitant B2B SaaS client expand their Paid Search efforts to include Display. Click the image to try it out, it’s pretty cool!



-Zero Moment of Truth (ZMOT)


Think Insights is where Google’s incredible free ebook now lives. This is truly essential reading for anyone in online sales. Using data-driven studies, Google Engineers present a strong case that traditional “buying moments” have been significantly changed by online search, and that businesses must now win minds at the initial research phase of the cycle, and not when a user is ready to buy. It really is essential reading for anyone in online sales or at an agency.



I’ve saved the most useful tool for last. Think Insight’s Databoard allows you to use Google Studies to build custom Infographics on a wide variety of topics. A few of my favorite topics for SEO & PPC clients include The New Multi-Screen World, which focuses on how consumers interact with brands across all of the screens in their life, and Mobile In-Store Research, which presents some pretty great findings on how consumers use their mobile devices inside business to enhance their shopping.

I used this tool to craft the infographic below on HTML5 Adoption. If you find it useful, please click it to share via email or social. Where do you find great ideas to pass on to clients? Let me know in the comments!


Author: "Michael Bartholow" Tags: "Search Engine Optimization"
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 04 Mar 2014 14:02


“We don’t do ecommerce, we just have a lead generation form.”

Google Analytics last fall shot some video talking about Universal Analytics that featured Dan Wilkerson and myself here at LunaMetrics. At one part of the video I talk briefly about Georges Seurat’s painting ‘Sunday Afternoon on the Island of La Grande Jatte’.

I’m gonna be honest, the inspiration for that analogy was from Ferris Bueller’s Day Off. At one point the characters go to the Art Institute of Chicago, and one character in particular, Cameron, stares at the painting as it steps further and further into the painting. If for some reason you’re culturally illiterate, here’s what I’m talking about:

My point was sort of the reverse. The picture of the little girl above, focused in, is a small part of the story, but in the past, that was all we had to go on. As analytics have proceeded over the years we’ve got bigger and bigger pictures as we step further back from the painting.


The picture of a girl becomes a girl and her mother walking amongst a wide variety of people, and is that water over there?


The more we see, the bigger a story we can tell.

So how does this relate to websites?

Universal Analytics Goes Offline

The majority of commercial websites out there don’t actually process a transaction on your visit to their website. Sometimes it’s a lead generation website, where the primary goal is to get someone to submit a contact form, and then later, maybe days, weeks, or even months, a transaction occurs somewhere else. It’s easy to tie your attribution to the form submission, but much more difficult to tie it to hard revenue numbers.

Marketers and third party tools have approached this in several different ways in the past. One common thing to do is to feed attribution information into the form submission, and then carry that along to the final transaction. This has the benefit of being able to assign some revenue numbers to specific campaigns, but loses the depth of that visitors experience. Let me give an example.

Here’s what most systems might show you when considering attribution:

Branded Campaign Visit => $100

Here’s what actually happened:

A visitor does an organic search on Google for “Widgets”.  He finds your website, and reads several of the great blog articles your team has written.  He clicks on your Facebook page link, and follows you on Facebook.  A week later he sees one of your promoted posts on Facebook, and clicks the link, changing his referral to being from your social media campaign. When he arrives he is given variation b of your new content experiment. He likes the new look and it’s encouraged him to convert, but he has to go do something ,and puts it off. The next day he does a branded search for your company, and sees one of your branded AdWords campaigns, clicks on that, again changing his referral information. He sees and clicks on a specific image banner on the home page to get to the form submission page, where he finally submits his information. Two weeks later he actually processes a transaction offline with you for your Widgets for $100.

What was lost?

Multi-channel attribution is non-existent. Our visitor might be better described as:

Organic (Not Provided) =>

Social Media Campaign (Facebook) =>

Branded Campaign =>


But did that content experiment sway his conversion? What was the value of that? What about the banner he clicked on? Shouldn’t it be also:

Organic (Not Provided) / Content A / Did Not View Banner =>

Social Media Campaign (Facebook) / Content B / Did Not View Banner =>

Branded Campaign / Content B / Did Not View Banner =>


How are you supposed to accurately judge all your campaigns if all you’re doing is Last Non-Direct Click Attribution? How are you supposed to accurately judge your content experiments if all you are measuring are form submissions, rather than the revenue generated which can be two wildly different metrics?

The answer is to use the Universal Analytics Measurement Protocol and track your users’ eventual conversions offline, tying the revenue to their visits.

How To Track Offline Conversions In Let’s Say 5 Easy Steps

Step 1: Get Universal

The Measurement Protocol requires Universal Analytics so if you’re still using Google Analytics Classic, or Traditional Google Analytics, you’ll need  to upgrade. Check out Alex’s post on upgrading here if you need to do that

Step 2: Set Up Custom Dimensions

You’ll need to go into the Google Analytics interface and set up at least one, if not two custom dimensions for your property. UID and CID.

UID will be our hold for a User Id. The full User ID functionality for Universal Analytics is coming soon hopefully, so you might as well get this rigged up and ready to go. It’s not absolutely required in this case, however our examples will be using it.

CID is the Client ID. This is the number that Google Analytics uses to identify a particular user/device/browser instance. On the web it’s normally stored in a first party cookie, or for a mobile app it’s generated randomly on the install. This one is key to having this whole thing work.

Step 3:

Once we have our Custom Dimensions defined, it’s time to go onto our website and actually grab the data. For the UID this can be anything. I often will use a uniqid() php function to generate a unique id, but you can do it however you like. Just keep in mind it can’t be personally identifiable information. So no emails or social security numbers please. Create this UID on first page load, store it in a cookie and in your session, so that you can pass the UID into GA as a Visitor level custom Dimension:

ga(‘create’, ‘UA-XXXXX-X, ‘yourdomain.com’);
ga(‘set’, ‘dimension1′, ‘PUT THE UNIQUE ID HERE’ );
ga(‘send’, ‘pageview’);

The CID is a little more complicated. We need to grab that from the tracker or the cookie. This JavaScript works nicely.

ga(function(tracker) {
clientId = tracker.get(‘clientId’);

This will only pull the cid value for the visitor AFTER the page has been tracked and Universal Analytics exists on the page, so you should put it after your UA tracking code. You can easily put its value into a hidden input field in a form this way and pass it into your back end system for storage with the user information:

ga(function(tracker) {
clientId = tracker.get(‘clientId’);
document.forms[0].cid.value = clientId
<input type=”hidden” id=”cid” name=”cid”>

Step 4:

So now, hopefully, in your system you’ve collected the cid and pass it along with the user id and other information about the user that your marketing software might care about.

Eventually some of these users will complete transactions, and when that happens you’ll make a measurement protocol hit. You can automate it in your systems, or you could do it manually if you don’t have a tremendous number of transactions. (But automating it would be probably better). I’ll leave it up to you how you want to automate it into your system.

For a transaction you’d make at least two http requests. One for the transaction, and another for the actual item. If you have multiple items, you’d have multiple item hits. They’d look something like this:



Here’s how those break down: 

Transaction Hit: 

v=1  //v always equals 1 for now.

&tid=UA-XXXXXX-X  //insert the correct property id here

&cid=YYYYYYYYYYY//the cid you captured from the user on form completion goes where Y goes

&t=transaction  //it’s a transaction

&ti=ZZZZZZZZZZZZ   //this is a transaction id we generated dynamically. As long as this is unique, you can even create this at the time this measurement hit is generated. If you have specific transactions id’s in your system you could pass them here, or set it to be a random id like uniqid() above. Something like: 52ea5aab1f0c2

&tr=1100 //the purchase value of the transaction

&cd1=23bc5c58a4a4b //this is the custom dimension for slot 1, with our userid

Item Hit:

v=1 //always 1 again

&tid=UA-XXXXXXX-X //again modify for your property id

&cid=YYYYYYYYYYY //same cid as the transaction, and the initial user

&t=item //it’s an item hit

&ti=ZZZZZZZZZZZZ //the same transaction id as passed in the transaction hit

&in=Widget //the product name

&ip=1100 //product price

&iq=1 //product quantity

&ic=IF5739 //sku, whatever yours is. If you don’t have a sku you could make one, or you could use this area for additional product information. Just remember that the SKU needs to be unique per transaction. If you send the same SKU for multiple items in a transaction, only the last one will get recorded. So if you use it for concatenating something like product color etc, just be sure that it remains unique as well. If you want to use it for more generic product category stuff that is used for multiple products, you can concatenate on some sort of unique hash at the end which you can strip off later in reports.

&cd1=23bc5c58a4a4b //and the user id again for the custom dimension

With pretend numbers in place these hits might look like this:


http://www.google-analytics.com/collect?v=1&tid=UA-123456789-1&cid=75839030. 509493873&t=item&ti=52ea5aab1f0c2&in=Widget&ip=1100&iq=1&ic=IF5739&cd1=52ea5a8bc6a4a

You can also send a virtual page hit, but it’s not necessary. I’ve done it both ways, and I’ve yet to determine which way I like better. We tested these by sending a page hit for some transactions , and not for others. The page hit we sent on half the later transactions were sent prior to the transaction and item hit:

v=1 //always 1

&tid=UA-XXXXXX-X //again the property id

&cid=YYYYYYYYYYYYYYYYY // again the cid of the initial user

&t=pageview // this one is a virtual pageview

&dp=/offline/conversion //this is the page

&dt=offlineconversion //this is the title

&cd1=23bc5c58a4a4b //the userid again for the custom dimension

This does not appear necessary, but I am mentioning it so the results make sense.

Results in the Reports

Here’s how it looks like in the standard reports. After some initial visits and form submissions, the data looks like the following screenshots. Visits, goal completions, but not page value, no transaction information, no revenue.

Acquisition - all traffic - ecommerce - before

Traffic reports generated show visits but no revenue or conversions…

Acquisition - all traffic - goal 2 - before

We see goal completions for forms though. 25% conversion rate on the inquiry form! Not bad. I guess those are the good source/mediums….

Conversions - ecommerce - overview - before

No ecommerce of course… At least until the next day when we sent the measurement protocol hits.

Acquisition - all traffic - ecommerce - after

Now not only do we see the visits, and their form completions, but we see who actually eventually converted, and for how much. We had a 40% conversion rate from bing/referral but not a single transaction from those guys. clowncollege.com though is looking pretty good, particularly for average order value…

Conversions - ecommerce - overview - after

And now our ecommerce report is full of lovely yeast and beef extract products for our fake Marmite store…


If you process revenue in some way offline, and haven’t tied it back into your Google Analytics data yet, what’s stopping you? With Universal Analytics it’s easy to pull back from the painting and view a bigger picture than just the little girl with the white hat. Get better insights into your site today by using offline conversions and the measurement protocol.

Author: "Sayf Sharif" Tags: "Analytics, Google Analytics"
Comments Send by mail Print  Save  Delicious 
Date: Monday, 03 Mar 2014 15:00

blog 6

Perhaps one of the biggest changes since the Enhanced Campaigns announcement, which seems like ages ago. Come to think of it, AdWords changes in the past year have been blowing my mind. From the Ad Rank calculation change, to the color scheme switcheroo and now a change in conversion tracking? Touché, AdWords, touché.

If you haven’t read it already, check out the AdWords blog post from Tuesday which also has a video and an infographic for you visual folks out there.

What you need to know:

  • The Conversions (1-per-click) has been renamed to Converted Clicks
    • The new column is supposed to be a more accurate representation of what the column counts: clicks that result in one or more conversions
    • Essentially, unique customers. If a customer makes two purchases after clicking on an ad, AdWords counts this as one Converted Click
  • The Conversions (many-per-click) has been replaced by Conversions
    • This column now has additional functionality and will count conversions based on the conversion counting settings that you select (visuals to be provided shortly)
    • Essentially, this counts total conversions or sales + unique leads. Using the example from above, if the searcher makes two purchases after clicking on an ad, that counts as two Conversions (sales, in this case)

blog 4

You can add flexible conversion tracking on the Conversions page. If you add a new conversion, on the Settings option, you’ll see a dropdown for next to CountThen, you can select either All conversions or Unique conversions.

flexible conversion tracking

If you select All conversions, you will still have access to unique conversions because of the Converted Clicks  column. Note, however, that current AdWords goals cannot be changed from All conversions to Unique conversions.

This change also has some implications on bidding if you are using the Target CPA or Enhanced CPC bidding model.  If your bidding strategy focuses on conversions, your conversion counting settings will only be used for bidding if your conversion bid metrics is set to Conversions.” In order to change your conversion bid metric, go to the Conversions page > Settings and decide on whether or not you want to choose Converted clicks or Conversions. This setting applies across all AdWords goals and cannot be defined at the campaign level.

enhanced cpc bidding


The last place (that I know of for now, at least) where you’ll notice settings changes is on the Settings tab for each campaign. If you select Enhanced CPC it will tell you that it’s based on your current conversion bid metrics setting and whether or not it’s Converted clicks or Conversions:

conversion bid metric setting

If you import your goals from GA, this change won’t affect you quite as much as those who only have AdWords conversion goals. Your decisions will be based entirely on account conversions and goals. Personally, I would recommend that new goals are always opted into “All conversions” because you will still get unique conversions in the reporting columns.

As with all AdWords changes jury’s out on how this will change the game or our daily operations. What do you think about this change? Love it? Hate it? Still confused? Let’s hear what you have to say!

Author: "Alyssa DiLoreto" Tags: "Paid Search"
Comments Send by mail Print  Save  Delicious 
Next page
» You can also retrieve older items : Read
» © All content and copyrights belong to their respective authors.«
» © FeedShow - Online RSS Feeds Reader