Testing a marketing campaign by rotating different versions of the creative, copy and offer/premium has been a widely used tactic since the early days of advertising. The digital revolution and market challenges of the recent years, however, put testing into a high-profile, increasingly strategic position. From the days of behind-the-scenes testing, it emerged as a mainstream phenomenon. Running the same marketing creative, copy and using same tactics and delivery methods over and over almost always proves to be a recipe for disaster in terms of response rates and eventually sales. On the other hand, the dynamics of segmentation, growing sophistication of marketing channels and more format options in the creative area complicated test designs further. So, although testing constantly has become an indispensable component of a successful marketing campaign, implementing a systematic, scientific testing strategy is still a challenge many marketers face.

Not quite.
Steps to Build a Successful Testing Strategy
The planning, design and implementation of a testing strategy is usually a “half-art, half-science” process. There are multiple disciplines and teams involved in the process. The party that is most intimate with the product and the market (product managers, account managers, the client, key decision makers) need to define the testing objectives. What are we trying to get out of the testing exercise? What are the key response differentiators and among which of these key differentiators the interactions are mostly expected? How do we define success? What are the market conditions/regulations and corporate constraints that should be taken into account in the test design? You need to bring the creative team to the table to develop relevant variations for each factor in the test. You also need your Analytics team to build a design of experiment (DOE) and compute statistical significance to identify which test cells perform better where performance is explained by the impact of the factors in test.
The design of experiment is at the heart of a successful testing strategy, especially when multi-variate testing is involved. For online testing, there are many tools available that do the heavy lifting, such as Google Website Optimizer, Adobe Test & Target, Optimost. In the case of offline and e-mail campaign testing, you need to utilize a DOE software and feed the testing factors and their variables in the software and also input expected interactions among factors in the test. Some popular DOE software that also works within Excel platform are QI Macros, DOE PRO XL. On the higher end, statistical packages such as SPSS and SAS also have DOE components. Based on test specs, the DOE software will output the necessary test runs that will enable you to observe each factor’s main effect and the impact of interactions among factors. These packages will also give you the flexibility to modify the combinations selected by the software, e.g. a certain combination of the test elements may not make sense to run, so you will be able to exclude this from the test.
The landing page and website testing involves the arduous task of properly tagging the landing pages and conversion page with the tags of the testing software of choice. Although tagging is usually a straightforward process, it is important to be test properly and continuously QA the tags, as we have seen in many instances tags being dropped or inadvertently modified. Another aspect of tracking that can get tricky is to properly track all the channels that a prospect can use, not just the medium in which the testing is performed and also keep in mind the sales cycles that might be longer than anticipated.

Testing Phases
One of the key decisions in a testing strategy is to identify the testing methodology to be used. Although a specific methodology can solely be used in a given campaign (such as using multi-variate in an e-mail campaign design), utilizing different methodologies in succession is a common practice. A/B (also referred as split run) is the first phase in which a new creative, a new product or a new marketing channel is tested against the control. If this new version provides a statistically significant result, the next phase is to run a multi-variate campaign to test different components that make up the winner of the A/B test. So far, we have tested the elements of the marketing communication though. We are answering the question: “Which version of the marketing communication get the prospects to take action?” However, the outcome (whether the prospect becomes a customer) is also substantially affected by post-click (for online) or post-initial action (for offline) elements of the conversion funnel. Therefore, this sequence of identifying a winner by an A/B test first (e.g. a winning landing page), and then optimizing the individual elements of this winner should be used not only for the marketing communication, but also for the elements of the conversion funnel.

SaaS (Software as a service) platforms have become increasingly popular in the past 10 years as a “low cost, fast adoption” alternative to the traditional device-based licensing of software applications. Although SaaS has many benefits and the users of SaaS-based applications increase exponentially every year, SaaS also brings some limitations. In the case of SaaS applications that focus on Web Analytics, one of these limitations is the lack of access to the data. The canned reports the web analytics tool provide usually are limited to scratching the surface of the website activity and can’t provide the data sets and flexibility that would be required for more advanced analytical analysis.

Most web analytics applications provide a data export API that enable their users to extract their web analytics data either at the clickstream level or at aggregated level. Google Analytics Data Export API does this at the aggregated level, i.e. it does not give you the granularity at the click level, but provides data behind the canned reports.

As an example, if Site A got 50 visits today from 10 different countries, this data can be extracted with the dimensions allowed for those metrics as described in http://code.google.com/apis/analytics/docs/gdata/gdataReferenceValidCombos.html. This is important to note and to plan around since not all combinations of dimensions and metrics are available through API (similar to Custom Reporting limitations).

Note that you will NOT get each visitor’s clickstream data, e.g. Visitor1 came in at 9:00 AM, went to products page at 9:02 AM, then left at 9:05 AM, etc etc. and this is a good thing. Besides going through the work in extracting, translating and loading this data into an existing relational database, trying to tie granular, clickstream web data to the rest of the marketing/transactional data in the organization is as unnecessary as it is impossible (Please read this excellent post from Avinash Kaushik, the Web Analytics evangelist http://www.kaushik.net/avinash/2010/03/ten-fundamental-web-analytics-truths.html in Step 7 of the post: A majority of web analytics data warehousing efforts fail. Miserably.)

The purpose of engaging in data extraction API should be clearly defined. Some noteworthy purposes of extracting data through API could be:

  • Integrating some of the key online dimensions and metrics with offline data. As an example, e-mail campaign pre-click data (campaign details, such as cost, creative, e-mail open stats) with post-click data from GA (conversions or other success metrics by campaign code). Trying to do this manually by downloading GA reports from the web interface and then matching to offline data can be painful.
  • Dashboarding combined with segmentation and report scheduling provides a great way for GA account admins to distribute reports to the respective stakeholders of each segment. However, a key component is still missing when a dashboard is directly e-mailed from GA and that is the actionable insights, highlights you the analyst would provide. There is a great Firefox plug-in created by EpikOne that you can install to add notes capability in the GA interface (http://cutroni.com/blog/2008/10/28/adding-business-data-to-google-analytics-data/  )  but most organizations still require the final reporting output is in the company-specific document format with flexibility to make changes in the report visuals.
  • Using the data extracted through API in the database that feeds a specific application/utility that you have or plan to build. As an example, at Insightbytes, we use the GA data from API which in turn feeds data to a page-level reportlet that provides tracking summary lookups right on the page of a website. Another example of this use would be to build a smart phone app that displays web stats from Google Analytics.

Now let’s dive in a little deeper in the implementation of Data Extraction API. Currently, the Data Export API supports read-only access to your Google Analytics data. Unlike some paid web analytics like Omniture, Google Analytics does not provide the ability to upload data. The current feeds in the Data Export API contain two general categories of Analytics data:

  • Analytics account and profile data
  • Analytics report data from a single profile

Getting Started

Assuming you already have a Google Analytics account and that your website is fully tagged with Google Analytics tracking codes (more information on this: http://code.google.com/apis/analytics/docs/tracking/gaTrackingOverview.html ), you need to go through these 3 steps:

  • Authentication (before you access the report data through API, you should supply the account credentials)
  • Account Query (The GA account to which the API call will be made to should be specified)  
  • Profile/Report Query (The profile is the gateway to Analytics reports. From the list of available profiles, your API call can request report data from a specific profile. The key ingredient to this request is the ID for the profile supplied in the account feed. You can see this ID in the Analytics web interface in the Profile Settings screen.The account feed returns this value to you in the dxp:tableID field, which contains the ID of the profile, along with a namespace prefix. Until you have this ID, you cannot get data for the reports, because a report query requires this table ID )

Google Analytics Report Request
The function requestReportData is described below:
requestReportData($report_id, $dimensions, $metrics, $sort_metric=null, $filter=null, $start_date=null, $end_date=null, $start_index=1, $max_results=30)

Attribute Type (required/optional) Description Example
$report_id String ID of the report you wish to query 1892302
$dimensions Array Google Analytics dimensions array(‘browser’)
$metrics Array Google Analytics metrics array(‘pageviews’)
$sort_metric Array (optional) Dimension(s) or metric(s) to sort by. Ascending order default, precede option with ‘-’ for descending order. Use array for combination of parameters. array(‘-visits’)
$filter String (optional) Filter logic for filtering results see using filter control
$start_date String (optional) Start of reporting period YYYY-MM-DD ‘2009-04-30′
$end_date String (optional) End of reporting period YYYY-MM-DD ‘2009-06-30′
$start_index Int (optional) Start index of results 1
$max_results Int (optional) Max results returned. Max 1000 records 30

Some programming language-based examples
Here we are trying to pull the Total number of page views

PHP Example
First you should make sure your server will support the Curl
Here we are using gapi.class.php. You can download this from Google ( http://gapi-google-analytics-php-interface.googlecode.com/files/gapi-1.3.tar.gz )
In the first example we are extracting the available list of profiles in a particular Google Analytics Account.

 In this example, we are extracting client browser details:

We will be posting more articles that pertain to Google Analytics API in the coming months and would love to hear your comments on this tool.

A pre-defined, hierarchical tag nomenclature can provide key benefits in improving site visibility in search engines as well as providing efficiencies in the analysis of tracking data. Tag nomenclature is the most fundamental part for building an optimized site.

The main benefits are:

- Conforming to the logic in which site information architecture is built upon and thus inherently carrying the taxonomy /information segmentation of the site.

- Ensuring content updates and site re-structuring is automatically part of the ongoing search engine optimization efforts. Following a strict nomenclature enables carrying the site’s semantic architecture into the SEO efforts automatically. This is especially important for sites that continuously grow and change.

- Providing easy and robust segmentation and dimension grouping capabilities in the analysis of the site tracking data.

There are some basic best-practices in SEO when it comes to tag nomenclature. To cite a few:

  • File(Filenames) and Directory Nomenclature
    • The File Name
      • The filename should preferably be short and descriptive. Having keywords in the filename helps, always keep in mind the trade-off between being descriptive and being concise. Keeping filenames too detailed for the sake of being very descriptive may make maintenance difficult and inefficient to keep up with.
      • If you do use keywords in the domain or filename, separate them with hyphens rather than underscores, e.g. Google sees seo-checklist as seo checklist (good)
        but it sees seo_checklist as seochecklist (not good)
    • Directory (folder names)
      • Usage of Keywords as folder names makes keyword rich URL’S -www.domain.com/keyword-phrase/Keyword.html
  • Page Title Nomenclature
      • The <title> should contain your primary keyword phrase for that page and any secondary keyword phrases that you may be targeting. For example… <title>Web Analytics Companies in New Jersey</title>. Notice that our main keyword phrase Web Analytics Companies is at the beginning of the title. We then added in New Jersey at the end since we are targeting a regionally specific group.
  • Keyword meta tag
  • The declaration of descriptive, relevant and most important (not every keyword you can think of) keywords for all pages.
  • Tagging Images
    • Use relevant keyword phrases that describe the image’s relevance to the purpose of the page in the Image ALT attributes
  • Applying these best-practices with a hierarchical nomenclature provides consistent communication to the two main audience groups:

    • The search engine crawlers that continuously scan your site and index the content.
    • Your real audience, i.e. your prospects and/or existing customers.

    Search engines crawl and index websites to output more relevant search results, thus provide a better user experience to their users. Use of consistent nomenclature (page titles, filename structures, image names, consistent taxonomy use in the content) makes it easier for the search engine to identify the content relevancy (or the lack thereof) and in fact gives the user what he/she wants, i.e. relevancy between searched keyword and the page landed on and easy, logical navigation from there on, a straightforward path from searching to finding.

    Another area where descriptive nomenclature is beneficial is the analysis of tracking data collected by Javascript tags.

    The goal is to group site visitors by segments, that would enable Google Analytics to provide standard reports and dashboard features on the specific segments defined at the tracking stage.

    Google Analytics already provides some default segments, such as “new visitors vs. returning visitors”, Search Traffic, Direct Traffic. Also, advanced custom segments can be created by using dimensions that GA automatically tracks without custom tagging, such as visitor’s browser language settings, visitor region (identified by IP lookup), hour of the day the visit took place, site search status, etc.

    In addition to these standard segmentation options, the data tracked with GA can be segmented in a customized way, i.e. based on application-level attributes specific to each visitor, such as user type, member vs. non-member status, state, etc. Passed to the tracking function used in tracking (_trackPageview for page view tracking, _trackEvent for event tracking, trackPageview method invoked through a Flash control button), a nomenclature fed by server-side information (authenticated user attributes, such as customer segmentation dimensions – gold, silver, bronze customers, industry, geography, etc) as well as site-level information (campaign traffic source, new vs. returning visitor, site section, product category, etc) allow key data attributes to be stitched on the click stream data. Slicing and dicing this data with Google Analytics’ filtering capabilities on the reporting end enrich the data analysis considerably.

    A common example is the use of _trackPageview where upon user login, some personally unidentifiable information is passed on _trackPageview method on each page along with traffic source. For example, silver-level customers from states of New Jersey, New York, Massachusetts, Vermont, Maine, New Hampshire, Pennsylvania, Rhode Island coming from a certain traffic source, say Direct/Bookmark, can be grouped together as “Northeast Customers from Direct/Bookmark” by using a data filter condition using Regex statements in Google Analytics’ “Include” or “Search & Replace” filters:

    3 different customers who log in might have these values after the login:
    _trackPageview(‘logged_In /silver/PA’)
    _trackPageview(‘logged_In /silver/NY’)
    _trackPageview(‘logged_In /silver/NJ’)
    Once this data is collected in Google Analytics, below filter settings would group this data into a “Northeast customers” profile for segment analysis:

    Filter Type: Include
    Filter Field: Request URI
    Filter Pattern: logged_In/silver/(PANJNY)
    A similar approach would be to use “Search and Replace Filter” to update the collected trackPageview value to ‘logged_In /silver/Northeast’ and use advanced segmentation or inline filters to get reports for silver customers in the Northeast region.

    Looking at click stream data through the lenses of data segmentation can be the differentiating factor in deriving actionable insights to optimize your website. Therefore, building a comprehensive, logical and hierarchical tag nomenclature is a key strategic step in the tracking and analysis of your web data.

    Kicking off Insightbytes’ blog with this first article, it would be appropriate to touch upon our philosophy of web analytics and how we see this practice closely relating to other business functions in a company. As most web analytics practitioners and industry gurus tirelessly point out, in order for web analytics to make a difference, it needs to produce actionable insights (not 300 canned reports that gets e-mailed every week), that eventually has a positive impact on the return on investment in the online channel.

    When I started to work in this field about 4 years ago, I remember hearing in a meeting “All we have to do is copy/paste some tags to our html pages. That’s all the client needs”. I said to myself “Wow! This will be easy then”. And then I started to dig in. It did not take me too long to realize that a whole new world was just unfolding in front of my eyes.

    This wasn’t just about web analytics. This was about optimization. It was about user experience. It was about competitive intelligence. It was about re-writing the rules of business success measurement, and it was about walking in customer’s shoes (and rather settling in them and never really putting on yours back). And yes, it was also about tags, tools, and all sorts of bells and whistles that help you get there. But it also became clear which were the ends and which ones the means to get to the ends.

    Our philosophy at Insightbytes is simply to set this priority straight and help our clients put in place a web analytics strategy that would clearly identify the ends and pick the right tools to get there. A process that would adhere to the fundamental components of a systematic implementation plan.

    Insightbytes’ implementation plan starts with an overview of the existing online channel, including all domains that are considered internal to the business, review site technology, interview with stakeholders to identify expectations, review the overall online strategy, key performance indicators and benchmarks, and examine traffic sources including a review of the marketing channel mix. This extensive review is followed by a comprehensive assessment report and structural recommendations that paves the road for the next phase; A clear definition of business and functional requirements to step up the online channel to reach its goals. This process prioritizes the key performance indicators (primary or site goals vs. secondary or section/page goals), and provides a detailed solution design document that maps the KPIs to the web analytics tags.

    The dynamics of the online space requires a good balance between two worlds: cherry picking some old conventional practices; such as effective project management, establishing an efficient process, strong QA/Testing and adopting some new trends like adaptation to a data-driven culture, agility and diversity in using multiple performance tools, online visibility and persuasiveness, using and measuring new marketing channels effectively.

    Insightbytes strives to hit that balance with every project it undertakes.

    Burak Tansug