How to Fix Google Ads Conversion Tracking With Zoho CRM?

Question from Reddit:

Hey everyone,

I’m stuck on a Google Ads conversion tracking issue, and I’m hoping someone here can help because I’m running out of ideas. This subreddit has been an outstanding resource for me as I’ve built my PPC for my business, so hoping someone could help me with this. If it’s not allowed, please let me know (FYI, this has also been posted in Zoho, but it’s a tiny community there).

Here’s the setup: I use Zoho CRM along with Zoho Forms. When someone clicks an ad, they land on my website and fill out a form. The GCLID gets captured into the CRM—so far, so good. The problem is, it stays there. I’ve had the Google Ads integration set up for months, but it’s not sending any data back to Google Ads. I’ve spent over a month going back and forth with Zoho support, and they’ve been no help.

What I’m trying to figure out is:

  • How can I get that GCLID (or maybe another tracking method, like UTM data?) to send conversion info back to Google Ads?
  • Should I enable advanced tracking in Zoho Forms to capture UTM parameters? If yes, how do I pass those to Analytics and/or Ads?
  • Or would it make more sense to use Google Tag Manager with Zoho Forms?

I’m not super experienced with advanced tracking setups, but I used to get ~80 conversions per month in Google Ads, and now it’s at zero. So, something’s definitely broken, and I need to fix it.

Does anyone have experience with this kind of integration or suggestions on the best way to solve this? Any help would be seriously appreciated!

Answer from Nabil:

The short answer is:

How to fix Google Ads conversion tracking with Zoho CRM?

The reason your conversions are showing zero, despite the Google Click ID (gclid) being correctly captured in Zoho CRM, is that the crucial final step of sending the offline conversion data back to Google Ads is failing, which is a common point of failure for native CRM integrations.

The Zoho-to-Google Ads integration is simply not completing the loop.

The most robust, reliable, and scalable solution is to bypass Zoho’s internal failure entirely and implement an independent server-side tracking process using the Google Ads API and the Zoho CRM V8 APIs.

This allows you to directly control the conversion upload, ensuring the conversion data is sent back to Google Ads for accurate reporting and campaign optimization.

The long answer is:

It’s incredibly frustrating when the native integration you rely on fails, especially when you can confirm that the core data, the gclid, is present in your CRM.

The Zoho Forms setup is performing the first part correctly by using a script to capture the gclid from the landing page URL and associating it with the new lead in Zoho CRM.

However, the connection’s second part – the Offline Conversion Import – is broken.

This import process is what reads the gclid and conversion time from Zoho and uploads it to Google Ads via the Google Ads API, thus completing the attribution loop.

Since Zoho support hasn’t resolved it, trying to fix the native integration is a dead end.

Instead, you need to implement a solution that gives you direct control over the entire process.

The combination of the Google Ads API, Zoho CRM V8 APIs, and a server-side environment like Stape or Google Cloud Platform is the definitive fix.

You can continue using Google Tag Manager to capture the gclid on the form submission and pass it to Zoho CRM as you currently are.

The new process focuses on the backend: once a conversion event (e.g., Lead Status change, Deal Won, etc.) happens in Zoho, you set up a custom Zoho Webhook or a low-code function (using Zoho’s Deluge language or similar) that utilizes the Zoho CRM V8 APIs to extract the following critical data points for that lead: the captured gclid, the conversion time, and the conversion value (if applicable).

This data is then sent from Zoho to a reliable intermediary, which can be a server-side GTM container on Stape or a simple script on Google Cloud Platform.

From this intermediary, a direct call is made to the Google Ads API’s Upload Clicks endpoint.

This approach eliminates the reliance on the faulty native integration and gives you full transparency and control.

This method is considered best practice for ensuring the highest possible match rate for your conversions, as it moves the entire process to a controlled, server-based environment, guaranteeing that those 80 monthly conversions get correctly attributed back to your Google Ads campaigns for accurate bidding and optimization.

About The Author