Hi there,
Thanks for reaching out!
I had a look at the issue you described with your Google Ads conversion tracking. It’s a really common problem, especially for SaaS businesses where the user journey involves moving from a marketing site to a separate web app domain. It sounds frustrating, but the good news is it's usually down to a small technical detail that's easy to miss. I'm happy to give you some initial thoughts and guidance on what's likely going wrong and how you can fix it. The problem almost certainly isn't your ads, but the way the click information is being passed (or not passed) along the user's journey.
TLDR;
- Your problem is almost certainly a cross-domain tracking issue because users are redirected from your main site to your web app. The 'passport' that links an ad click to a conversion (the GCLID) is getting lost at the redirect.
- You need to configure Google Tag Manager to correctly pass tracking information between your marketing website and your app domain. This involves setting up the 'linker' parameter and updating your Referral Exclusion List.
- Double-check that Google Ads auto-tagging is enabled. Without it, no tracking data can be passed, which makes conversion tracking impossible.
- The most important advice is to audit your entire user journey from ad click to conversion, looking for any redirects or scripts that might be stripping URL parameters.
- This letter includes a flowchart to visualise the problem, a step-by-step checklist for troubleshooting, and an interactive LTV to CAC calculator to help you understand how much you can afford to spend on leads once your tracking is fixed.
We'll need to look at why Google Ads isn't seeing your conversions...
Okay, so you've got a classic case of what looks like a ghost in the machine. GTM says everything is firing, your CRM shows the signups are coming from ads, but Google Ads is completely blind to them. Tbh, this happens all the time. The root of the problem is almost always about attribution. When someone clicks your ad, Google attaches a little bit of code to the end of your URL called a GCLID (Google Click Identifier). Think of it like a unique passport for that specific click. For Google to count a conversion, it needs to see that same passport at the finish line (when your signup tag fires).
In your situation, because the user gets redirected to your web app, that passport is getting lost at the border crossing between your main website and your app. The redirect is effectively stamping a new, blank passport, so when the user signs up on the app, Google Ads has no idea it came from the original ad click. Your GTM tag might fire perfectly on the app, but without the GCLID, it's an anonymous event as far as Google Ads is concerned. It has no click to attribute the conversion to, so it reports zero.
We see this with SaaS clients quite often. I remember one campaign we worked on for a B2B software where they were in the exact same boat. They were spending thousands on ads and thought they were getting nothing back. Once we fixed their cross-domain tracking, it turned out their campaigns were actually generating trials at a really good rate. The data was there all along, it just wasn't being connected properly. Let's visualise what's likely happening in your case.
I'd say you have a cross-domain tracking issue...
So, looking at that flowchart, the number one suspect is cross-domain tracking. You need to explicitly tell Google Tag Manager that your marketing site (e.g., `yoursite.com`) and your web app (e.g., `app.yoursite.com`) are part of the same user journey and that it should share information between them. If you don't do this, they are treated as two separate, unrelated websites.
The solution is to set up what's called 'linker' functionality in GTM. This makes sure that when a user clicks a link that takes them from your main domain to your app domain, the GCLID and other important identifiers are added to the URL of the destination page. The GTM tag on your app domain can then read this information from the URL and pick up the tracking where the first domain left off.
Here's what you need to do in GTM:
- Configure your Google Tag: Find your main Google Tag (the one that starts with G-) in GTM. Go to `Configuration Settings` > `Configure your domains`. Here, you need to add both your marketing site domain and your web app domain. For example, if your site is `myawesomesaas.com` and your app is on `app.myawesomesaas.com`, you'd add both here. This tells the tag that any journey between these two should be linked.
- Check the Referral Exclusion List in GA4: While this is technically for Google Analytics, it's good practice and can help diagnose things. In your GA4 property settings, go to `Data Streams` > `Configure tag settings` > `List unwanted referrals`. Add both your domains here as well. This prevents GA4 from starting a new session when a user moves from your marketing site to your app, which would otherwise show up as a 'self-referral' and mess up your attribution.
- Make sure GTM is on both domains: This might sound obvious, but you'd be surprised. The same GTM container code needs to be installed on every page of your marketing site AND every page of your web app where the conversion can happen. If it's missing from one, the chain is broken.
Fixing this is often the single biggest technical win for SaaS campaigns. Suddenly, you go from flying blind to having crystal clear data on which campaigns, ad groups, and keywords are actually driving signups. This is the foundation you need before you can even think about optimising or scaling your spend. If you dont get this right, any money you spend on ads is partly wasted because you're not learning anything from it.
You probably should check your GCLID and Auto-tagging...
Now, let's assume the cross-domain setup is part of the problem. There's another, more fundamental thing to check: auto-tagging. Inside your Google Ads account settings, there's a simple toggle for 'Auto-tagging'. This must be turned on. When it's on, Google automatically adds the GCLID parameter to the end of your URLs for every single ad click. If it's turned off for some reason, no GCLID is ever generated, and conversion tracking is dead in the water before it even begins. It's a simple check but a critical one.
You can verify this yourself. Go to Google, search for a keyword that triggers your ad, and click on it. When your landing page loads, look at the URL in your browser's address bar. You should see `?gclid=...` followed by a long string of random characters. If you don't see that, auto-tagging is off, or something else is stripping it away.
What could strip it away? Sometimes, server-side redirects can cause problems. For example, if a click goes to `http://yoursite.com` and your server immediately redirects it to `https://www.yoursite.com`, that redirect can sometimes lose the URL parameters if it's not configured correctly. Another culprit can be certain website platforms or scripts that 'clean' URLs, unknowingly removing the tracking information. It's less common these days, but still worth investigating if all else fails.
SaaS Tracking Health Checklist
You'll need to think about Consent Mode...
There's one more modern complexity to consider: Consent Mode. With all the privacy updates (GDPR, etc.), how you handle cookie consent is more important than ever. Google Consent Mode v2 is now mandatory for advertisers. This system changes how tags behave based on whether a user gives consent for tracking cookies.
Here's the bit that might be affecting you: if a user does *not* consent to `ad_storage` cookies, your conversion tag might still fire in a "cookieless" way. It sends a ping to Google saying a conversion happened, but without any personal identifiers. Google then uses modeling and aggregation to *estimate* conversions. This means that even if Tag Assistant shows the tag firing, if consent wasn't given, it won't be counted as a direct, observed conversion linked to a specific click. Instead, it might be rolled up into a 'modeled conversion' figure, which can sometimes lead to discrepancies, especially in accounts with low conversion volumes.
So, you need to check your cookie consent banner. How is it implemented? Is it properly integrated with GTM to pass consent signals *before* your other tags fire? A poorly implemented banner can block tags entirely or cause them to fire without the necessary consent, both of which will result in data loss. For a SaaS business, this is particularly important because you need accurate, user-level data to understand which signups turn into paying customers. Relying on modeled data makes that much, much harder.
And what about the bigger picture? Tracking is just the start...
Fixing your conversion tracking is the immediate priority, but it's really just Step Zero. The reason you need this data is so you can make intelligent decisions about your advertising. Once you can accurately measure your cost per signup (or trial, or demo), you can start to answer the much more important questions that will actualy grow your business.
The number one question every SaaS founder should be able to answer is: "How much can I afford to pay to acquire a new customer?" The answer isn't just a guess; it's a calculation based on your Customer Lifetime Value (LTV). If you know that, on average, a customer is worth £5,000 to your business over their lifetime, you suddenly have a very clear benchmark for your advertising. A cost per signup of £50 might seem high, but if 1 in 10 signups becomes a paying customer worth £5,000, you're spending £500 to make £5,000. That's a 10x return, and you should be spending as much money as you possibly can on that campaign.
Without accurate tracking, you can't do this maths. You're stuck in the dark, optimising for cheap clicks instead of valuable customers. I remember we reduced one client's CPA from £100 down to just £7 for their medical job matching SaaS, but we could only do that because we had reliable data to work with. We knew which campaigns were bringing in the high-value users and could double down on them while cutting the waste.
I've put a little calculator below. Play around with your own numbers (or your best estimates). It will show you your LTV and then calculate a target Customer Acquisition Cost (CAC) and a target Cost Per Lead (CPL), assuming a standard 3:1 LTV:CAC ratio and a certain lead-to-customer conversion rate. This is the kind of thinking that separates businesses that successfully scale with paid ads from those that just burn through cash.
I've detailed my main recommendations for you below:
To wrap this up, getting your tracking sorted is absolutley your top priority. Without accurate data, you're essentially gambling, not advertising. Once it's fixed, you can move on to the real work of optimising your campaigns based on performance and scaling what works. Here is a summary of the action plan I'd recommend you follow.
| Issue to Address | Priority | Recommended Action | Why it Matters |
|---|---|---|---|
| Cross-Domain Tracking | CRITICAL | In GTM, go to your Google Tag configuration and add both your marketing domain and app domain under 'Configure your domains'. This enables the linker. | This is the most likely reason your tracking is broken. It allows the GCLID to be passed from your main site to your app, enabling attribution. |
| Auto-Tagging in Google Ads | CRITICAL | Log into Google Ads, go to Account Settings > Auto-tagging, and ensure the box is checked. Verify by clicking an ad and checking the URL for a 'gclid' parameter. | Without this, Google Ads never generates the click IDs needed for conversion tracking. No GCLID = no conversions. |
| GA4 Referral Exclusion | HIGH | In Google Analytics 4, go to Data Streams > Configure tag settings > List unwanted referrals. Add your marketing and app domains. | Prevents your own site from being listed as the traffic source (self-referral), which cleans up your analytics data and helps with attribution analysis. |
| Consent Mode Audit | HIGH | Review your cookie banner's integration with GTM. Ensure it passes consent signals correctly and fires before your tracking tags. | Incorrect setup can lead to data loss or over-reliance on modeled conversions, which are less accurate and harder to act on. |
| Review Campaign Objective | MEDIUM | Once tracking is working, make sure your Google Ads campaigns are set to optimise for the specific 'Signup' conversion action you've created. | Tells the Google algorithm exactly what you want more of, so it can find users most likely to complete that action, improving your campaign's efficiency. |
I know this is a lot to take in, and diving into the technical side of GTM and Google Ads can be a real headache. It's fiddly work where one wrong setting can invalidate all your data, and it can take hours of troubleshooting to find the problem.
This is often where working with an expert can save a huge amount of time, frustration, and wasted ad spend. Getting a fresh, experienced pair of eyes on the problem can often identify the issue in minutes rather than days. Once your tracking foundation is solid, you can then move forward with confidence, knowing that the decisions you're making are based on solid, reliable data.
If you'd like to walk through your setup together, we offer a completely free, no-obligation initial consultation. We could hop on a call, share screens, and I could take a direct look at your GTM and Google Ads accounts to help you pinpoint exactly what's going wrong. It's often the fastest way to get you back on track.
Regards,
Team @ Lukas Holschuh