Search marketing agencies need to report to clients regularly and keep them up to date with what is happening with their site. There are already tools out there that will automate your reporting, but each client has individual needs for their reporting. Different metrics are important for different clients. Your reporting software won’t always have the option to track your clearly defined KPIs. Some tools do allow a high level of customisation with your reports, such as Raven tools, but often the only way to produce the right result for your client will be with bespoke reports.
So Build A Custom Report For Each Client?
Although this may seem as though it will take a long time, it is important to get your reports right. Remember, for many employees in your client’s companies this may the only communication they see from your agency, so it needs to be done right.
So you’ve decided what your client’s needs are, but how are you going to collect the relevant data? You could collect the data manually, running rank checkers, pulling the data from Google Analytics web interface etc. But we all know our time could be better spent.
What’s the alternative to this? Automation!
So How Can We Automate?
Lots of the tools you use manually may have an API available to extract the data, which means you can write a script to pull all the data you need automatically, rather than wasting a whole morning collecting the data. One of the most useful APIs you’ll come across is the Google Analytics API, which is free to use and gives you access to a large quantity of useful data that you may want to include in your report. But other tools provide API that may prove useful, such as Raven ranking API to get your keyword rankings, or the SEOmoz API to obtain metrics such as page authority and domain authority. There are others available too, but which ones you use will be defined by your client’s needs.
So once you’ve identified which APIs you’ll need, you will need to get the hard bit: the coding. Some people like coding, but most people don’t. So choose someone in the office with a little experience in coding if possible, otherwise it may be a bit daunting for a first timer. However, if you haven’t any previous experience, don’t be completely put off – you have to start somewhere!
Now that you’ve chosen your victim, here’s an example of how the API could be used to track a particular metric and how it will help save you time.
Example: Tracking Rankings and Non-brand Search Visits
So let’s say for an imaginary client, two of the most important metrics for them are ranking and visits to the site from search queries that don’t include the brand name.
The first of these metrics can be taken from Raven tools if your agency uses it. An explanation of how to use the API is available on the Raven site.
For the search visits, this data is available from Google Analytics with an advanced segment. You can set up an advanced segment easily in the web interface and then you can use this when making use of the Google Analytics Data Export API, which luckily is free to use.
The analytics API is available through a number of client libraries, so choose your language of choice and have a look through the examples that Google provides.
Personally I quite like PHP, so I tend to opt for a third party PHP library called GAPI, which makes calling the API very easy.
Once you’ve got a script set up to pull your numbers out, then you want to present these in a readable way for your client. One way to do this is with the Google Chart API, which allows you create a range of static graphs and charts with your data.
Once I have all the figures and charts that I need for my report, I like to make use of a couple of other useful PHP libraries, namely PHPExcel and PHPWord. This allows me to save my data in a nicely formatted Excel or Word document that I can send across to the client. So for this example, I could create a Word document with a table of the keyword rankings and a chart showing the non-brand search queries visits over the last month, all in a nicely branded document with space to add some human analysis on the data collected.
So if you combine all this into a script that can be run every time a report is due, you will be saving yourself a lot of time. But why wait for the script to run? Set up a cron job to run at scheduled times, such as every week/month, and you can have that document ready for you when you reach the office in the morning!
Why Not Take It A Step Further?
Keeping a client up to date on how their site is performing is important, so why should they have to wait until reporting day to see how their metrics are faring? If the client wants to check on their metrics more often, then these APIs could be used to create a dashboard with the latest figures. A useful tool for this may be the Google Visualisation API, which allows you to create impressive looking charts and graphs which are both aesthetically pleasing and an efficient way of showing data. Having a dashboard like this will also help you as an agency, as it provides an easy way for you to keep track of what’s happening and avoid unpleasant surprises on reporting day.
However, don’t let these replace your reports. Your input as an SEO to explain the figures is very important to avoid them being misinterpreted, and that can’t be replaced with an API!