Complete Guide to Valuing Content in Google Analytics

For the past few years we've seen increasing numbers of content and ecommerce sites come together into some kind of hybrid. Online magazines hunting for new revenue streams add event tickets and product guides with click-to-buy functionality, while retailers looking to build engagement add blogs and editorial features.

While the logic behind these approaches make sense, it can be hard to know the real value -- especially compared to the cost of sustaining high quality content, which is readily apparent and often quite high.

This guide, therefore, will present to you four powerful ways to measure the value of content on an ecommerce site.   Some of these techniques work out of the box with some work in the interface, while others require some Javascript manipulation, so you can choose what makes sense for you.  The four methods are:

1) Page Value Metric
2) Advanced Segments
3) Event Tracking on Page Load
4) Custom Variable on Page Load

Read on for details...

The 4 Methods of Valuing Content

1) Page Value Metric

How to access: Google Analytics measures the value of content by default via a Page Value metric.   Access this metric by navigating to Content > Site Content > All Pages.

page value google analytics

What it does: Shows how much each page contributed to commerce, similar to a revenue per page view.  Pages that were frequently viewed before conversions get a high page value and vice versa.

Advantage: Works out of the box, requires no coding to get started (though it does require that you have goals and ecommerce revenue tracking set up properly).  Allows you to estimate total revenue from sessions that viewed your content by multiplying Page Value by total Unique Pageviews.

Disadvantage:  Doesn't show other ecommerce metrics like conversion rate, transactions, etc.

Side note: In Coremetrics you can do something similar by navigating to Content > Page Categories > By Page and editing the report to add in a calculated metric such as Revenue/Page View or Sales/Session.  In Omniture you can do something similar if you pass the page ID into an evar (conversion variable).

2) Advanced Segments

How to access: In Google Analytics, advanced segments are available at the top of every page.  Click Advanced Segments > + New Custom Segment to bring up the wizard to create your own.

advanced segments

From here you will need to create a segment for each page you're interested in, by using the dimension Page.  So if you're looking to value a URL like, you would create your segment like this:

advanced segment for pages

Once you have your segment built, apply it and navigate to Conversions > Ecommerce > Overview to collect your metrics.

What it does: Shows a full set of ecommerce metrics -- transactions, total revenue, etc - for each page (as well as any other metrics you want to look at)

Advantage: Works out of the box, requires no coding to get started, shows you full revenue which is more easily digested and often preferable to a calculated Page Value or per-view kind of metric.

Disadvantage: Since each segment has to be created individually, this is time consuming and not at all scalable if you want to see associated revenue for lots of pages.  Also, depending on your traffic volume, creating segments will frequently trigger data sampling.

Side note: In Omniture and Coremetrics you can also make segments, but it's not really necessary here if you follow the same steps as above.

3) Event Tracking on Page Load

How to access:  Set up Event Tracking that fires each time a user views a page.  Make sure to turn on the opt_noninteraction function so that you don't inadvertently influence bounce rate, since by default Google Analytics won't track a bounce if an event fires.

The code should look like this.

  • GENERAL EVENT SYNTAX: _gaq.push([_trackEvent, category, action, opt_label, opt_value, opt_noninteraction ]);
  • CONTENT VIEW EXAMPLE:_gaq.push(['_trackEvent', 'Viewed Content', $URL$,"", 0, true ]); // $URL$ should pull in the the URL of the pages you're interested in

Once this is set up, you can navigate to Content > Events > Top Events and click into your "viewed content" category to see a list of all your pages and their associated metrics.

page value event tracking

What it does:  Shows all your key metrics per page, in a list.

Advantage:  Produces a report with Pages, Revenue, Transactions, etc.  Easy to understand, spares you from the time consuming segment-creation process, and no sampling.  BAM! This is my preferred method 🙂

Disadvantage: Requires some Javascript coding to fire the event tracking on page load.

4) Custom Variable on Page Load

How to access: Google Analytics allows you to modify the basic tracking code block to collect additional info in custom variables.  Similar to the event tracking method described above, set up a custom variable to fire each time a page is viewed.

The code should look like this.

  • GENERAL CUSTOM VARIABLE SYNTAX: _setCustomVar(index, name, value, opt_scope)
  • CONTENT VIEW EXAMPLE: _setCustomVar(1, 'Viewed Content', $URL$, 1) // $URL$ should pull in the the URL of the pages you're interested in

Once this is set up, you can navigate to Audience > Custom > Custom Variables and click into your "Viewed Content"  key to see a list of  your pages and their associated metrics.

page value custom variable

What it does:  Shows all your key metrics per page, in a list.

Here you might be noticing that sounds the same as the Event Tracking method above.  In fact, besides where it's located in the reports, it IS almost the same... but with one key difference.  And this difference actually lets you value content in a way that's fundamentally different from any other method:

Advantage:  Along with all the advantages listed in the Event Tracking method there is one additional, useful option: the "scope" parameter.  I wrote about the concept of scope in custom variables before, but in short, scope lets you decide whether to make a variable persist for a page, a visit, or "forever" (at least until a user deletes their cookies or they otherwise expire).

So what does this mean? All the above methods operate on a session basis. That means they measure the revenue that came during a session when a user viewed some content.  But the value of content rarely comes in the same session that people view it -- people read blogs and browse around when they're in "read mode," and come back to buy when they're in "buy mode."   This is why I consistently see LOWER per-visit value for users that view content than those who don't -- the people who came to read an article aren't interested in buying right then!

So, here is the advantage of using a custom variable: set the scope to 1 as shown above, so that it sticks with the user across all their sessions.  Now you can see the value of content even if the purchase actually happens some time in the future.

Disadvantage: Requires some Javascript coding to fire the event tracking on page load.  Also without GA Premium you are limited to 5 custom variables (this is why I often  recommend using events instead).

Finally, since you can only have one value in the slot, whatever article gets read last by a user will overwrite their prior articles.  You can get around this by making the Custom Var value more general  -- e.g. _setCustomVar(1, 'Viewed Content', 'Yes', 1).  In that case, you will see the difference in value between users who view articles vs those who don't, but you won't see the specifics for each article.  So I would recommend combining this method with one of the other methods above for more granular info on which specific article is driving more conversions.

How do you value content? If you have any thoughts on this or another method of valuing content, please let me know in the comments.