BodzerMarketıng
Let's start Pick a time Join the team

Back to the blog

Closed-Loop B2B PPC: Connecting HubSpot and Salesforce to Google Ads for Real Revenue Bidding

Closed-Loop B2B PPC: Connecting HubSpot and Salesforce to Google Ads for Real Revenue Bidding

If your Google Ads account relies solely on website form submissions to optimise bids, your performance is capped. You are training one of the world's most advanced machine learning systems on incomplete data.

When someone submits a demo form on your website, you do not know whether they are a viable buyer, an existing client looking for customer support, or a student compiling a thesis. That determination happens days later inside your CRM, after an SDR qualifies the lead, an account executive runs a discovery call, and a contract proposal is drafted.

By connecting your CRM (such as HubSpot or Salesforce) directly to Google Ads through Offline Conversion Tracking (OCT), you pass real deal outcomes back to the advertising platform. Instead of bidding on people who fill out forms, Google Ads begins bidding on people who actually buy software and sign service contracts.

Here is how to set up closed-loop tracking properly.

Why client-side web tags fail enterprise B2B

Standard website conversion tracking fires immediately upon a page view or form click. For an e-commerce retailer selling trainers, that works: transaction completed, credit card charged, order value recorded.

In B2B, the client journey looks entirely different:

  • Day 1: Prospect clicks a Google Search ad and submits a 4-field inquiry form.
  • Day 5: SDR qualifies the contact and converts them into a Sales Qualified Lead (SQL).
  • Day 22: Account executive completes discovery and opens an Opportunity valued at 35,000 EUR.
  • Day 64: Security team approves the architecture, contract is signed, deal moves to Closed-Won.

If your ad account only tracks Day 1, Google Ads assumes every form submission is identical. The algorithm naturally steers budget toward the cheapest clicks, which usually generate unworkable leads.

As I explored in my piece on why automated bidding amplifies measurement errors, the bidding algorithm will aggressively optimise for junk if junk is the only metric you feed it.

Capturing GCLID and passing it to your CRM

The entire offline tracking architecture hinges on one parameter: the Google Click Identifier (gclid). When a user clicks your search ad, Google appends this unique string to your landing page URL. For privacy-centric browsers like Safari on iOS, Google also uses wbraid and gbraid.

To capture and store these identifiers across your marketing tech stack, execute the following three steps:

Step 1: Create custom properties in your CRM

In HubSpot or Salesforce, create single-line text properties on your Contact and Deal objects:

  • google_click_id (gclid)
  • google_ads_conversion_status
  • first_touch_campaign
  • first_touch_medium

Step 2: Add hidden inputs to all website forms

Every form on your website must include hidden input fields corresponding to these parameters. When your page loads, a lightweight client-side script parses the URL parameters and populates the hidden fields.

If the user navigates between multiple pages before converting, store the click parameters in a first-party session cookie or localStorage object so the values persist until the form is submitted.

Step 3: Implement Enhanced Conversions for Leads

Alongside the GCLID, configure Google's Enhanced Conversions for Leads. When a user submits a form, this script captures first-party user data (such as their corporate email address and phone number), hashes it using the SHA-256 algorithm, and sends it securely to Google. This provides a resilient secondary match key when cookies or query parameters are stripped by browser privacy restrictions.

Configuring primary vs secondary conversion actions

Once your CRM is capturing click IDs, create the corresponding conversion actions inside Google Ads:

  1. CRM - Qualified Lead (SQL): Set as Primary. This informs Smart Bidding which ad clicks resulted in real sales conversations.
  2. CRM - Opportunity Created: Set as Primary (if your account logs at least 25 to 30 opportunities monthly).
  3. CRM - Closed-Won Revenue: Set as Primary for value-based bidding (tROAS).
  4. Website - Form Submission: Demote to Secondary. It remains visible in your reporting columns, but Google Ads will no longer chase form fills for the sake of volume.

Setting website form fills as secondary is often scary for marketers because recorded conversion volume drops immediately. However, your cost per qualified sales opportunity will plummet as the algorithm reallocates spend away from non-buyers.

Calculating lifecycle stage values for revenue bidding

If your sales cycle takes 60 to 90 days, waiting for a deal to reach Closed-Won before sending data back to Google Ads can starve the algorithm of conversion volume. Machine learning models require steady feedback to learn effectively.

The solution is stage valuation. Assign synthetic milestone values to each CRM lifecycle stage based on historical close rates:

  • Average Closed-Won Contract Value: 30,000 EUR
  • Opportunity-to-Close Rate: 25% -> Opportunity Milestone Value = 7,500 EUR
  • SQL-to-Opportunity Rate: 33% -> SQL Milestone Value = 2,500 EUR

By passing these calculated values back to Google Ads via offline conversion uploads, you provide the algorithm with immediate, weighted feedback within 7 to 14 days of the initial click, allowing you to run Target ROAS (Value-Based Bidding) successfully.

For a deeper dive into technical tracking traps, read my guide on common measurement mistakes in digital marketing.

Setting the 90-day conversion window

Google Ads defaults to a 30-day conversion window. In enterprise B2B, a 30-day attribution window cuts off half your revenue data.

In your conversion action settings, raise the conversion window to the maximum allowed: 90 days. When an opportunity closes in week ten, Google Ads can still match that contract back to the search term and ad creative that originated the lead on day one.

Download the Offline Tracking & Audit Framework

Ready to audit your conversion infrastructure and eliminate wasted spend? Open my B2B Negative Keyword Master List and Audit Checklist (Google Sheets) to inspect your tracking and campaign parameters.

The competitive advantage of closed-loop bidding

Most of your competitors are still bidding on target cost per form fill. They are actively competing for low-quality search terms because those clicks produce cheap spreadsheet conversions.

When you configure offline conversion tracking, you separate your advertising from vanity metrics. You can afford to bid higher on high-intent decision-makers because you know exactly how many euros of CRM pipeline every single ad group generates.

If you want an experienced specialist to audit your CRM integration and connect Google Ads to real pipeline, take a look at my B2B PPC service, or submit a brief to get started.

Rather just talk?

The first call is free, whatever the service. Book 60 minutes in my calendar, and the Google Meet link gets added automatically.

Pick a time Work with me

More posts