Learning Limited: How to Train Google Ads on One Conversion a Month
Google's algorithm needs around 30 conversions a month to learn. Your B2B SaaS might get one quality lead a month from ads. Here's what actually breaks that loop, and it isn't a bigger budget.
By Dave Ten
If your Google Ads account is stuck in learning limited, it's not really your fault. Google needs around 30 conversions a month to optimize correctly, and for most B2B SaaS accounts that is genuinely hard to do. Depending on your budget you might get one quality lead a month out of ads.
So you need conversions to train it, and you need it trained to get conversions. It's the chicken and the egg. And the fix everyone gives you is to spend more money until the volume shows up, which is the one option you don't have if you're on a tight budget or you just want to be smart with your money.
What actually breaks the loop is feeding the algorithm the smaller events you already have, in a specific order, and then taking them away again once the real conversions arrive. Three steps, and this post walks all three.
- 1Identify your micro-conversionsWork out which proxy events from up your funnel you'll feed Google, instead of only the rare real ones.
- 2Set them upFire those events to Google from your tag manager, and let your CRM handle the offline half.
- 3Aim it at revenueOptimize on the proxy that actually predicts sales, then climb toward your real conversions as they arrive.
Step 1: identify your micro-conversions
A micro-conversion is a smaller, lower quality, higher volume event on your website that predicts the higher quality conversion you actually want. Nobody buys because they scrolled your pricing page. But the people who buy tend to have scrolled it, and that is the whole point of a proxy.
Primary vs secondary conversion actions
Every conversion action in Google Ads is set to either primary or secondary. That one toggle decides what the algorithm learns from, and most accounts I audit have never deliberately set it.
Two things fall out of that. Conversion actions sit in groups, and your campaign settings pick which group to optimize toward, so the group is what the algorithm is really chasing, not any single action. And you can move an action between primary and secondary whenever you want, which is the move this entire strategy is built on.
Lay every event out as a funnel
Before you touch any of it, it helps to see all your conversions laid out like a menu, from lowest intent to highest. Ecommerce is the clean version of this, because the path is single-file: a page view, then a product view, then an add to cart, then an initiated checkout, then a purchase. At every step there's an obvious direction someone moves if they want to keep going.
| Rung | Ecommerce | B2B SaaS |
|---|---|---|
| Arrived | Page view | Landing page view from the ad |
| Showed interest | Product view | Key page: product, use case, pricing |
| Leaned in | Add to cart | Pricing-table click, demo-button click, form start |
| Committed | Initiated checkout | Demo request or contact-sales form submitted |
| Paid | Purchase | Qualified lead, demo held, closed deal |
B2B is messier than that, because there are multiple paths through it. Someone might book a demo, watch an informational video, or download a guide, and any of those can come before the demo request you actually want to optimize for. So you link them all together and look at everything that tends to happen on the way, rather than assuming one linear path.
The other difference is volume. In ecommerce you might get 30 purchases a day. In B2B SaaS you might get one quality lead a month from ads, which means you have to fill the gap with events an ecommerce advertiser would never bother counting.
Keep the high-intent events at the narrow end primary the whole time, so they always count even though they barely fire. Everything up top starts secondary. When the primaries don't have the volume, you promote one of the higher-volume events into the mix. You're adding a primary, not swapping one out, so the same visit can count more than once. That's fine here, and I'll come back to why.
The micro-conversion menu for B2B SaaS
Here's the menu I work from, with the Google Tag Manager trigger behind each event. Build the handful that map to your funnel, not all of them.
| Event | Intent | GTM trigger |
|---|---|---|
| Demo or contact-sales button click | High | Click trigger |
| Form start (first field focus) | High | Form-interaction trigger or a small dataLayer push |
| Pricing page view, or a click in the pricing table | High | Pageview or element-click trigger |
| Free trial signup | High | Pageview on the signup confirmation page |
| Engaged session (30s active plus a scroll) | Medium | Timer trigger paired with the built-in Scroll Depth trigger |
| Half of your demo video watched | Medium | Video-progress trigger |
| Key page visit (product or use-case page) | Medium | Pageview trigger |
| Resource download | Low, gate it | Click or dataLayer trigger |
| Chat widget opened | Low, gate it | Click or dataLayer trigger |
| Newsletter signup | Low, gate it | Click or dataLayer trigger |
The low-intent band is there for completeness. You probably won't use it, because the volume is so high that the signal stops meaning anything, which is a problem I'll come back to in step 3. Connect the events you do build in the sequence they would actually happen, so you can see the path rather than a pile of unrelated counts.
Step 2: set the micro-conversions up
There are two ways to get an event to Google Ads, and the difference decides how reliable each conversion is.
Browser side vs server side
Worth being precise about what a blocker actually does, because it's usually described wrong. It is not stopping the conversion from happening. The event still fired in the browser. What's blocked is the call out to Google's domain, not the call to yours. That's the whole reason the server-side version recovers anything at all.
Wiring the events in Google Tag Manager
GTM is a container you put on your site with two pieces: triggers, which decide when something fires, and tags, which decide what fires. For each micro-conversion you build the trigger you picked in step 1 and point it at a Google Ads conversion tag.
- 1Build the triggerThe pageview, click, timer or scroll condition from the menu above. This is the 'when'.
- 2Create the conversion actionMake it in Google Ads first so the tag has a conversion ID and label to fire against.
- 3Fire Google Ads directlyHang a Google Ads conversion tag on the trigger. Don't route it through GA4: the extra layer adds complexity and, in my experience, worse coverage.
- 4Hang the other platforms on the same triggerMicrosoft and LinkedIn tags can share it. Each platform decides whether it earned the conversion by looking for its own click ID.
Two opinions that save you pain. For form fills, don't optimize off the form submission itself, fire on the thank-you page that follows it, because it's a far more reliable event, especially on single-page-app forms. And because triggers and tags are separate objects in GTM, one trigger can feed several ad accounts at once. So a single visitor can be tagged across multiple platforms, but only where they genuinely clicked or viewed an ad on that platform. You set the event up once and every account gets the signal.
Enhanced conversions, for the clicks that lose their ID
When someone converts, Google tries to tie the conversion back to the exact click that produced it, and reports it against that campaign, ad group and ad. Cookies and click IDs get lost constantly now, and when you only have a handful of conversions, losing any of them hurts.
Enhanced conversions recovers some of them. You send Google a hashed version of the first-party data you already collected, the name, the email, the phone number, one-way encrypted so it stays private, and Google matches it against its own signed-in users. More data on the conversion means a better match rate.
One limit that decides where it's worth your time: it only applies to events that capture personally identifiable information. A form fill qualifies. A key page visit doesn't, because you know nothing about who that visitor is. So it does very little for your top-of-funnel micro-conversions and a lot for the mid and low-funnel ones. If you're on a CRM like HubSpot that integrates with the ad platforms directly, this is usually a couple of clicks rather than a project.
Offline conversions, for the events that matter most
The events you actually care about happen in your CRM, not on your site: your sales team qualifying a contact, a demo that gets held, a deal that closes. Those involve human judgment days or weeks after the click, and Google has no idea any of it happened.
- 1ClickGoogle appends a gclid, a unique click ID, to your landing page URL.
- 2StoreYou capture the gclid on the landing page and save it on the contact in your CRM.
- 3QualifyDays later your sales team marks that contact qualified, or the deal closes.
- 4UploadYou send the event back to Google matched on the stored gclid, and it finally knows which click turned into a real lead.
With browser-side micro-conversions that matching happens automatically. Offline, unless you're using an integration, you have to make sure both the event and the click ID come through, and that's the part people get wrong. Three ways to push it:
- A direct upload from your CRM, which is what the native Google Ads integrations do for you.
- A scheduled Google Sheet, if you want to be scrappy about it.
- Enhanced conversions for leads, matched on the hashed email, when the gclid was lost somewhere along the way.
So the honest summary of step 2: you do real work once to set up web micro-conversions in Tag Manager, and most of your lower-funnel offline conversions come from a CRM integration you switch on. If your CRM doesn't have one for the platform you're spending on, that's where you need developer help.
Step 3: aim it at revenue
Now the judgment part, and the part that separates an account that gets better from one that just gets busier. Not every micro-conversion you set up deserves to be primary, and promoting the wrong one is worse than promoting none.
Which micro-conversion to promote
The first rule is volume, and it cuts both ways. Too rare and it can't carry the optimization. Too common and it stops carrying information: an event almost every visitor triggers cannot tell a buyer from a bystander, so it dilutes everything you already had.
| How often it fires | What it looks like | Verdict |
|---|---|---|
| Too rare | Under the threshold on its own, a few a month | Can't clear learning. Leave it primary, but it won't carry the campaign. |
| Sweet spot | Around 30 a month, still selective about who fires it | Promote this one. Enough volume to learn from, still means something. |
| Too common | Hundreds a week, like a homepage view | Dilutes the signal and can hurt more than it helps. Leave it secondary. |
The second rule is correlation. Run an analysis on your own CRM data, and this is a genuinely good use of AI, on whether the people who fired that event went on to become form submits, demo requests or marketing qualified leads. If it predicts them, it's a proxy worth optimizing on. If it has no relationship to who buys, promoting it just teaches Google to chase the wrong people faster.
In practice it's usually obvious once you look. If everyone who books a demo viewed pricing first, pricing views are a strong proxy. It's the same logic as the ecommerce ladder: everyone who checks out added to cart first, so if you aren't getting enough checkouts, you optimize on add to cart. Find your version of add to cart.
Regroup it, don't add a new conversion group
An important detail when you graduate a micro-conversion to primary. Move that action into the conversion group your campaigns are already optimizing toward, rather than adding a new group in the campaign settings. If you're optimizing on leads, regroup the key page view into leads.
Messy signals win early
It's fine if you're double counting. It's fine if the data isn't perfect. Early on you are not measuring the business, you are feeding a model, and the model just wants enough examples to find the pattern. Trimming low quality data later is easy. Starving the algorithm and hoping one high-intent conversion a month teaches it something is not something you can fix later, because it was running blind the whole time.
That trade is temporary and you should treat it that way. It buys you a learning phase you couldn't otherwise afford, and you tighten it back up as soon as you can, which is what the next section is about.
When to add more, and when to demote
Two directions, depending on how it's going. Read the account against these two situations rather than changing things on a schedule.
| Situation | What you're seeing | The move |
|---|---|---|
| Still starved | Your promoted micro-conversions still aren't getting the account to 30 a month | Go back to the menu and graduate the next best event. Keep the ones you already have, you don't have to pick just one. |
| It's working | The events you actually want are showing up, and the next one down holds 15 to 20 a month on its own | Demote the higher-funnel micro-conversions back to secondary and let the real event carry the optimization. |
| Not sure yet | One good week, then a quiet one | Wait. Move on a fluke and you drop back under the threshold and restart learning. |
When you do move down, move exactly one rung. Skipping two is the same mistake as starting at the bottom: the deeper event doesn't have the volume yet, and you end up back in learning limited with less signal than you started with.
The thing that quietly breaks all of it
The biggest conversion-optimization problem I see in tech companies is optimizing on a signup with no gating on it. Spam leads come in, competitors poke around, students doing research fill out the form because they want your attention, and every one of them gets sent to Google as a conversion.
That is you telling Google that a student is exactly who you want more of. Behind the scenes it's patting itself on the back, deciding it's very good at this, and going off to find more student signups. It's hard to catch as an advertiser, because on the surface your conversion volume looks healthier than it has in months.
This is a different problem from the too-common rule above. That one is about how often a signal fires. This one is about who fires it, and a free trial or ungated signup can look perfectly healthy on volume while being almost entirely the wrong people.
- Require a business email on the form.
- Block free inbox domains.
- Add one qualifying field, like company size or role.
Gate it, and the conversion means what you think it means. Leave it open, and the micro-conversion you were most excited about is the one actively damaging the account.
The takeaway
You don't need to spend more, and you don't need more high-quality conversions before you can start. What you need is micro-conversions feeding the account initial data, so it has a starting point and can build momentum toward supporting the conversions you actually sell on.
Pick the proxies that correlate, promote them into the group you already optimize for, stay honest that they're proxies, and demote them as the real events show up. The playbook below has the full menu, the triggers, and the exact GTM build for each event, with the field values and the code, which is the part that would have made this twice as long.
Frequently asked questions
- What does 'Learning limited' actually mean in Google Ads?
- It means the campaign doesn't have enough conversion data for smart bidding to find a pattern. Google needs around 30 conversions a month to optimize correctly. Under that, your cost per acquisition stays erratic, the campaign restarts learning every time you change something, and it never stabilizes. It's a signal-density problem, not a penalty.
- What is a micro-conversion?
- A smaller, lower quality, higher volume event on your site that predicts the conversion you actually want: a pricing page view, a form start, an engaged session, a demo-button click. On its own it's worth nothing. As a proxy that correlates with real leads, it's enough for the algorithm to learn from while your real conversions are still rare.
- Which micro-conversion should I optimize for?
- One that clears two tests. It has to correlate with your real conversions, which you can check by analyzing whether the people who fired it went on to become qualified leads. And it can't fire too often: an event that happens hundreds of times a week dilutes the signal and can't tell a buyer from a bystander. Aim for something trending around 30 a month.
- Do I need server-side conversion tracking?
- For micro-conversions, no. Browser-side tracking loses 20 to 30 percent to ad blockers and privacy settings, but micro-conversions should have enough volume to absorb that, and the goal is to stop relying on them anyway. Enhanced conversions and a CRM integration for your offline events recover the part that actually matters, with far less work.
- Should I optimize for free trial signups?
- Only if the signup is gated. An ungated signup fills with students, competitors and bots, and optimizing on it tells Google to go find more of them. Require a business email, block free inbox domains, or add one qualifying field. Then the conversion means what you think it means.
- How do I promote a conversion action without resetting learning?
- Move the action into the conversion group your campaigns already optimize toward instead of adding a new group in the campaign settings. If you optimize on leads, regroup the key page view into leads. It's technically wrong, a page view is not a lead, and it still disrupts the account far less than changing what the campaign optimizes for.
- When do I stop using micro-conversions?
- When the next event down the funnel is holding 15 to 20 conversions a month on its own. At that point you have enough real volume to demote the higher-funnel micro-conversions back to secondary and tighten the signal. Do it earlier and you drop back under the learning threshold.
- Do offline conversions have to wait for the deal to close?
- No, and they shouldn't. Fire the offline conversion the moment a lead is marked qualified in your CRM, which is usually days after the click rather than months. Push it with a direct CRM upload, a scheduled Google Sheet, or enhanced conversions for leads matched on the hashed email if the gclid was lost.
- Is it bad if the same visit counts as more than one conversion?
- Not at this stage. When you promote a micro-conversion you're adding a primary rather than swapping one out, so a single visit can count twice. Early on you're feeding a model, not reporting on the business, and more examples is what gets it out of learning. Tighten the counting once you have real volume.