Stuck: How to track Google Ads conversions through Calendly and Zapier?

Hey folks, I’m in a pickle with my B2B company’s ad tracking. We’re using Google Ads, Calendly, and Zapier, but I can’t figure out how to keep the gclid (Google Click ID) intact throughout the process.

Here’s what I’m trying to do:

  1. Run Google Ads that send people to our landing page (with gclid)
  2. Have them book appointments through Calendly
  3. Use Zapier to mark these bookings as conversions in Google Ads

The tricky part is getting that gclid from the landing page URL, through Calendly, and into Zapier. I’ve looked at Calendly’s UTM tracking and thought about adding custom questions, but nothing seems quite right.

Has anyone cracked this nut? How did you get the gclid to stick around? Any tips or tricks would be awesome. I’m totally stuck and could use some help!

Thanks a bunch!

hey mike, i tried somethin similar. have u looked into using google tag manager? it can grab the gclid and store it in a cookie. then u can use custom html in calendly to read the cookie and add it to a hidden field. zapier picks it up from there. bit technical but works great for us

I’ve actually dealt with this exact issue in my agency. We ended up using a combination of custom URL parameters and hidden fields in Calendly to solve it. Here’s what worked for us:

We appended the gclid to our Calendly booking link as a custom parameter. Then in Calendly, we added a hidden field that captured this parameter value.

When the booking info gets sent to Zapier, it includes the hidden field data. From there, we could use Zapier to pass that gclid to Google Ads for conversion tracking.

It took some trial and error to get it working smoothly, but it’s been reliable once set up. The key was making sure the gclid persisted through each step of the funnel.

Hope that helps give you a potential solution to try! Let me know if you need any clarification on the implementation details.

I’ve faced this challenge before, and there’s a workaround that might help. Instead of relying on Calendly to pass the gclid, consider using a custom landing page builder or CRM that can capture and store the gclid when visitors arrive. Then, integrate this system with Calendly and Zapier.

When a booking occurs, your CRM can send the stored gclid along with the appointment details to Zapier. This method maintains the connection between the initial ad click and the eventual booking, allowing you to accurately track conversions in Google Ads.

It requires some additional setup, but it’s more reliable than trying to force Calendly to handle the gclid directly. Plus, you’ll have more control over your data and can use it for other marketing efforts too.

Hey Mike, that’s a common and frustrating tracking hurdle, especially with third-party booking tools like Calendly.

You’re right, the challenge is preserving the gclid.

While Zapier can work by trying to pass the gclid as a hidden field or custom question, that setup is often brittle and can break if Calendly or your form changes.

The most robust and reliable way to “crack this nut” is to move towards a server-side tracking solution that leverages the respective APIs and Google Tag Manager (GTM).

The better, more reliable, and frankly more powerful solution is to bypass Zapier for this specific task and use the combination of Google Ads API, Calendly API, Google Tag Manager, and a server-side tagging service like Stape or Google Cloud Platform (GCP).

Here is why this approach is superior:

First, with GTM implemented on your landing page, you can capture the gclid from the URL when the user arrives and store it securely in a first-party cookie.

This step is crucial because it keeps the gclid safe even if the user navigates away or takes a long time to complete the booking.

Second, when the user successfully books the appointment in Calendly, the Calendly API can be used to notify your server of the event.

Calendly can send data like the email address or phone number of the person who booked the meeting.

Third, using a server-side tagging environment (like GTM’s Server container hosted on Stape or GCP), you can trigger an event that includes the stored gclid.

Your server-side setup can match the booking information from the Calendly API with the gclid stored in the user’s browser (retrieved via an API call or other methods) and then send a perfectly formed conversion to the Google Ads API.

This method completely avoids the fragility of passing the gclid through form fields or custom questions.

It also allows you to use more resilient conversion events, specifically the Google Ads API’s ‘enhanced_conversions’ or a standard ‘purchase’ or ‘conversion’ event, which are much more resistant to ad-blockers and browser privacy features (like ITP) that actively block traditional, client-side tracking pixels.

Because the conversion is sent directly to Google Ads from your server, it’s reliable, secure, and preserves data integrity far better than a client-side solution or a multi-step automation like Zapier.

In short, using the APIs gives you an ironclad connection for conversion tracking, making sure you never lose that valuable gclid.