How to optimise Google Paid Search without conversions?

Infographic that shows how Google Paid Search works under normal circumstances.

Summary

What to do if you are an e-Commerce company and Google Paid Search is your most important and expensive marketing channel, but the return on investment is negative since you do not have enough conversions? This sort of challenge only happens if you have a bold and innovative business model. In this case, the company sold expensive used cars online, which is something most consumers aren’t used to.

As depicted in the diagram, under normal circumstances Google Paid Search continuously optimizes itself as it learns from every conversion. Google Paid Search combines the keywords, clicks, results (conversion y/n), and any other relevant data points to strike the balance for their customer (the company), and you, the consumer. Since we did not sell enough cars online, we needed a workaround. Instead of focusing on cars sold, which is at the end of the customer journey, we focused our attention to earlier stages of the customer journey.

These earlier stages were called mini-conversions. To optimize Google Paid Search we analyzed the path of events that led up to these mini-conversions, and developed a custom Markov chain attribution model to score each event on the website. With this new model we were able to score every visit on the website, not only the conversions. On a daily basis the new scores were send back to Google Paid Search in order to learn faster and to increase the performance of this marketing channel.

My role and responsibilities

My role as a data scientist / project lead was very challenging. There were two reasons for this:

  1. The technical part of the project

As a data scientist I was responsible for writing most of the code for the custom model. Since this type of model isn’t readily available in scikit-learn, I wrote all the logic myself, mostly with the help of blog posts and papers. Since the Data Engineering team was busy with a large migration, I was also responsible for writing large parts of the data pipelines, and building a Docker container which contained the logic to push the scores to Google Paid Search via their API.

  1. The stakeholder management part of the project

Since Google Paid Search was the most expensive marketing channel, the pressure to improve was high. One major challenge was that the custom model needed two weeks to learn from the new data. These two weeks were stakeholder madness since the performance dropped significantly the first few days, and we, including Google, had to convince upper management with everything we had to not kill the project.