How To Calculate Your SEO ROI

SEO ROI: The Formula

How should we calculate the ROI of our SEO campaign? The formula is actually quite simple:

SEO ROI =(Total Revenue Generated From SEO-Total Costs of SEO)Total Costs of SEO

Depending on when you calculate the ROI, we can arguably divide SEO ROI into two different types:

  1. Anticipated ROI: the “prediction” of SEO ROI we calculate before the SEO campaign, often calculated to justify the cost of an SEO campaign
  2. Actual ROI: the calculation of actual SEO ROI after the SEO campaign, usually to evaluate the performance of the SEO campaign by comparing it with the anticipated ROI.

Calculating these two won’t essentially change the initial formula, just the variables:

Anticipated revenue and costs VS Actual revenue and costs

As we can see, there are only two variables to calculate, and you can read more on how to properly calculate or anticipate SEO revenue, SEO costs and SEO ROI.

Figuring Out SEO Contribution To Revenue

SEO’s contribution to generally comes from organic search traffic—a direct result of an SEO campaign—, which is the number of visitors that come to the website by clicking on a search engine result. 

It is important, however, to understand that organic search traffic can contribute differently to revenue, depending on how the business generates revenue, business model or revenue model. 

While there can be many different types of revenue models, generally in relation to SEO we can divide them into three types:

  1. Businesses that sell products/services on their website (eCommerce) with a one-off sale model, or simply non-recurring eCommerce model
  2. Businesses that sell products/services on their website (eCommerce) with a recurring revenue model, for example, SaaS products with a subscription-based model
  3. Businesses that don’t sell products and services on their website, so website mainly performs as a lead generation device

For the first and second models, we can calculate contribution to revenue by calculating customer lifetime value (CLV)

CLV=The prediction of total revenue generated by a single customer over their relationships with your brand

There are various different ways to calculate CLV, but generally, here are the common ways to calculate CLV for these two types of revenue models:

1. For one-off sale eCommerce

CLV is calculated by measuring four different variables:

  • Average purchase value=total revenue in a time periodtotal purchase quantity
  • Average purchase frequency=total purchasesnumber of unique customers
  • Customer value=Average purchase valueAverage purchase frequency
  • Average customer lifespan=average length of customer relationship with your company

Finally, CLV is Average customer lifespan customer value

2. For recurring-revenue eCommerce

The main principles in calculating SEO contribution to recurring-revenue is similar to one-off sale. However, calculating the revenue itself is a little more complex due to its recurring nature.

We mainly deal with four (or five) important metrics here:

  • MRR (Monthly Recurring Revenue) = the total subscription revenue in monthly value
  • ARR (Annual Recurring Revenue) = the total subscription revenue in yearly value, typically MRR times 12
  • ARPA (Average Revenue Per Account) = pretty self-explanatory, the average revenue for a single customer 
  • MRR Churn Rate = in percentage. Churned MRR/last month’s MRR 
  • Gross Margin = Total revenue in calculation time-COGS

In general, customer lifetime value (CLV) in a recurring revenue model can be calculated in two basic ways (note: there are certainly more ways to calculate CLV):

CLV=ARPU Average customer lifetime



In general, the higher your ARPU and the longer the average lifetime, the higher your CLV. On the other hand, the higher your churn rate, the lower your CLV.

Calculating Contribution to Revenue

For these eCommerce sites, we can calculate contribution to revenue by:

  • Tracking the number of leads generated via organic search. We can set up conversion tracking, for example in Google Analytics for this purpose
  • Calculating lead-to-customer conversion rate
  • Calculating the CLV of these converted customers


For example, if we generate 1000 leads in a year with a lead-to-customer conversion rate of 20%, then we get 200 customers/year in total. If the CLV is $100, then the contribution of SEO to conversion in a year—in a rough calculation—, is $100 x 200= $20,000.

3.For Lead-Based Businesses

In this revenue type, calculating revenue and SEO’s contribution to revenue are trickier than the previous two models. This is mainly because SEO performance in this business model won’t directly contribute to revenue. 

In this revenue model, we have to consider all the potential actions a website visitor can take on the website, and find out how each of these actions will contribute to revenue. This can be done by assigning values to these different actions via a marketing attribution model.

Since this is quite complex, let’s use an example to illustrate:

  • 500 leads are generated via organic search every month
  • 100 of these leads end up purchasing your product or service (20% conversion rate)
  • Let’s assume the CLV is $100 per customer, then your total sales coming from SEO is $10,000
  • Thus, we can determine that each lead generated via organic search—as SEO result— worth $20 ($10,000 divided by 500 total leads). If you invest more than $20 in SEO to acquire a lead, in this example, you are losing money.

Calculating SEO Cost

The second variable we’ll need to consider is SEO cost.

If you are outsourcing your SEO to an agency or consultant, then this process is fairly simple: the SEO cost is what you pay this agency/consultant. However, if you do your SEO yourself or you have an in-house SEO team (or an in-house SEO expert), we must also consider additional costs like:

  • Investments in SEO software and tools
  • Content creation 
  • Content promotion
  • Web development and web optimization costs
  • Link building costs

The idea is, calculate all costs that might be related to SEO. The more details you can include, the better.

End Words: Calculate SEO ROI

Finally, we can use the two variables to calculate our SEO ROI.

To reiterate, the formula to calculate ROI for an SEO campaign is:

SEO ROI =(Total Revenue Generated From SEO-Total Costs of SEO)Total Costs of SEO

Now that we’ve properly calculated the revenue generated from SEO and total costs related to SEO, we can simply insert the numbers to the above formula.

How to Build a WordPress Customer Database (For Free, In 3 Steps)

If you run a business, it is a brilliant idea to maintain a database that has the information of your customers. If you have to deal with so many clients or customers, tracking their daily data from a convenient place can be highly paying. At this point, the best WordPress Database Plugins come in handy. 

A database is a centralized place for collecting data. You use it to take note of all the crucial information about your clients and their transactions. The applications of WordPress database plugins go for beyond a simple organization. 

For instance, you can track when your customers made their last purchase and use the information that you get to plan your email marketing campaign. This article will help you understand the various uses of WordPress customer database. 

You will learn how you can build your own WordPress customer database in three easy steps. The most important thing that you need to use is the Participants Database 

Uses of WordPress Customer Databases

A customer database may be anything that ranges from a simple ledger that has the basic customer information to the sophisticated software which integrate with the other platforms and automate record keeping. 

The database allows you to organize your data and access it effectively regardless of the format. A customer database has so many applications but they are so useful in service websites or e-commerce. If you are in any of these disciplines, you may wish to setup one for yourself. 

WordPress allows you to log some of the data of your users like emails by default. However, if your customer base is solid, you may wish to get a solution that is more comprehensive. You will save a lot of time and eliminate the need for 3rd party tools that don’t integrate with your website when you have the right WordPress customer database in place. The secret is identifying the best WordPress Database Plugins to help you implement your project. 

Creating a WordPress Customer Database in 3 Steps

In this guide, we will be using the participants Database Plugin. It is one of the best WordPress Database Plugins because it is user-friendly and straightforward. 

The participants Database users can store information about virtually everything in general and is not limited to clients. This is possible because this plugin is incredibly flexible in almost everything that it tracks. 

You can be able to configure literally all fields that you use in storing your data. You will also be in a position to utilize the search feature to get information and export your data when necessary. Make sure you install and activate this plugin properly. 

  • Configure the Participants Database Plugin

Participants Database has several settings but you should just care about a few of them right now. Go to the new Participants Database icon from the dashboard and then access the settings page. From here, choose the Admin settings button. 

Choose the order in which you would like to display the database entries. The plugin will display your records from the newest to the oldest by default. However, there are also other options like the alphabetical order. 

You may also prefer to enable horizontal scrolling for the WordPress customer database. It all depends on the number of fields that you will be adding on your customer database. 

The last thing to do is configuring the people who can access the database. The plugin enables users who have the editor role and above by default to remove and add entries. However, you may choose to limit this permission to the admins alone if that is your wish. 

You can also allow editors to export your database in the form of CSV file depending on the type of information that you are handling. Either way, don’t forget to save your changes once you are done. 

  • Manage Your Database Fields

Think of the WordPress customer database either be one big table or several of them. It tells you that you will have to configure the fields that it contains. Participant’s database comes with a broad range of preset fields out of the box. Some of them include personal photographs, phone numbers, and addresses. 

You can add new fields to the customer database to help you track additional information. Go to the tab of ‘manage database fields’ under the participant’s database and search for the option of ‘add field’ at the top. 

Select a title for the new field and then click on the button on ‘Add Field.’ Scroll downwards to the bottom to locate your new entry and the assign it to a group. You also need to choose the type of field that it should be. 

There are so many options that are available like the simple text field, multiple selections, and checkboxes. The field type that you choose should fit the kind of information that you wish to gather. You are also free to make changes to the default fields. 

There are three options for the group of your field which include the admin, personal, and main. The admin has the information that you alone should have access. The second is limited to info that is more personal like photographs and ID numbers. The main one encompasses most of the common customer data. 

  • Add New participants to the WordPress Customer Database

By now, your WordPress customer database is up and running and has all the fields that you require. The lasting thing to do is add information to the database. Remember you are setting up a private database and hence you need to setup this step by hand. To start off, go to the participant database and then click on the ‘Add participant tab.’ 

Once you get in, fill in the appropriate fields and leave the others blank as per your needs. Once you are through, click on submit to go back you your database and view your new entry. The best WordPress Database Plugins have these functionalities. 

When you wish to view your database, go to the ‘participant database’ tab and click on ‘list participants.’ It will allow you to sort your records depending on the fields that you enable. If you want to export the database as a CSV file, just click on ‘Download CSV’ at the bottom of the page.

You can go on and add the entire customer list to your new database. In case your situation is unique and you want customers to create their entry by themselves, you can use the short code to display the signup form. 


You will be able to create a great WordPress customer database when you have a better understanding of your customers. The best way of tracking your information is using the best WordPress Database Plugins. You can use the above three steps to create the best database for your customers. 

Author Bio: Mashum Mollah is an entrepreneur, founder and CEO at Viacon, a digital marketing agency that drive visibility, engagement, and proven results. He is a passionate blogger and blogs at Search Engine Magazine.