Search Engine Optimization Tutorials - ROI
First Page Ranking. Guaranteed.

Return on Investment (ROI) is one of the most basic concepts of business: How much money did you invest, how much money did you get back. In marketing, ROI is used to gauge the effectiveness of a campaign: does it make sense to spend more money on radio advertising, or newspaper ads? Does it make sense to spend more money on banner ads or search engine placement? For Search Engine campaigns you want to know: Does it make sense to spend more time and money on keyword X or keyword Y? Do I make more sales from Google or from Yahoo? Which headline yields more sales? Calculating the actual numerical performance of these factors is the only way you can accurately fine-tune your campaign. Not calculating these numbers, and relying on your instinct or just the big picture numbers ensures that you will waste money on non-productive campaigns. There's an old lament of business managers: "I know half of my marketing budget is wasted, I just don't know which half!" In Internet marketing, you can track the effectiveness of your marketing campaigns better than with any other media, enabling you to gage the effectiveness of advertising response down to a per-individual basis. There is no need to throw money at a campaign and hope for the best. You can test market inexpensively and quickly, and use a continuous refinement process to maximize your advertising ROI.

The following tutorial will enable you to understand the concepts that help you formulate and answer key questions about the effectiveness of your online marketing campaigns. More detailed explanations and working code are available in the successive tutorials.

Although the examples used in this section focus on Search Engine marketing, the concepts are applicable to banner ads, email and other sources. Section II and III of this tutorial give detailed examples and code for banner ads, e-mail and other advertising vehicles.

Understanding how to calculate ROI requires an explanation of some background concepts. To avoid burdening this primer with definitions, I've placed them in a separate Glossary page. If you're new to analyzing campaign performance, please read the glossary before proceeding.

The Basics:

Marketing ROI can be most simply expressed by the formula:

ROI = Net Sales / Ad Spend

Example: 10 = $100 / $10. A ten dollar ad spend yielded one hundred dollars in sales. My ROI was 10x or 1000%

It can be fairly easy to calculate this number for your overall marketing efforts for a given channel. For example, if you sell a product online through a web-based shopping cart, and your advertising for that outlet is confined to online ads, you can simply add up all the money spent on online advertising, add up all the net sales, subtract ad spending from net sales and see whether you're making or losing money. To get the ROI expressed as a percentage, simply divide the Net Sales by the Ad Spend.

Beyond the Basics: Looking into the numbers

What that analysis doesn't do for you is help you figure out how to refine your marketing campaign, putting more resources into the best-producing sources, eliminating the non-performing sources, and fine-tuning sources could perform better with a little attention.

Here's one very simplified scenario:

You sell automotive repair manuals online. You create a paid placement ad campaign with the keywords "books", "automotive repair manuals" and "car repair".

You place your listings on Google and Overture, bidding $1.00 per click, gaining a top position for each. Your Overture listings run on Yahoo, AltaVista and Excite. Your Google listings run only on Google.

Over the course of the next month, your site receives 1,000 new visitors. You sell 10 manuals at $50 each. Your margin is 50%, you net $25 per book, a total of $250. You clear $150 after subtracting the cost of advertising. Your cost of customer acquisition is $100.

As the result of this campaign, you do one or more of the following things:

1. Declare that online advertising doesn't work, after all, you only got a 1% conversion rate. You pull your ads and go back to newspaper advertising.

2. Complain that online advertising is overpriced: who can make money after paying $1.00 per click? You pull your ads and focus all of your attention on your direct sales staff.

3. Refine your selection of keywords, targeting only "automotive repair manuals" since "books" and "car repair" bring the wrong customers to your site.

4. Refine your ad placement, dropping Overture because you heard that "technical folks" like mechanics are more likely to use Google.

5. Calculate the lifetime value of your customer (typically auto mechanics who buy a lot of books) and decide that you can afford to pay up to $200 to acquire a new customer, because your sales and marketing budget is 50% of your net sales, and your typical customer buys an average of $800 worth of books over a five year career.

In this simplistic example, it may be easy to guess that "books" and "car repair" could create traffic that does not convert into sales. In the real world, the only way to decide which keywords to keep, which ones to drop, and how much to bid on each keyword is to correlate sales with the keywords used by the buyers. The same is true for the selection of search engines to use for placement. Finally, having a realistic number in mind for your maximum cost of sale is crucial to creating a campaign that fits your financial scenario.

Guessing which keywords are effective at creating sales, or using the Click-through Rate as a gauge of effectiveness is very unwise: you will simply not be competitive with anyone who tracks the actual number, and they will be able to outspend you (in time or money) by refining the focus of their marketing campaign while you continue to waste money and time on non-productive or low-producing keywords or ad campaigns.

The same is true for the selection of Search Engines. It is quite possible to get large traffic volumes that yield very low or even no conversions. In some cases this is simply a result of poor targeting. In some cases, especially with second and third-tier PPC engines, it is the result of fraud perpetrated by downstream syndication partners of the PPC engine. I have personally recovered thousands of dollars from PPC engines when I was able to prove that traffic was non-performing as the result of a good ROI tracking system.

Finally, companies that are short-sighted and calculate ROI only on the initial sale will prematurely abandon viable advertising venues. These venues will be successfully exploited by other competitors who have a more realistic idea of Customer Acquisition Cost, with a proportionate redistribution of market share.

Bottom line: the winners and losers in online advertising will be determined by how carefully the participants track and refine their campaigns.

How to track the keywords used by purchasers

Tracking which keywords are used by the visitors to your site is fairly easy. Tracking which keywords are used by purchasers requires a little more sophistication. For more background information on the popular statistics software packages that measure visitor traffic, see Traditional Statistics: Measuring Visitor Traffic and Page Views. The rest of this tutorial will assume that you already use and have an understanding of WebTrends, HitBox Pro, Urchin or another web statistics package.

Tracking keywords by purchasers requires three components:

1. The ability to trap variables embedded in a URL (web address) and store them in a database or text file.

2. The ability to read and store variables used by your visitors web browser, for example the "referer" variable.

2. A consistent strategy of coding your paid placement listings and landing pages.

A little background about what kind of information you should be trying to gather and why is required, so I'll take a little diversion here.

From the "automotive repair manual" example above, you understand that it's useful to break out your campaign performance by referrer, keyword and headline. There are a couple other groupings that are useful to understand, what I'll call syndicators and campaigns.

First, a little more detail about the first three groupings.


A Referrer is the source of your traffic. Yahoo is a referrer. Someone goes to the Yahoo web site, does a search, your listing comes up on the page, they click on your listing, and end up on your web site. Your web server (if configured to do so) makes an entry in your log file, and if you have a smart stats package, you get tabular and graphical statistics that tell you how many folks came to your site from Yahoo and from every other referrer or source of traffic. The information on referrer is reported by the visitors web browser, there's a variable called "referer" that is passed on to your web server. Not all web browsers store or pass this variable, so your log file stats are not perfect, but usually good enough to separate the winners from the losers. Your web stats package does not tie this information together with purchases from your web site, or lead forms filled out, unless you've spent the big bucks for the Enterprise edition of WebTrends or HitBox. Urchin can be configured to report this relationship, but it doesn't report all the information you need to do your ROI analysis. A more detailed analysis of each of the major packages and how to configure them for your needs is described in Level III of the tutorial. A final note on Referrers. W3C, the consortium that works as a standards body for the web, spells referrer "referer" in the spec, so when mentioning the variable in a technical context, I'll call it referer for accuracy, if not clarity.


Although I won't define keyword again here (see the Glossary if necessary) I will say that being able to discriminate based on the performance of each keyword means grouping by keyword and referrer together. If you are getting mediocre performance from one referrer, it can skew your numbers for a given keyword. You have to be in a position to compare the performance of "automotive repair manual" on Yahoo versus Google (again, in sales conversions, not traffic volume or CTR). This is essential for several reasons: 1) different search engines serve demographics that are sufficiently distinct to require the ability to discriminate between sources, 2) because each will have different price points and you can't calculate ROI with accuracy if you co-mingle them, and 3) to make sure you're not defrauded. You may also want to see your numbers aggregated by keyword across referrers, but your business process requires making a distinction at the keyword per referrer level.


Gaining the ability to discriminate between performing and non-performing headlines will make the difference between keeping or discarding "dilute" keywords, keywords that mean different things to different constituencies. One of the big advantages of CPC vs CPM ad pricing is that if you have a sufficiently discriminating headline, you can compete effectively for high-volume single word keywords. Most off the shelf stats packages, including HitBox do not let you track on a per-headline basis. Level II and III have more detail on how this can be accomplished. One more note about tracking on a per-headline basis. Google makes it very easy to test various headlines, however, it is very easy to be mislead by high click-through numbers. I had a client recently who was getting a 15% CTR on one keyword - the best performance of any keyword in the entire campaign, and a high CTR in any case. The traffic, a large part of their ad spend, yielded zero sales. None, nada, zilch. You must measure sales or engagements (leads) when testing headlines, not clickthrough rates. It's very easy to make a headline appeal to a broader audience and drive more non-performing traffic to your site. It's much harder, and much more important, to craft a narrowly targeted headline that will achieve your sales targets and minimize your ad spend.

The three groupings above are important, but there is one more that is essential, and another that may be very helpful, depending on the breadth and diversity of your product line, the sophistication of your ad campaigns, and other factors.

The other essential grouping is by Syndicate

A syndicate is an advertising company that sends your listings out to other web sites. You pay the syndicate, but your traffic comes from one of their partners. For example, very little of the traffic you see from Overture comes from the Overture search engine. The vast majority of traffic comes from their partners Yahoo, MSN, Excite and others. Google is also a Syndicate. The difference is that you will see quite a bit of traffic from Google proper, as will as a lot from their new partners AOL, Earthlink and others. Notice that I mentioned that Yahoo is a partner or referrer, for Overture. Savvy Paid Placement and SEO advertisers may already know that different listings on different sections of the page may be comprised of different sources, or Syndicators. In the case of Yahoo, Paid Placement listings come from Overture. Free (SEO) listings come from their Inktomi search engine and the original Yahoo human-edited directory. Each of these listings come from different sources (you have to "insert" these listings separately). Tracking the ROI by Syndicate is crucial because that is where you will adjust your ad spend. You cannot reduce your bid for a term on the Excite search engine, you adjust your bid on Overture, and all Overture partners reflect your bid adjustment by revising your position. Although you can't always discriminate by Referrer, we want to break out your ROI by referrer because you want to report poor performance of a referrer to a syndicate (you can often get refunds if there is a large disparity between one referrer and the others) and because there are some cases in which you can limit the distribution of your listings. Google, for example allows you to restrict your listings to Google or distribute your listings to their partners like AOL and Earthlink. If you have a very technical or sophisticated product that AOL users are unlikely to be interested in, this is a distinction that can make the difference between a profitable or unprofitable campaign.

It may also be useful to create arbitrary groupings I'll call Campaigns.

A Campaign could represent a product line, or it could represent a seasonal pricing offer. It's an arbitrary grouping you define. For example, if you sell both airplanes and automobiles, it will be extremely helpful to divide these listings (headlines) keywords, referrers and syndicators into different Campaigns. These different product lines are very likely to have different Customer Acquisition Cost (CAC) and volume targets. If you don't create Campaign groupings, it will be hard to aggregate your numbers in a comprehensible way. You may also want to create different Campaigns to represent different marketing messages. For example, you might want to test a pricing promotion vs a high-end added value message. Grouping these different message so you can see the aggregate performance across keywords and syndicates may be the deciding factor on which approach to stick with, or you may simply want to establish different CAC targets for each Campaign (to distinguish your Mercedes customers from your Hyundai customers, for example).

This Level I tutorial is intended to be an introduction that a non-technical audience can follow, and to give the technical team enough marketing background to make them dangerous.

The next few paragraphs necessarily get a little hairy, and if you're not the one who has to worry about how to actually implement this stuff, don't worry too much if this starts reading like a bad babelfish translation. Get the technical guys to subscribe to the Level II and Level III tutorials where we spread out the wiring diagrams and show them step-by step how to implement this stuff so you get the reports you need to spend your ad budget more wisely so you all get your bonuses this year.

Tying it all together

By coding each of your headlines, keywords, syndicates and campaigns, you ensure that you have an accurate way of distinguishing where people are coming from. The technical details of how to set up these codes are explained fully in Level II.

Your web server software must be configured to trap these codes and insert them in a SQL database or at very least a text file. If you're writing them to a text file, the next step will be to get them into a SQL database because to make sense of them, you will need to do some heavy number crunching. The code and configuration instructions on how to trap and decipher your source codes are in the Level III tutorial. We also give you complete SQL database schemas and SQL statements to generate your summaries.

We also make client software (in Excel, Access, FoxPro or FileMaker) to display and print reports available for a reasonable cost. See our Client Side Reporting Tools section for more info.

The Bottom Line:

You must measure sales or engagements (leads) when testing headlines, not clickthrough rates. It's very easy to make a headline appeal to a broader audience and drive more non-performing traffic to your site. It's much harder, and much more important, to craft a narrowly targeted headline that will achieve your sales targets and minimize your ad spend.