Features Pricing Guides Security About Contact Sign in WhatsApp us Start free
Google Ads Attribution Reporting

How to track which Google Ads keyword actually generated a sale

Uploading offline conversions back to Google Ads fixes the bidding algorithm's blind spot — but it doesn't automatically give you an easy answer to "which keyword actually made me money this month." That answer lives partly in Google Ads' own reports and partly in your CRM, and getting a clean view means connecting the two properly. This is how.

What Google Ads can tell you on its own

Once offline conversions are flowing back correctly, Google Ads' own reporting can break conversions and conversion value down by keyword, in Keywords → Segment → Conversion actions. This is genuinely useful and free, and for many advertisers it's sufficient. It has two limits worth knowing:

  • It only shows what you've told it — if you're only uploading final "Won" sales and not intermediate stages, keyword-level insight lags by however long your sales cycle takes.
  • It reports in Google's attribution model, which may not match how your business actually thinks about which touchpoint deserves credit, especially for a long sales cycle with multiple ad interactions before a purchase.

Why some advertisers also want it inside their own CRM

Google Ads' interface is built for managing bids, not for a sales manager reviewing pipeline. If you want to see, at a glance, "which keyword produced the leads currently sitting in my pipeline right now, and what are they worth", that view has to exist inside the tool your sales team actually lives in — not a separate login only the person running ads checks.

What you need captured to build this view

Keyword-level attribution inside your own CRM depends on capturing more than just the gclid. The gclid alone tells Google which keyword produced a click, but it doesn't tell you that unless you also capture it directly:

  1. UTM parameters — specifically utm_term, which Google Ads can be configured to auto-populate with the actual matched keyword via a value track parameter ({keyword}) in your final URL suffix. This is the field that actually answers "which keyword", independent of Google's own reporting.
  2. Campaign and ad group nameutm_campaign and utm_content, for when you want to roll up by campaign rather than individual keyword.
  3. The gclid itself, stored alongside — useful for matching back to Google's own reporting if numbers ever need reconciling.

Set the value track parameter once, at the account level. Under Settings → Account settings → Tracking template, add utm_term={keyword}&utm_campaign={campaignname}&gclid={gclid} to the URL suffix, and every ad click across the account carries the actual matched keyword automatically — no need to set it per campaign.

Turning captured data into a usable report

Once utm_term and deal value are both stored on every lead, the report you actually want is a simple group-by: total leads, total won deals, and total revenue, grouped by keyword, over a chosen date range. The insight that usually surprises people isn't which keyword generates the most leads — it's how differently keywords perform once you look at revenue instead of lead count. A keyword that's cheap and generates a high volume of leads can easily be your worst performer once you account for how few of those leads ever become paying customers, and a more expensive keyword that converts at a much higher rate can be the one actually worth increasing budget on.

A worked example

Say a home-services business runs two keywords: "AC repair near me" and "AC installation cost". Over a month, both generate roughly 50 leads each, and on lead count alone they look identical. Once revenue is layered in, the picture usually splits sharply — "AC repair" tends to produce quick, lower-value jobs with a high close rate, while "AC installation cost" produces fewer closes but a much higher average deal value per sale. Looked at through lead count, the two keywords look tied. Looked at through revenue per keyword, one of them is very likely worth a materially higher bid than the other. This is the exact gap that a lead-count-only view of Google Ads performance can hide, and it's why the extra step of capturing utm_term and deal value, then reporting revenue rather than lead count, tends to change budget decisions once a business actually looks at it.

Rolling this up to campaign and account level

Once keyword-level revenue is visible, the same report rolled up to campaign level answers a different, equally useful question: which campaigns deserve more budget this month. It's worth running both views side by side rather than only the more granular one — a campaign can look unprofitable in aggregate while containing one or two individual keywords quietly carrying it, and the fix in that case is usually to pause the weak keywords rather than the whole campaign.

Common mistakes that quietly break this

  • Only tracking utm_term for form-based landing pages, and losing it entirely for click-to-call or click-to-WhatsApp campaigns, where there's no URL to carry the parameter into.
  • Broad match keywords reporting as the triggering keyword rather than the actual search term typed — {keyword} returns the keyword you bid on, not necessarily the exact query. For a fuller picture, cross-check against Google Ads' own Search Terms report periodically.
  • Reporting on too short a window. A keyword can look terrible after a week and excellent after a full sales cycle. Judge keyword ROI against your actual sales cycle length, not a calendar-convenient week or month.

How often to actually review this

Keyword-level revenue reporting is most useful reviewed on a cadence that matches your sales cycle, not your ad platform's default weekly view. Checking it weekly for a business with a two-week sales cycle makes sense; checking it weekly for a real estate business with a three-month cycle mostly shows noise, because too few deals will have closed since the last check to mean anything. A monthly or even quarterly review, looking at a rolling window at least as long as the sales cycle, gives a far more stable picture of which keywords are actually worth the budget.

What to do if you can't set the tracking template account-wide

Some agency-managed accounts restrict who can edit account-level settings like the tracking template. If that's the case for you, the same value track parameters can be added at the campaign level instead, under each campaign's Settings → URL options — more work to set up once, but functionally identical once it's running. Either way, verify it's actually populating by clicking one of your own live ads and checking the landing URL for a real utm_term value rather than the literal, unresolved {keyword} text — a common and easy-to-miss sign the template didn't save correctly.

Where this connects to conversion upload

This is a separate but related capability to reporting conversions back to Google Ads — one tells Google's bidding algorithm what happened, the other lets your own team see it. See how to send offline conversions to Google Ads from your CRM for the upload side, and note the same underlying capture — gclid, UTM parameters — feeds both.

Claudphic Ads captures the full set automatically on every lead and surfaces keyword-level revenue directly in the pipeline view, so this report exists without building it. See the pricing page for details.

Want this running without spreadsheet exports?

Claudphic Ads captures the click ID automatically and uploads the conversion the moment you mark a lead Won. From ₹999/month, with a free trial.

Read next

← All guides

Call now Start free →