Software as a Service (SaaS) is a provisioning and delivery model in which software is licensed on a subscription basis and is centrally hosted. This model enables businesses to quickly grow their customer base by centrally hosting on-demand solutions, which are made available to their customers over the internet. In order to acquire new customers, businesses employ different forms of online advertising and generate inbound interest from prospective customers. Some of the popular online marketing channels today include Google/Bing search, Facebook, LinkedIn, targeted advertising via display ads, retargeting and mobile ads. One of the biggest challenges involved herein is to efficiently distribute marketing budget across these channels to realise a high ROI. In this blog, we wish to share some of our experiences in tackling this problem. If you’re interested in a deeper treatment of the algorithm, please refer to this whitepaper.
The major contributing factor to customer acquisition costs (CAC) in SaaS is multi-channel online marketing. In order to determine where to invest, a business should be able to quantify the value of each ad channel, in terms of the number of conversions being influenced by it. A prospective customer of a SaaS product gets exposed to different forms of advertising over a period of time, as he/she moves down the conversion funnel. Now, which of these ads should be credited for the user’s conversion? While it is not feasible to determine this for every user, we can quantify the net impact of an ad campaign by examining paths taken by different users who are exposed to it. This process is known as Attribution modeling.
Multi-channel attribution is the process of determining the set of events that have a causal influence on a user’s conversion. It also entails allocation of proportionate credit to each event along the funnel leading up to conversion.
What does this do to my business?
The business can spend more on the channels that are effective; and also better interpret paths taken by converting customers. A trivial approach to solving the attribution problem is to apply certain heuristics. For instance, the first and last touch points of the user can be emphasized, i.e. the event that potentially introduced the brand to the user (first touchpoint) and the penultimate interaction before the conversion (last touchpoint) can be given the highest amount of credit. Such heuristic approaches have multiple shortcomings. For instance, they fail to consider the possibility of individual interactions being influenced by one another. Considering the following example, let’s say, there’s a project management tool called Jello.
→ Google_adclick (search_term=”project management tool”)
→ Bing_organic (search_term=”jello reviews”)
→ Display_retargeting_adclick (Yahoo! News)
→ Direct_web_visit → Conversion
In this scenario, user A first conducts a Google web search using a search term that matches one of Jello’s campaign1 keywords, clicks on Jello’s sponsored search result (ad) and visits the corresponding ad landing page (e.g. www.jello.com/signup), but does not sign up for a trial account. At a later point in time, the same user comes back via Bing Search, however this time by clicking on an organic (non-sponsored) search result shown by Bing. But once again, the user leaves without signing up. Soon thereafter, the user is shown a Jello banner advertisement when he/she is browsing through Yahoo! News. A few days later, the user visits the domain www.jello.com directly by entering the URL into his/her web browser, presumably because he/she is by now familiar with Jello given all the previous visits and ad experiences. And this time, the user signs up for a Jello account.
If we use the above heuristic on this example, the Bing search event will get relatively lesser credit, since it is an intermediary event in the user’s journey. However, it is possible that the display retargeting campaign (on Yahoo! News) was triggered because of the Bing search, i.e. Jello wanted to retarget people who search for reviews and show display ads to them when they visit Yahoo! News. If Jello had not advertised on Bing, the user would not have received the retargeting message, which would have considerably reduced their probability of conversion. Such nuances motivate the need for a solution that can model causal relationships between different ad campaigns while quantifying conversion impact.
Our approach to this problem:
We record all events (touchpoints and actions) pertaining to individual users and also capture their end states, i.e. whether the user converted or not.
- Each user is labelled with an anonymous and unique visitor-id. Visitor-ids are persisted using cookies on the user’s device.
- A user can visit one of our web or mobile pages, and perform a set of actions such as clicks and page visits. Each such visit constitutes a session.
- The session also keeps track of the source from which the user came from, e.g. Direct or Google-adclick.
- The user’s journey till conversion (or lack thereof) is thus captured as a path.
- The path is tagged as non-conversion, if the user becomes inactive for a period of 90 days.2
We model such user paths using a Markovian state transition graph. Each node or state in the graph corresponds to a distinct user interaction or event, i.e. in this case, each ad campaign constitutes a graph vertex. Transition probabilities between states are learnt from historical data, using a variety of parameters including the path taken by the user so far, the current bid on each campaign, the budget remaining, and so on. The relationship between the channels is thus captured by this approach, wherein a high transition probability between two channels (at a point in time) indicates a strong association between them.
We perform random walk simulations on this state graph to estimate different parameters of interest, such as the conversion rate and distribution of path lengths. Simulations are performed so as to walk imaginary users along the model generated paths. Each user begins at the ‘(start)’ state and walks till either one of ‘(conversion)’ or ‘(non-conversion)’ states is reached. We estimate the removal effect of an ad campaign by first disabling its corresponding vertex in the graph and then re-running the simulations.
Validating the model
We validated the model by estimating how well it is able to project paths for users in future. The validation metrics include MAPE error in conversion rate, and the KL-divergence between the path length (and transition probability) distributions of actual and simulated users.
Marketing teams can make changes to a campaign based on these estimated removal effects. As an extension to this exercise, we are working on the ability to evaluate the effects of changing a campaign’s velocity, i.e by adjusting its constituent parameters such as bid and target audience. This would help determine the extent to which a campaign’s velocity should be altered. Our vision is to eventually build a cross-channel bidding engine that can be configured to achieve ROI targets, given constraints around geographical reach and budget limits.
Click here to download a free copy of our whitepaper on a stochastic approach to multi channel attribution in online advertising.
1 By “campaign”, we refer to a unit of targeted advertising, i.e a well-defined target supply/user segment, a customizable set of ad creatives and a bidding strategy. Other nomenclatures such as “ad group” are analogous in this context.
2 The period of inactivity to identify non-conversion should be derived based on observed conversion dynamics (mean time to conversion, etc.) of the product that is being sold.