That’s a great question, Antonio, and it sounds like you’re trying to set up a robust tracking system.
Measuring offline conversions, especially with a tool like YCBM (YouCanBookMe) which doesn’t have a direct Google Ads integration, can be tricky but definitely achievable.
The core problem is capturing the GCLID and passing it all the way through to HubSpot, and then using that GCLID to report the conversion back to Google Ads.
Since you’re embedding YCBM on WordPress, the first step is capturing the GCLID on your landing page.
Google Ads’ auto-tagging automatically appends the GCLID to your landing page URL.
You need a way to read that URL parameter and store it.
You can achieve this using Google Tag Manager (GTM).
GTM can read the GCLID from the URL and then pass it into a hidden field in your YCBM booking form.
You’ll likely need to configure your YCBM embed code and GTM setup to ensure this hidden field is populated with the GCLID before the user submits the booking.
Once the GCLID is captured in YCBM, the GCLID needs to be sent to HubSpot.
Since you are already using HubSpot, you can leverage Zapier as you mentioned, or better yet, use YCBM’s integration features or webhooks to send the booking data, including the GCLID, directly to HubSpot.
This creates the contact record in HubSpot with the necessary GCLID.
This process addresses your need to distinguish between users from your regular YCBM link and those from a Google Ads landing page, as only the Google Ads-driven users will have a GCLID in that field.
The second part, and where the advanced tracking comes in, is sending the conversion data back to Google Ads.
HubSpot can act as your source of truth for conversions (like a “Closed Deal” or “Payment”).
To get the cost or deal information you want, you may need to ensure YCBM’s data mapping to HubSpot is as detailed as possible, even if some manual input is required to finalize the “Payment” or “Closed Deal” amount in HubSpot after the initial booking.
This is where your second issue about mapping comes in.
If YCBM can’t natively pass the final value, you’ll need a mechanism in HubSpot to update the deal stage and value.
To report the conversion back to Google Ads, you’ll use the Offline Conversion Upload process.
The ideal and most automated solution involves a combination of APIs and server-side tagging.
Specifically, a setup leveraging the YCBM API (to get booking details), the Google Ads API (to upload the conversion), and the HubSpot API (to confirm the conversion event, like a “Closed Deal”, and retrieve the associated GCLID and value) is a very robust solution.
A server-side setup using GTM along with a service like Stape or a platform like Google Cloud Platform would be a good choice here.
HubSpot can trigger a webhook or an action when a conversion event occurs (e.g., deal stage changes to “Closed-Won”).
This trigger can then send the necessary information (GCLID, conversion name, value, and time) to your server-side GTM or a custom script hosted on a platform like Google Cloud Platform.
This server-side environment is what will ultimately use the Google Ads API to upload the conversion.
This approach gives you maximum control and reliability for ensuring that standard events like a successful booking or a final “Closed Deal” are properly mapped back to Google Ads with the correct GCLID, cost, and time, solving your long-term return client tracking challenge as well.
This avoids the limitations of browser-side tracking and is more resilient for long conversion windows.
It’s complex, but it’s the most powerful way to achieve what you’re trying to do.