Category Archives: Data Science

Advertising is not about revenue to the agency. It’s about revenue to the client. Data science is the road map that insures the client agency relationship works.

True Conversion Rate For Content Value

The real value of a client’s site taxonomy and webpage content is not truly available from Google Analytics when viewing the provided conversion rate. The conversion rates in the Goals Overview data cubes, and built-in tables do not reflect the User Experience of your target market. This raises three major concerns for the analysis of advertising value, budgets, and page performance.
  1. Those conversion rate percentages are calculated using sessions as the denominator.
  2. Those conversion rate percentage are calculated using bounced and non-bounced sessions in the denominator.
  3. Effective and actionable analysis requires a true conversion rate.
Sessions are not the best denominator to use for goals especially when the stakeholders are evaluating advertising budgets based on goal completions by channel, sources and mediums. When your digital advertising team is investing a lot of valuable efforts identifying key demographics and programmatic media buys based on user interests groups and user performance there is even more critical reason to stay away from the Google Analytics built-in reports and metrics. The solution is to use Calculated Metrics. Using a calculated metric available in the Admin section of Google Analytics, you’ll need to define the conversion rate based on Entrances, and based on Non-bounced Users. While the Entrances metric is still not a one-to-one metric of individuals who are visiting the website, conversion rates based on Entrances are typically higher than conversion rates based on sessions or users. Why entrances and not users or sessions is best defined in an article from the google analytics support page on bounce rate. In that article they define a bounce as a visitor who exits the entrance page without visiting any other page of the site. Even if the visitor bookmarks the landing page and returns 10 times but does not engage with the conversion or whatever the call-to-action may be, each return is a bounce.

The Non-Bounced Users metric provides a view of the conversion rate based on visitors who are engaged with the client’s website/content. I call this metric a True Conversion Rate (TCR). The onus for increasing the number of these engaged visitors is on the advertising team. By developing the TCR you are providing the stakeholders and the advertising team with analysis which provides evidence of the landing page and the websites ability to convert when the right target audience clicks through from the advertising. When you combine the TCR with audience segments, behavior segments, and drill down by source/medium in your analysis, many key actionable insights unfold.

  1. Does the landing page convert when visited by the target audience?
  2. Is the call-to-action communicating effectively?
  3. Is the landing page the right message for this audience?
  4. Are you targeting the right audience?
  5. Which programmatic logic is working, which isn’t?
  6. How much different is the conversion rate: > 300%, 500%, etc.?
  7. What can organic engineering learn from the paid audience landers?
There are dozens more insight probing questions that could be added to the list, and depending on the client vertical and offers you can always find significant impact using TCR. Here’s the how-to guide.

Log in to the View level of the client’s Google Analytics Admin tab. From here click on the calculated metric opportunity. 
Calculated metrics for true conversion rate

The View Level of Admin is where to find calculated metrics

Of course we’ll need to click the New Calculated Metric button.


  1. Name the metric
  2. This is a system completed naming convention.
  3. There are five formats to set. In this case we are creating a percentage.
  4. Write the formula.
Four steps to create the metric

Four steps to create the metric

Make absolutely certain to set the formatting to be a percentage. The data management system will add the variables as you begin to type in the formula box. Use the goal completions in the numerator and make sure to use parenthesis to surround the denominator. Remember the rule of operators, PEMDAS?

As shown in the image above I’ve set the denominator for the true conversion rate to subtract Bounces from the total number of Entrances.

Now that you have the TCR defined you will need to create a custom report to use it in analysis. I typically create a single custom report and add a new tab for each goal that I have a TCR for. If you’ve never created a custom chart before… shame! But, you’ll see that it is fairly simple process and far more powerful for discovering insights.

Here’s my system for creating a True Conversion Rate report.

The first step is to navigate over to the Customization section in the client’s Google Analytics Admin. And, of course, create a new custom report.
Creating a custom report for true conversion rate analysis.

Creating a custom report for true conversion rate analysis.

Then you’ll need to build the report to include the metrics, dimensions, and any filters you require.

  1. Name the report, True Conversion Rate
  2. Add the Tabs, one for each calculated TCR
  3. Set the Metric. First metric is the TCR and the second metric is the conversion rate for the same goal. This gives you a side-by-side comparison of the two conversion rates for the same goal.
  4. The dimensions are a drill down function where the first position is the default and each dimension below it provides you with a deeper view. In my case I like to see the TCR by source. When I click on the source I want to next see the breakdown by medium. Drilling down again I’ll click a medium to see the landing page. Finally I can drill down on a landing page to discover the city the user was in when they completed the conversion engagement.
Here’s an example of the custom report.

  1. Select the tab you want to analyse the TCR for.
  2. Compare the standard Google Analytics CR to the calculated metric for TCR
In this case the goal 9 conversion rate as reported in the built is Google reports is 1.26%. When the bounces are removed from the Entrances the True Conversion Rate is 5.27%. That’s a full 418% higher conversion rate. From here, when using a custom report, you can add custom segments just like you can in all GA Reports, and you can drill down to each dimension that was set when you created this custom report.

One last idea on the dimensions to drill down on is to add a Device Category option. There you can see what device is used more frequently for conversions.


In this case from the image above, I’m looking at phone calls to a call center from a website. The custom report identified there are more conversions from desktop devices then from mobile devices.

Interesting… and true conversion rate is 312% higher.

While Google still provides the analyst with no metrics that provide the actual number of visitors to the website or the webpage, we have to innovate and define as closely as possible. Entrances are a far better means to calculating conversion rate than sessions, but clearly we cannot truly provide the client with 100% data integrity. Using the entrances in this calculation of true conversion rate is a giant step closer to mastering optimization. 

Leave a Comment

Filed under Data Science

Analytical Insights for Virtual Page Views

The more I use a Tag Management System (TMS) for tracking and defining analytical insights from digital advertising results the more I value the application. This growing love affair is enhanced even more for me when combined with the use of my data management tools. Google analytics and Site Catalyst can take you a long way in simple website analysis, but when you want to drill down to discover how to make more from what your digital advertising is doing, or to discover what you’re missing, you need better data management tools. In this case study I have a local real estate client with a website that provides users with information about select neighborhoods in the nations 11th largest city. The website developer used virtual pages for each information article in each neighborhood. There are five virtual pages included in each neighborhood, each of them have the same trigger/name. That makes analytical insights a little easier for tracking events, but I cannot rely on page views in Google Analytics (GA) or from Site Catalyst as the KPI. Instead I’ll have to write a custom javascript that calculates the depth of a page and then tracks the scrolling depth to trigger the virtual page views.

Analytical Insights for Virtual Page Views

After creating the script and installing all of the tracking through the tag management system, I can use Google Analytics and the Real Time menu option to view the events. This view provides at-a-glance analytical insights to what users are currently up-to on the site.
Real time event trackin

I’m trying to develop insights for virtual page views to help sales convince the advertisers to want their ads placed on this real estate website. A key to the insights of the website is in the Neighborhoods section. I want advertisers to place their ads at the top of these pages for a premium rate, mid-page for a little less of a premium charge and at the bottom for the lowest advertising cost. Site visitors scroll the neighborhood pages to read relevant information about the specific neighborhood they are interested in. If I drill down on the GA Real Time events I can see exactly what information (virtual page articles) the user’s are reading over the last 30 minutes.

Virtual pages with real time tracking

The event labels tell the story about the user’s scrolling and that translates to how far down the page they scroll. As you may be able to surmise from looking at the table and graph above, the further down the page an article is, the fewer views it received.

For deeper analytical insights I want to discover more than just the obvious, “what virtual pages were viewed; how far did the user scroll down the page.” Selling advertisers on the value of their ad position should be easy enough with just simple scroll tracking, but with this custom scroll tracking script I can discover more than simple virtual-page-view metrics.

What we can know, and learn from the user’s scrolling behavior:

  • Does scroll depth correlate to conversion rate?
  • How much time was spent scrolling from section to section?
  • If a user clicks to the neighborhood landing page what percentage of the page did they view?
  • What percentage of users click the call-to-action at the bottom of the page?
  • What testing can be done to increase scrolling depth?

Using my data management tools ( I can build a custom analysis table for discovering insights to each of these questions. Once I build the custom analysis data with the kpi collectors in the columns, it’s a simple matter of filtering the landing page for ‘/neighborhoods’ so the view data is precisely at the granular level I’m analyzing.

Custom analysis scroll tracking table

Developing the virtual page view tracking.

Within the script I have the opportunity to define the scroll depth by percentages. For this example there are five segments to the page (options.percentage ) so I’m tracking by quintile: 20%, 40%, 60%, 80%, and 100%. In the script I will set the page depth to identify the first virtual page read at 20%. Here’s what I have for tracking triggers:

Any landing page in the ‘/neighborhoods/’ file of the website will fire the scroll-tracking-listener. The list of virtual page names in the neighborhoods are:

Housing = Fires at 20% page view

The Market = Fires at 40% page view

Living Here = Fires at 60% page view

Things to Do = Fires at 80% page view

Stats and Facts = Fires at 100% page view

To build these tracking events into the TMS I need to define four custom variables as shown below.

User defined custom variablesEach of these four variables are a Data Layer Variables and you will follow these five steps to create each one.

  1. Name the Variable (eventAction, eventCategory, eventLable, and eventValue)
  2. Select the Data Layer as the variable type.
  3. Define the Data Layer Variable Name (eventAction, eventCategory, eventLable, and eventValue)
  4. Select Version 2 for the version.
  5. Save the variable

Creating custom variablesOnce the custom variables have been created it’s time to set the triggers for the scroll tracking. For this real estate case study I only want to track page depth so I’m going to create two triggers. First I’ll set the Scroll tracker to fire on any page in the ‘/neighborhoods’ folder of the website. Second I will exclude the pixel depth tracking that is defined in the custom script that I’ll get to in just a few minutes.

Create a Page View event:

  1. Name the trigger, Scroll Tracker
  2. Set the trigger type to ‘Page View.’
  3. Define the trigger to fire on a Page URL that contains the web site folder.
  4. Save the trigger

Create the pixel depth filter:

  1. Name the trigger, “Scroll Distance.”
  2. Set this to a ‘Custom Event’ trigger
  3. Fire on the ScrollDistance event name
  4. Set the eventAction to not contain Pixel Depth
  5. Save the trigger

Filtering the events

The only thing left to do is the creation of the tracking Tags. I want to track these events in Google Analytics (GA) so I will create one Tag to send the custom variable data to GA. I will set the calculations and data layer information in a custom HTML tag with a java script.

Setting the GA Scroll Depth tracking:

  1. Name the GA Tag “Scroll Depth”
  2. Choose Universal Analytics as the Tag Type
  3. Select track type to ‘Event’
  4. Set the category, Action, Label, and Value to the custom variables created earlier.
  5. Set the Fire On to the “Scroll Distance” trigger created earlier
  6. Save the TagSend the data layer to Google Analytics

All that’s needed now is the Tag containing the custom java.

You can get the scroll tracking script here.

Create the TAG for a custom HTML and paste the script.paste the custom script to an html tag

  1. Name the Tag “Scroll Tracker”
  2. Select the Custom Html product
  3. Paste the scroll tracker script into the html
  4. Select the Scroll Tracker trigger created earlier
  5. Save the TAG

Leave a Comment

Filed under Data Science

Proving Digital Campaign Performance to Client Objectives

Proving digital campaign performance changes the agency go to market strategy

Three main ingredients for proving digital campaign performance to meet client needs are Tag Manager, Google Analytics, and UTM parameters. If you’ve ever heard it said, or maybe you’ve even said it yourself a few times, you cannot turn a big ship on a dime, think tugboat. It has become a manager’s crutch, this comparison of the large ship turning to the company improving its quality service. They all cling to the analogy when defending the inability to affect change in the business traditions and routines. One small but powerful little tugboat can intercept the bow of the ship and turn it. It can turn that huge ship at will, and take it however far it needs to set the ship on the right path.

My tugboat runs on Tag Manager variables for fuel, it uses Google Analytics for establishing the bearing (navigation), and UTM parameters as its engines. When all of these ingredients are working, I can drill down to the granular levels with my data aggregator and show a client precisely what segment, from which source, converted each specific goal. Not only can I drill down and show it to the client, but the client can later, when they get back to the office, verify my results and my recommendations with their own Google Analytics data. It’s time to say goodbye to presenting disassociated data results and embrace the client’s data wrangler of choice, Google Analytics.

The first thing I want to show the client when proving digital campaign performance is the actual events that have taken place on their web property from the beginning of the campaign to the present.

proving digital campaign performance event tracking

These events are built out in the Tag Management System (TMS) as needed using regular expressions, java, javascript, and custom html. These events result from visiting with the client’s web property. I comb through their website, page by page, following every link (internal and external) to discover what it is the client is asking visitors to accomplish when they come to the site. IS the client selling products, services, or generating purchase transactions? Do they provide downloads, videos, and are their forms to complete and submit? Are there links for social networks, click to call, the web-developer, or the BBB, etc.? I make a note of every possible engagement with the visitor and then I code those events in the TMS. When I later research the client’s industry I look for relevant revenue data such as IRS, Bureau of Labor Statistics, and the Small Business Administration to find as much insight for the revenue data as possible. From that research I can estimate the value of each event. It is very important to estimate value. Even though it is not accurate, it is close and as you will discover later, close is not just good enough, it is perfect.

Besides identifying the website and user engagement events, I look for goals. Goals are different than events. Goals identify conversions of purchases, and registrations or form submissions. The key element here is the so-called thank you page. The thank you landing page provides a conversion point that signals the user required input was successfully accomplished. In other words, we have a successful conversion. This is the place for PPC conversion tags, and where I can also use the TMS to register a goal conversion. When it comes to providing statistical results for attribution models, budget optimization by channels, etc. there is no substitute for goals. Events are valuable, but goals are the better source of fuel for the tugboat.

proving digital campaign performance to specific goals

My data aggregator can put the goals in a heat-map table like the one shown above. This provides at-a-glance insight to not just where the client is at right now, but where they are going too. Is the channel improving, or is the channel conversions running lower? You can also begin to see the value of the channel in real dollars and not just a total number of completions figure. All clients enjoy seeing revenues, especially when revenues are increasing. Not like the example above where the Goal Value revenue is down 40% for the period. Oh my… that’s a different article topic altogether — “What to do when a channel falls 99%?” (See the google/cpc row above) Anyway, I will stay on the tugboat here, and go fix that catastrophe after posting the article.

Another of the aggregator dimensions proving digital campaign performance is to see the conversion by page performance as shown below.

proving digital campaign performance by locations

There are many insight stories that can be discovered when using these two primary dimensions together. In the channels data I can easily identify that there is one channel that has driven the revenue down in the period. I can identify that there are significant increases in conversions from all other channels, and just two channels with a drop in conversion rate. This helps me to narrow down which copy, or creative needs attention and obviously, in this case, the PPC budget dried up. In the locations dimension I can see how the engagement copy performed. At a glance I can see that something happened to blanford and meritage in the builders section and mountain-bridge in the community section. Perhaps the lost PPC campaign was primarily focused on these conversions? At the very least, we can see the impact and know where to address immediate changes.

All of the data processed by my aggregator comes directly from Google Analytics (GA) data repository. It’s simple task to link the TMS to a GA account. Once linked, all of the conversions are set up in GA and all of the events data are sent to the GA account too. While you can ask the client to share their existing GA account, I find it more valuable to generate my own – fresh data collector – GA for each client. I’ve never seen a single client with the attributions models built out, or to have goals and goal values correctly built in their accounts. It is even rarer to find the client filtering out spam bots, or to have developed their branded keywords filters. the priority is proving digital campaign performance, and there are a few dozen, or more, administrative and reporting setups and customization that I require and the clients do not provide.

With that, the TMS and GA are linked and working together, we have the fuel and we have the bearing, now we need to add the engines. The UTM parameters are the tugboat engines. By adding these to the links of the client campaign you can cause your entire agency to change the way it goes to market with digital advertising. These UTMs are a true eureka experience for a data scientist proving digital campaign performance. I’ll warn you though, if you’re working in one of those organization that has convinced itself that it’s too difficult to turn a big ship, your tugboat may need to be a patient but persistent little boat.

Tag management systems plus google analytics and UTM parameters are tub boats

Tugboat assisting a large tanker ship in to or out of port

What’s so special about these UTM parameters when proving digital campaign performance? In one word, reports. But, I would really say it better in two words, analysis, reports. By adding just 5 UTM parameters to the campaign link you add 120 additional variations to data mining and insights gathering — per link. All of this additional analysis without needing any pixels placed, without needing to touch the client’s website at all, no special database creation or sophisticated application development. Sounds almost impossible, doesn’t it? One last thing that has to be mentioned too is that every last little bit of the information shared in the campaign reports can be 100% verified by the client using their own Google Analytics account. The only difference is that most clients do not have the scientific background and knowledge to know how to use their data beyond the out-of-the-box standard charts and tables provided by Google.

Proving Digital Campaign Performance Parameters

Here’s how you set up your advertising to track and provide the deepest level of true-click-through performance analysis. I’m going to use the project I am currently working on as an example to better illustrate the method. The UTM parameters that can be tracked with a GA account are:
  • Source
  • Medium
  • Content
  • Keyword
  • Campaign
Source: This should be the advertising agency. If you are managing the advertising for the company you work for then the source would be your company. Even if you are purchasing the advertising from a vendor, the source is your agency/company. This will help you filter the advertising results from all other sources of traffic in the aggregator.
Medium: For this parameter I track where the advertising was published. Sometimes the publisher is a network and the actual advertisement may be seen on multiple websites, but for the analysis I want to use this parameter as a means to evaluate the publisher in aggregate and not the granular effect of each website in their distribution lists.
Content: This parameter provides the analyst with the ability to discover how the actual ad copy, creative, call-to-action, etc. performs. Sometimes the content is a text ad, sometimes it’s a banner, and sometimes the content is a video. I can get even more granular with this parameter. For example if I am experimenting with three text ads I can use this parameter to identify each one e.g., text-ad-1, text-ad-2, text-ad-3. This parameter can identify the specifics that your analyst will need so they can answer with precision and accurately, when you ask, “How many conversions did that monkey driving the Tundra through the jungle video get?”
Keyword: If you are fortunate to work with an SEO and PPC provider who will use your UTM standard (I envy you) this parameter can contain the keyword, the adgroup name, the modifier such as keyword-phrase-someKeyWordorPhrase-exact-match, etc. This can be very insightful when used in combination with conversion tracking and attribution models. Think budget allocation by return on add spend.
Campaign: Sometimes I chose the client expectation (coupon redemption, form registrations, white paper download, etc.) and sometimes I use the experiment name (click-to-call-1, click-to-call-2, graphic-1, copy-2, etc.), and sometimes it’s seasonal (superbowl, friends-day, thanks-giving, etc.). I’ve found that the campaign parameter when placed in a table sorted with the Source and by Medium can be a powerful way to reinforce the performance of the agency so I make the campaign name carry the significant communicator the client will resonate to.

When used correctly the UTM parameters can produce quick reference to analysis of the advertising performance. As shown below, the aggregator created table is filtered to Source/Medium (Your Agency/Publisher) and the Goal tracking is filtered to show results for Goal Set 4. For this client, Goal Set 4 is any add to cart user action. This table includes the site summary information to the goal set proving digital campaign performance. Alternatives to the site summary are site-usage, goal sets, and ecommerce.

proving digital campaign performance by agency and publisher

A line chart is also available or viewing the graph above the table information. These charts can be designed to color code a date or date range for specific events such as the day(s) your client ran radio, TV, or print ads. The line chart can visually identify significant lift from any events that have been set up in the event-calendar including known changes to Google Algorithms, site down times, etc.

proving digital campaign performance with keywords

These three components, Tag Management system, Google Analytics, and UTM parameters combined will prove the advertising performance the agency produces to meet the client objectives. They allow the analyst to easily filter and illustrate the specific data to the conversion goals, site metrics, and campaign summary reports. Setting the conversions and events is accomplished with the TMS and GA, the performance metrics are established and measured in the data aggregator. The reports are eye-candy and brand the agency. Perhaps the best achievement for using these three components is that the client can verify all of the charts and table data with their own GA accounts. Never again will sales have to outwit and over justify reports from third party vendors and publisher provided programmatic reports.

  1. Clean and repeatable data
  2. Deep data mining and additional insights
  3. Performance directly attributable from each campaign to client objectives
  4. Clear and insightful analysis, charts, and tables
  5. Verifiable results the client can access from their own account data

Leave a Comment

Filed under Data Science, For the Sales Team