MoonSauce. Agency

Lead Gen Conversion Tracking Audit Checklist

A step-by-step framework for closing the measurement gap between your Google Ads dashboard and your actual revenue.

If you optimize Google Ads for form fills and phone calls, you're telling the algorithm: "find me people who fill out forms." Google gets very good at that. It has no idea whether those people ever became paying customers.

In home services - and in most lead-gen verticals - close to half of what Google Ads counts as a "conversion" is noise. Empty calls. Existing customers. Services you don't offer. Your real cost per job can be 2-3x higher than your dashboard suggests.

This checklist walks through the five moves that close that gap, in the order we run them with real accounts.

Audit Your Conversion Actions

Before you change anything, look at what you're already telling Google. Pull up your Conversions screen in Google Ads and ask:

  • Which actions are set to "Primary"? Those are what your bid strategy is optimizing toward - everything else is just observed.
  • Does every primary represent a real business outcome? Raw form fills and raw phone calls usually don't. A booked appointment, a quote, or a closed job does.
  • Are you double-counting? Multiple primaries firing off the same submission inflate volume and confuse the algorithm.
  • What's the count/value setting? "Every" vs "One" matters - especially for calls where the same number can call twice in a day.
  • Are any conversions firing from off-site interactions you don't want optimized to? Newsletter signups, chat opens, button clicks.
The outcome of Step 1: a written list of every primary conversion action and a one-sentence answer to "is this what I actually want Google finding more of?" Anything that doesn't pass that test is a candidate to be demoted to secondary.

Map Your Pipeline Stages With Values

You don't have to wait until a job closes to feed data back to Google. Every stage in your pipeline has predictive value, and you should assign each a number you can defend.

  • Lead (form fill / call): $0. Stop optimizing here alone - this is the input, not the outcome.
  • Appointment Booked: ~$50 (or your historical "booked-to-job" close rate x average job value, then conservative).
  • Appointment Completed (showed up): ~$100.
  • Quote Given: ~$200.
  • Job Sold: Actual revenue - $3,000 to $15,000+ in home services, whatever it is for you.
Why this matters: If your sales cycle is 30+ days, the mid-funnel stages are your fastest feedback loop. Google can start learning from "booked" data within a week instead of waiting two months for closed revenue.

Implement GCLID Capture

You cannot send conversions back to Google without the Google Click ID. This is the bridge between the ad click and the closed job. Check that it's being captured on every entry point:

  • Forms: Hidden GCLID field, populated from the URL parameter on landing, stored with the lead in your CRM.
  • Phone calls: Your call tracking (CallRail, WhatConverts, etc.) almost certainly captures GCLID automatically - confirm it's appearing on call records.
  • Chat / booking widgets: Often the weakest link. Test that GCLID survives the handoff from your site into the third-party tool.
  • CRM field: Make sure there's a dedicated field for GCLID on the lead record. If your team manually creates leads from voicemails or texts, that field stays blank - and those leads can't be imported.
Quick test: Click one of your own ads, fill out a test form, and verify the GCLID lands in the right field in your CRM. Repeat for phone calls and any chat/booking widget.

Run Your First Offline Conversion Import

You don't need an API integration on day one. A monthly CSV upload works and gives Google enough signal to start learning.

  • Pull last month's closed jobs from your CRM with: GCLID, conversion name, conversion time (when the job closed, not when the lead came in), conversion value, currency.
  • Create the matching conversion action in Google Ads first (e.g., "Closed Job - Manual Upload"), set source to "Import - Other data sources or CRMs."
  • Download Google's CSV template from the Conversions > Uploads screen, paste your data in, and upload. Use "Click conversions" (not call conversions) for GCLID-based imports.
  • Watch for errors in the upload report - the most common: time stamp format wrong, GCLID expired (90-day window), or the conversion name doesn't match exactly.
  • Repeat monthly until you're ready to automate via Zapier, the API, or a native integration (ServiceTitan, HouseCall Pro, HubSpot, Salesforce all have options).
The 20-minute version: If you've never done this before, your first upload is the highest-leverage 20 minutes you'll spend on the account this month. Even one cycle of data starts re-training the algorithm.

Test Value-Based Bidding

Once you have at least 30 imported conversions with values flowing in, you've earned the right to switch from volume-based to value-based bidding. The instruction to Google changes from "get me more leads" to "get me more revenue."

  • Prerequisite check: 30+ conversions with values in the last 30 days, GCLID capture working end-to-end, at least one full cycle of OCI uploads.
  • Switch the bid strategy: Maximize Conversions -> Maximize Conversion Value. If you've been on Target CPA, switch to Target ROAS using your historical revenue/spend ratio as the starting point.
  • Demote raw lead conversions to secondary at the same time you switch. If raw leads are still primary, Google will keep optimizing for them.
  • Expect a 2-3 week re-learning period. Volume usually dips first, then revenue and CPL recover.
  • Watch in the first 30 days: Conversion value column, ROAS, cost per booked job (not just CPL), and search terms drift - the algorithm is now hunting different queries.
If you only do one thing: Steps 1 and 4 alone - cleaning up your primary conversions and running a single manual OCI upload - already close most of the gap. The rest is leverage on top.

One More Thing

The biggest lift here isn't technical - it's the decision about what your conversion signal should be. Your primary conversion is your most important targeting decision in the account. Choose it deliberately, then build the pipeline back to it.

Questions? Found a gap I didn't cover?

I'm happy to talk through any of this. The fastest way to reach me is a DM on LinkedIn.

DM Me on LinkedIn