Why it matters
Google Ads and Meta both use automated bidding. They decide who sees your ads and what to pay for each click based on the conversions you report. If all you report is “a form was submitted,” they’ll look for more people who submit forms, including tire-kickers, people outside your service area and spam.
If you also report which leads booked a job, the platforms can start looking for people who book. For an HVAC company, that’s the difference between ads optimized for “someone asked a question” and ads optimized for “someone scheduled an install.”
This page covers how we connect all of that: call and form conversions in Google Ads, enhanced conversions, offline conversion imports from your CRM, and Meta’s Conversions API.
How we do it
- Set up clean conversion actions in Google Ads. We create separate actions for calls from ads, calls from your website and form submissions. We choose which ones are primary, meaning the ones bidding is based on, and make sure the same lead isn’t counted twice through both a GA4 import and a Google Ads tag.
- Turn on enhanced conversions. When someone submits a form, enhanced conversions sends a hashed version of the email or phone number they entered. Hashing scrambles it into a code that can be matched but not read. That helps Google connect the conversion to the ad click when cookies alone fall short.
- Capture the click ID with every lead. When someone clicks a Google ad, the page address carries a GCLID, short for Google Click ID. We save it in a hidden form field and pass it into your CRM with the lead. Call tracking tools can capture it for calls too.
- Import booked and closed jobs. When a lead becomes a booked job in your CRM, we send that back to Google Ads with its GCLID, along with the job value if you track it. Google also offers a version that matches on hashed contact details instead of the click ID, which we use where it fits better.
- Connect the Meta Pixel and Conversions API. The Pixel tracks actions in the visitor’s browser. The Conversions API sends the same events server to server, so they still arrive when browsers or ad blockers block the Pixel. We give each event a shared ID so Meta counts it once, not twice.
- Check the connection every week. We review Google Ads diagnostics and Meta Events Manager for import errors, match quality and missing events as part of weekly optimization.
What your CRM needs to make this work
Offline conversions depend on your CRM or field service software doing two things: saving the click ID with each new lead, and recording when a lead becomes a booked or completed job. Tools vary a lot in how they handle this. We’ll look at what you use during the free consult and tell you what’s realistic before anything gets built.
What you get
- Google Ads conversion actions for calls and forms, with primary and secondary actions set correctly
- Enhanced conversions set up and checked in Google Ads diagnostics
- Click ID capture on your forms and call tracking, passed into your CRM
- Booked or closed jobs imported back to Google Ads where your CRM allows
- Meta Pixel and Conversions API with deduplication in place
- A plain-English note on what each platform is optimizing toward
Common mistakes we fix
- The same lead counted twice. A GA4 import and a Google Ads tag both set as primary makes every lead look like two.
- Click IDs lost along the way. The GCLID gets dropped on a form redirect or never saved in the CRM, so offline imports can’t match.
- Pixel and Conversions API without deduplication. Meta counts each lead twice and bids on bad data.
- Optimizing for the wrong thing. Page views or button clicks set as primary conversions teach the platforms to chase browsers, not buyers.
- Sending more data than needed. We send only what the platforms require for matching, hashed where required, and nothing sensitive.