Where's The Relevance, Twitter?


Left: #WWDC (Apple developer conference)           Right: #EdLoverDance

Before we get started, let’s get something out of the way:  Yes, I know I’m complaining about a free service that I don’t have to use.  And further, it’s their platform to do whatever they want…

I can’t fault Twitter for wanting to monetize their platform.  Given that Twitter (and pretty much every social network) would collapse if they started charging users, selling ads is pretty much the de facto next move.  But given the recent declaration by GM that they dropped Facebook ads because they “don’t work”, why isn’t Twitter making a better effort to provide relevance with their Promoted Tweets?

Like many, I was interested in reading about the Apple Worldwide Developer Conference.  Rather than wait for Engadget to summarize the conference, I checked into Twitter to see what others were tweeting.

BOOM!  Nicki Manaj!  Barbie shot a commercial, gave up her underground hood status!

Uh, ok.  Can’t think of anything further from a tech conference than a rapper whose name is a no-so-subtle reference to sex.

If you don’t know the Ed Lover Dance, you’re either not a fan of hip-hop or you’re not as old as me.  Regardless, one thing the Ed Lover Dance is NOT is Dell for Business.  Unless, of course, someone has a video of Michael Dell doing the Ed Lover Dance, in that case, carry on…

Let’s do better, Twitter…I’ve given you 3,500 opportunities to learn about me

Twitter, I’ve given you 3,500 opportunities to learn about me through my tweets.  Yes, sometimes I write utter nonsense.  But even then, you can get at least some idea of who I am.

You also know the other Twitter accounts I interact with regularly.  Klout is making an effort to figure me out and what topics I’m influential about.  You’ve got the source data Twitter, start mining!

Start providing some relevance in the Promoted Tweets, and maybe my click-through rate will increase from 0.00% to 0.01%!

Get Rich With Google AdSense And WordPress!

Google Adsense graphic

There are as many reasons to blog as there are people on Earth.  Whether it’s to use a blog as a personal diary, a means to share something you are passionate about (like cooking, as my wife does), a “voice” for your professional career or something else, eventually the question comes up:  should I try and earn advertising income from Google AdSense from my readership?

If you’re on the wordpress.com free site, the answer is easy:  you can’t, no user-created JavaScript is allowed.  If you’re on Google’s Blogger, integrating AdSense code is easy.  And if you’re self-hosting using WordPress, Joomla or whatever, you can do whatever you want. But the question remains, is it worth it to have Google AdSense ads?

In my opinion, unless you’ve got a massive “clicky” readership, probably not.

How much traffic is “enough” to make money from Google AdSense?

As you can see from this blog (as of time of writing at least), I’m running Google AdSense on this blog, which is primarily WordPress and Web Analytics themed.  I’m also running ads on my other blog, The Fuqua Experience, which is truly a niche blog about the Duke Cross Continent MBA program. So two niche blogs, relatively speaking (i.e. not celebrity gossip, technology rumors, politics, or other general interest topics).

On average, there are 2-3 ads per page (primarily leaderboards and skyscrapers), which is the limit for Google.  So much money am I making?  Less than the cost of Deluxe Hosting with GoDaddy!

CPM, CPC…what’s the most efficient way to make money using Google AdSense?

When looking at the Google AdSense reporting, it’s clear that “Cost per Click” is the way to make money with Google AdSense. A few thousand page views will get you a few pennies (Cost per Thousand impressions, or CPM), but an actual click-through to the advertisers website will get you something like 10x the CPM rate.  Here’s a chart of my of weekly performance over 28 months or so:


Some weeks I make a few bucks, many I make nothing!

It’s easy to see that even with 3,000-6,000 page views per week across my two blogs, I’m not making a ton of money.  If my audience feels particularly “clicky” on the contextual ads Google AdSense serves, I make between $2-$5 per week.  GoDaddy Deluxe Hosting costs something like $6 per month for unlimited websites on a shared server, so clearly I’m not breaking the bank here!  If I’m lucky, I’m clearing a few dollars per month in profit (excluding the time I actually maintain the two blogs through writing, site development, etc.)

So, who IS making money through Google AdSense advertising?

Monetizing a blog is a Catch-22.  If you don’t have enough readership, you won’t make a ton of money.  If you do have a huge readership like Drudge or Perez Hilton, you can sell ads directly to advertisers without needing the Google AdSense network.  Somewhere in-between, it MAY be worth adding Google AdSense or participating in other affiliate marketing programs.

Heck, maybe you’re an SEO god with a whole network of MFA (Made-for-AdSense) blogs with highly targeted content.  I do have friends who seem to make enough money through these schemes to make it “worth it” to do.  Especially if you’re willing to put in the time to make dozens, if not hundreds of individual blog sites.

That said, it’s up to the individual blog owner what constitutes “worth it” in the trade-off between spending time to generate residual income.  For me, I leave the Google AdSense ads up as a learning experience; it’s good in my industry (digital analytics) to understand all of the Google tools.  And really, that is why I blog at all; to practice implementing Google Analytics, learn PHP and JavaScript through customizing WordPress, and occasionally pontificate on the digital analytics industry.

For Maximum User Understanding, Customize the SiteCatalyst Menu


Default Omniture report menu

Visits vs. Visitors vs. Unique Visitors…click-throughs, view-throughs, bounces…these concepts in digital analytics are fairly abstract, and many in business and marketing never really grasp the concepts fully.  Knowing the enormous amount of learning that needs to take place for digital success, why do we make our internal stakeholders hunt for data that’s organized by TOOL definitions, instead of by business function?

In this case, the “tool” that I’m referring to here is Omniture SiteCatalyst.  To be clear, there’s nothing excessively wrong about the default menu structure in Omniture, just that in my experience, understanding by end-users can be greatly enhanced by customizing the Omniture menu.

Simple modifications such as 1) Hiding Omniture variables and products not in use, 2) organizing reports by logical business function, and 3) placing custom reports and calculated metrics next to the standard SiteCatalyst reports will get users to making decisions with their data that much faster.

1)  Hide Omniture variables and products not being used

Do your users a favor and hide the Omniture products such as Test & Target, Survey, and Genesis if you aren’t using them.  Same thing with any custom traffic (props) and custom conversion variables (eVars) that aren’t being used.  Nothing will distract your users faster than clicking on folders with advertisements (T&T, Survey) or worse, frustrate the user by making them wonder “What data is supposed to be in this report?”

Just by hiding or disabling these empty reports and tools advertisements, you should see an increased confidence in data quality.  Or at the very least, keep the conversation from taking a detour.

2)  Organize SiteCatalyst reports by logical business function

Your internal users aren’t thinking about Omniture variable structures when they are trying to find the answer to their business questions.  So why do we keep our data artificially separated by “Custom Events”, “Custom Conversions” and “Custom Traffic”?

Worse yet, who remembers that the number of Facebook Likes can be found at “Site Metrics -> Custom Events -> Custom Events 21-30?”  And why are Facebook Likes next to “Logins”?  Does that mean Facebook Logins?  Probably not.

Wouldn’t it be better for our users to organize reports by business function, such as:

  • Financial/Purchase Metrics (Revenue, Discounts, Shipping, AOV, Units, Revenue Per Visit)
  • Usability (Browser, Percent of Page Viewed, Operating System)
  • SEO (Non-campaign visits, Referring Domains)
  • Mobile (Device, browser, resolution)
  • Site Engagement (Page Views, Internal Campaigns, Logins)
  • Site Merchandising (Products Viewed, Cart Add Ratio, Cross-Sell)
  • Social (Facebook Likes, Pinterest Pins, Visits from Social domains)
  • Paid Campaigns (Email, Paid Search, Display)
  • Traffic (Total Visits, Geosegmentation)

The list above isn’t meant to be exhaustive, or necessarily how you should organize your SiteCatalyst menus.  But for me, organizing the reports by the business function keeps my business thinking flowing, rather than trying to remember how Omniture was implemented by variable type.

3)  Place custom reports and calculated metrics next to the standard SiteCatalyst reports

This is probably more like “2b” to the above, but there’s no reason to keep custom reports and calculated metric reports segregated either.  Custom reports happen because of a specific business need, and the same thing with calculated metrics.  By placing these reports along with the out-of-the-box reports from SiteCatalyst, you take away the artificial distinction between data natively in SiteCatalyst and business-specific data populated by a web developer.

Why you wouldn’t want to customize?

Shawn makes two great points in his post about (not) customizing the SiteCatalyst menu: users require special training and menu customization isn’t scalable.

Users need special training

Users need to be trained anyway.  I don’t think either of us is suggesting moving all of the menus around after an implementation has been in place for years…but if you’re a company just starting out, why not start off customized?

Fellow Keystoner Tim Patten also commented to me via Twitter DM about power users being used to “default”, and it’s annoying have to learn a new menu when switching companies; I’m not really worried about power users, I’m thinking about the hundreds of users in thousands of organizations who can’t get beyond page views and visits.  Power users can pick up a new menu quickly, switch back to default, or use the search box.

This is very much true.  The larger the company, and the more complex and varied the tracking, inevitably menu customization isn’t particularly scalable.  This is probably an area where specific dashboards are a much better strategy than customizing the menus.


For me, one of the first things I look for when working with a company looking to get their digital analytics program off the ground is whether they’ve customized their Omniture menu structure.  As a free customization, it’s something that companies should at least consider.  Organizing reports by business function requires a business to think about the questions they want to regularly answer, will keep novice users from focusing on implementation concepts, and overall is just better because it’s how I think 🙂

This blog post is a continuation of a Twitter conversation with Shawn C. Reed (@shawncreed), Jason Egan (@jasonegan), Tim Patten (@timpatten) and others.  Shawn’s counter-argument can be found here.  Jason wrote about Omniture menu customization a few years back.  And finally, if you want to read more pros-and-cons about SiteCatalyst menu customization, see the Adobe blog posts here and here.

  • RSiteCatalyst Version 1.4.13 Release Notes
  • RSiteCatalyst Version 1.4.12 (and 1.4.11) Release Notes
  • Self-Service Adobe Analytics Data Feeds!
  • RSiteCatalyst Version 1.4.10 Release Notes
  • WordPress to Jekyll: A 30x Speedup
  • Bulk Downloading Adobe Analytics Data
  • Adobe Analytics Clickstream Data Feed: Calculations and Outlier Analysis
  • Adobe: Give Credit. You DID NOT Write RSiteCatalyst.
  • RSiteCatalyst Version 1.4.8 Release Notes
  • Adobe Analytics Clickstream Data Feed: Loading To Relational Database
  • Calling RSiteCatalyst From Python
  • RSiteCatalyst Version 1.4.7 (and 1.4.6.) Release Notes
  • RSiteCatalyst Version 1.4.5 Release Notes
  • Getting Started: Adobe Analytics Clickstream Data Feed
  • RSiteCatalyst Version 1.4.4 Release Notes
  • RSiteCatalyst Version 1.4.3 Release Notes
  • RSiteCatalyst Version 1.4.2 Release Notes
  • Destroy Your Data Using Excel With This One Weird Trick!
  • RSiteCatalyst Version 1.4.1 Release Notes
  • Visualizing Website Pathing With Sankey Charts
  • Visualizing Website Structure With Network Graphs
  • RSiteCatalyst Version 1.4 Release Notes
  • Maybe I Don't Really Know R After All
  • Building JSON in R: Three Methods
  • Real-time Reporting with the Adobe Analytics API
  • RSiteCatalyst Version 1.3 Release Notes
  • Adobe Analytics Implementation Documentation in 60 Seconds
  • RSiteCatalyst Version 1.2 Release Notes
  • Clustering Search Keywords Using K-Means Clustering
  • RSiteCatalyst Version 1.1 Release Notes
  • Anomaly Detection Using The Adobe Analytics API
  • (not provided): Using R and the Google Analytics API
  • My Top 20 Least Useful Omniture Reports
  • For Maximum User Understanding, Customize the SiteCatalyst Menu
  • Effect Of Modified Bounce Rate In Google Analytics
  • Adobe Discover 3: First Impressions
  • Using Omniture SiteCatalyst Target Report To Calculate YOY growth
  • Google Analytics Individual Qualification (IQ) - Passed!
  • Google Analytics SEO reports: Not Ready For Primetime?
  • An Afternoon With Edward Tufte
  • Google Analytics Custom Variables: A Page-Level Example
  • Xchange 2011: Think Tank and Harbor Cruise
  • Google Analytics for WordPress: Two Methods
  • WordPress Stats or Google Analytics? Yes!
  • Parallelizing Distance Calculations Using A GPU With CUDAnative.jl
  • Building a Data Science Workstation (2017)
  • JuliaCon 2015: Everyday Analytics and Visualization (video)
  • Vega.jl, Rebooted
  • Sessionizing Log Data Using data.table [Follow-up #2]
  • Sessionizing Log Data Using dplyr [Follow-up]
  • Sessionizing Log Data Using SQL
  • Review: Data Science at the Command Line
  • Introducing Twitter.jl
  • Code Refactoring Using Metaprogramming
  • Evaluating BreakoutDetection
  • Creating A Stacked Bar Chart in Seaborn
  • Visualizing Analytics Languages With VennEuler.jl
  • String Interpolation for Fun and Profit
  • Using Julia As A "Glue" Language
  • Five Hard-Won Lessons Using Hive
  • Using SQL Workbench with Apache Hive
  • Getting Started With Hadoop, Final: Analysis Using Hive & Pig
  • Quickly Create Dummy Variables in a Data Frame
  • Using Amazon EC2 with IPython Notebook
  • Adding Line Numbers in IPython/Jupyter Notebooks
  • Fun With Just-In-Time Compiling: Julia, Python, R and pqR
  • Getting Started Using Hadoop, Part 4: Creating Tables With Hive
  • Tabular Data I/O in Julia
  • Hadoop Streaming with Amazon Elastic MapReduce, Python and mrjob
  • A Beginner's Look at Julia
  • Getting Started Using Hadoop, Part 3: Loading Data
  • Innovation Will Never Be At The Push Of A Button
  • Getting Started Using Hadoop, Part 2: Building a Cluster
  • Getting Started Using Hadoop, Part 1: Intro
  • Instructions for Installing & Using R on Amazon EC2
  • Video: SQL Queries in R using sqldf
  • Video: Overlay Histogram in R (Normal, Density, Another Series)
  • Video: R, RStudio, Rcmdr & rattle
  • Getting Started Using R, Part 2: Rcmdr
  • Getting Started Using R, Part 1: RStudio
  • Learning R Has Really Made Me Appreciate SAS