ROAS – does the algo understand lead based funnels?
I’ve been successfully running Google Ads using tCPA for years. I collect leads and some of them turn into sales.
I upload all the leads as well as sales values, so Google has thousands of leads and sales in the system to work with.
The recommendations are constantly pushing me to switch to tROAS bidding. However, every time I’ve tried, the results are disappointing.
It seems to me like the algorithm doesn’t understand that a sale has to be proceeded by a lead. I have both lead and sale set as primary conversion actions. There are 10 to 30 leads per day when I use tCPA.
When I switch to tROAS, the volume of clicks rises sharply, but the cost per lead rises 2x to sometimes 5x.
There are stretches of days when even if all the leads converted into sales (which will never happen) I would still lose money. Sometimes I let it run for 2 weeks or more, but then I lose my nerve and go back to tCPA campaigns.
What’s your experience? Have you successfully used tROAS with a lead based conversions funnel?
The short answer is:
The algorithm can struggle with lead-based funnels when both lead and sale are set as primary conversion actions for optimization, as it will try to optimize for the total value of all primary actions, not the value of the final sale alone, and it will be confused about which primary action it should pursue most aggressively.
The solution is to only set the final sale conversion as the primary action for optimization, and set the lead conversion as a secondary action.
However, to maintain high lead volume, you need to use a better method for passing lead and sale data to Google Ads than just uploading the lead and sale data after the fact.
A robust solution involves server-side tracking using the Google Ads API, Google Tag Manager, and a server-side tagging solution like Stape or Google Cloud Platform to pass the lead conversion value to the final sale conversion with a time delay.
The long answer is:
Your experience with tROAS is very common for lead-based funnels, and your intuition that the algorithm doesn’t fully understand the pre-sale steps is accurate in practice.
When you have both lead
(which I assume is your Standard Event Lead
) and sale
(which I assume is your Standard Event Purchase
with a value) set as primary conversion actions, tROAS is trying to maximize the combined value of both these actions.
Since leads are high volume and happen first, the algorithm heavily favors optimizing for the high volume of the Lead
conversion over the lower volume, but higher value, Purchase
conversion.
The clicks rise sharply because the algorithm finds many high-volume, low-cost ways to generate the Lead
conversion, but these leads are often low quality, causing your cost per lead to spike for the higher quality leads, and the overall quality to drop drastically.
The core problem is the conversion hierarchy and the timing of the conversion value.
The best solution is to only set the final sale conversion (Purchase
) as the primary conversion action for bidding optimization and set the Lead
conversion as a secondary action.
Now, to get the algorithm to generate high-quality leads, you need to use server-side tracking to update the value of the Purchase
conversion action after the lead is generated.
This is where the Google Ads API, Google Tag Manager, and a server-side platform like Stape or Google Cloud Platform come in.
The process is as follows:
When a user submits a lead, you send the Lead
conversion event server-side to Google Ads with a gclid
and a unique identifier for the lead.
Crucially, you do not set a value for this Lead
conversion, or if you must, set a very small placeholder value, and it is a secondary action.
When that lead converts into a sale later, your CRM or sales system should trigger a call to the Google Ads API to update the final Purchase
conversion with the actual sale value and the original gclid
and unique identifier.
This Purchase
conversion is set as the primary action for optimization.
This method ensures that the algorithm is optimizing purely for the value of the sale (Purchase
), but because the value is passed back immediately when the sale happens, even days or weeks later, the algorithm can directly attribute the final sale value to the ad click that generated the initial lead.
Using server-side tracking with a solution like Stape or Google Cloud Platform, mediated by Google Tag Manager, is an excellent and cheap solution because it allows for a robust, persistent, and accurate passing of conversion data that overcomes browser tracking limitations and most importantly, allows you to dynamically update the value of a conversion event long after the initial click, providing the algorithm with the accurate, high-quality data it needs to successfully use tROAS in a lead-based funnel.
This will allow the algorithm to accurately learn which initial clicks lead to the highest final sale value, leading to better optimization than tCPA, which only optimizes for a fixed-value lead.