I’ve been involved in quite a few reporting projects over the past few years so I want to share my experience with challenges which keep appearing over and over. I am not going to provide solutions for all the points below since the solutions tend to be very specific for each project. Take this article as a list of what to expect should you try to figure out your digital marketing reporting on your own.
#1 Multiple Data Sources
This kind of goes without saying but unless you are running just Google Ads and you don’t really need any other data, you will always need to merge or append data from multiple data sources. Depending on which tools you are using in your project, this may or may not be easy.
#2 Data Sources with Complicated APIs
If you are dealing with multiple data sources, it’s highly likely that one of them will be difficult to work with. You might be using a CRM which has a complicated API or no API at all. So what then? If there is an API but no generally available service to pull the data from the API (e.g. something like Supermetrics), you can try building your own API calls. There are several ways to do that:
- You can hire someone to write a code for you and run it.
- You can build the API calls yourself (e.g. with Make or with Postman) – but you will definitely need some coding knowledge to do that.
If there is not API available, the data source might be able to send you e.g. CSV reports which can be at least ingested with Make. Again, this may not be trivial for beginners.
#3 Need for Manual Inputs
Every reporting project I’ve worked on always had at least one data source which is manually maintained by the client. For example a budget spreadsheet. Or a target spreadsheet. Or a classification spreadsheet. Typically, you give customer an option to enter their data in a relatively user friendly manner. Then you need to take this spreadsheet and “somehow” upload it to your data warehouse. You can e.g. use Google Sheets for data entry and then use our BigQuery Uploader for Sheets to push the data from Google Sheets to BigQuery (in case you happen to be using BigQuery as your warehouse).
#4 Different Time Granularity for Different Data Sources
When you download data from Google Ads, it’s likely going to be daily granularity. However, your targets and budgets are likely going to be entered on monthly or even just on quarterly level. What then? You will need to convert the monthly (or quarterly) inputs to daily granularity. This is e.g. doable in SQL but again, nothing for SQL beginners.
#5 “Offline Conversions” Which Are Not Coming With Network Data
If you are advertising “services” and not “goods”, you will likely want to see “harder” conversions in your report than just “sign ups” or “calls”. You may want to see something like “signed contracts”. Signing a contract usually means that a sales person needs to talk to the client first. This means that signing event may not be happening “online”, hence it cannot be captured by standard tracking pixels (if you happen to collect consent from the client to be tracked with cookies) as conversion and hence it will never come as conversion e.g. from Google Ads. So first, you will need to start capturing various identifiers and tracking information in your CRM and then you will need to extract the lead data to count the “true hard conversions” in your report. You may want to check out a related article to this topic here.
#6 Inconsistent Campaign Naming
Let’s assume you somehow managed to extract all the needed data from all data sources. The fun is only starting now. You will run a few queries and you will notice there is no naming convention for accounts, campaigns, ad groups etc. Or maybe there is a naming convention but extremely inconsistent. You need to build different dimensions such as Brand Search or Generic Search for your report based on your inconsistent campaign names. What now? Well, you or your client will either need to rename the campaigns so you can create simple rules around the updated names or you will need to build a classification lookup table.
#7 One Dataset Coming from Multiple Sources
Things change. So do systems on client’s side. It’s very common that the client has recently changed his CRM so you will need to start pulling data from both CRMs – from the old one and from the new one so you can work with all historical data. And of course, both CRMs have different data models – some fields exist in the old one and not in the new one and vice versa.
#8 Completely Missing Tracking
So you’ve finally figured out how to pull data from a CRM so you only realize the leads have no associated tracking information. So you can get lead counts but you can’t tell whether the leads are coming from online or offline channels. Not much can be done here – the client needs to start tagging the leads correctly at least with UTMs.
#9 Campaigns and Leads Tagged Only Partially
This situation is worse than #8 – some tracking is in place but it’s not consistent. You will get tracking information for some leads but not for the others. The client does not know why this is happening. This is creating lots of confusion and extra work – you will need first figure out where the problem is and then fix it. You will need to do many tests and then check campaign tracking on all marketing platforms which the client is using. You may also need to deal with Google Tag Manager.
#10 Too High Expectations for the ROI
Usually, the goal of the reporting projects is to calculate true ROI of paid marketing efforts. Clients usually do have rough estimates in their minds of what the ROI should be but the calculated ROI from the new fancy reports is very often much lower than client’s estimate. This outcome can be tough for the client.
#11 Changing Requirements during the Project
Once the client sees what can be done, it will often trigger new ideas and requirements – it’s hard to say NO to these. So it’s better to include extra time in the original quote for these extras which are not known at the beginning of the project.
Conclusion
I’ve included the issues and challenges which repeat regularly. They are all solvable with more or less effort. You will always need to troubleshoot a few more random ones in your projects but you should definitely count with most of “my picks”.
Do you need help with reporting?
HIRE ME
Funny. It really felt like I wrote it 🙂
Agree with every point.
I guess that comes with the experience 😀