Skip to content
Smart Local

Guide

Lead attribution for paid and organic search: count each lead once

Lead attribution is the record of which marketing touches led someone to enquire, and how the credit for that enquiry is shared between them. For paid and organic search it holds together when every enquiry gets one ID in your own lead register, and Google Ads, GA4 and the customer's own answer become separate views of that one lead. Add each tool's conversion total together and the same person gets counted twice, sometimes three times.

Peter Moriarty, Smart LocalUpdated

What lead attribution means, and why the totals don't add up

Lead source and lead attribution get used as if they meant the same thing. A lead source is one value stored against an enquiry, such as Google search or a builder's referral. Lead attribution is the rule that decides how credit is shared when the person touched more than one channel before enquiring: an organic visit, then your Business Profile, then an ad. The source is a fact you record. Attribution is a rule you choose, and changing the rule moves credit between channels without changing how many people enquired.

Each tool that reports leads applies its own rule and sees only part of the trail. Google Ads Help says Google Ads only reports conversions when there's a Google Ads interaction, such as a click, from the same account. GA4 can credit organic search, referrals and email too, and for key events it uses data-driven attribution unless you change the model. Your Business Profile counts taps on its call button. Search Console counts clicks from search results. None of them knows what the others counted.

So a report that adds Google Ads conversions, GA4's organic key events and profile calls into one lead total counts some people more than once. A homeowner who reads your guide from an organic result, then clicks your ad a few days later and fills in the form, can be a Google Ads conversion and an organic lead in GA4 at the same time, depending on which report you open. Here's what each source can and can't see.

SourceWhat it countsWho it can creditWhat it can't see
Google AdsConversions that follow an ad interaction, inside a click-through window you set (30 days by default, up to 90 depending on the conversion source)Only your own Google Ads campaignsOrganic visits, and whether a lead was any good unless you import that
GA4Key events you've marked, such as a quote form submission, within a lookback window (90 days by default for most key events)Paid and organic channels, under the model you choosePhone calls that never touch the website, and lead quality
Google Business ProfileTaps on the call button, website clicks and direction requestsThe profileWhether a tap became a call, or the call became a lead
Search ConsoleClicks and impressions from Google Search resultsOrganic searchAnything that happens after the click
Your lead registerOne row per real enquiryWhatever source details you captureAnything nobody wrote down, so it needs daily upkeep
Holographic analytics dashboards with line, bar and donut charts floating above a glowing podium, standing in for the separate reports that each claim a share of the same lead

Give every lead one ID

The fix is a lead register: one row and one ID for each real enquiry, with every source detail saved against that ID when the lead arrives. A shared spreadsheet is enough at low volume. A CRM or job system is easier once several people answer the phone.

Google's instructions for offline conversion imports describe the capture step for ad clicks: a hidden form field, a script that stores the Google click ID (GCLID) when someone lands, and a backend that saves it with the prospect's details. That capture step suits the register whether or not you ever upload a lead. For anyone not already importing offline conversions, the same help page recommends starting with enhanced conversions for leads, which matches hashed form details such as an email address, and Google says uploads are most accurate with the GCLID included. Why Google Ads produce the wrong leads covers sending outcomes back.

The hardest field to keep honest is the first visit. A visitor's source changes every time they arrive, so a form on its own only knows how the person got there today. To keep the first visit, have the site save the landing page, the referrer and any UTM values in a first-party cookie or local storage when someone arrives with nothing already saved, then copy those values into hidden form fields beside the current visit's values. Google's offline import instructions use the same cookie or local storage method for the click ID. The method has limits: a cleared browser or a second device starts a fresh record, so treat the field as the earliest visit the site saw, which may not be the person's first contact with you. Say in your privacy policy that you store it.

Auto-tagging, which adds the GCLID to ad clicks, is on by default for new Google Ads accounts, and it's how Google Analytics picks up campaign details from your ads. For phone leads, a call tracking number per source does the job the click ID does for forms. Each row should hold:

  • Lead ID: a running number such as L-0217 that's never reused.
  • When it came in and how: call, form, email or walk-in. For calls, the tracked number that rang.
  • The GCLID if there was one, plus utm_source, utm_medium and utm_campaign from the landing URL. Auto-tagging adds only the GCLID, so an ad click has UTM values only if the account adds them, for example through a final URL suffix.
  • The landing page of the visit that produced the lead.
  • The first-visit landing page, referrer and UTM values the site saved, kept in their own columns so the current visit never overwrites them.
  • What they said when asked how they found you, in its own field even when it disagrees with the tracked source.
  • The outcome: not a lead, qualified, quoted or booked, updated as the job moves.
  • A duplicate check: if the same phone number or email already has an ID, the new contact is noted against the existing ID.

Tag every link the same way, and ask every caller

Attribution falls apart quietly when one source is labelled three different ways. GA4's URL builder guide says to always set utm_source, utm_medium and utm_campaign, and that values are case sensitive, so utm_source=google and utm_source=Google show up as two sources. It recommends lowercase as standard practice. Write a short naming table once, keep it beside the register, and copy from it every time you create a tagged link.

The medium decides where GA4 files the visit. Under GA4's default channel group, a medium of exactly organic goes to Organic Search, email goes to Email, social and similar values go to Organic Social, and a medium that matches no rule is filed as Unassigned. The naming table on this page gives a starting convention for a small service business.

Some sources never reach a tracking tag: a neighbour's recommendation, the van parked in a street, a builder who passes your number on. The only record is the customer's answer, so ask on every call and every form with the same fixed options: Google search, Google Maps or the Business Profile, a Google ad, a friend or neighbour, the van or a sign, social media, an AI assistant, and other. When the answer disagrees with the tracked source, keep both. A caller who says a friend recommended you and then searched your name shows each view is right about a different step. If AI assistants start appearing in the answers, how to measure ChatGPT referrals shows what the website side can confirm.

Before trusting any month's numbers, work through the fault checklist in this section: it covers the six problems that break the trail most often.

  • Redirects that drop parameters. Google Ads Help says that if your site uses redirects, the GCLID has to be passed to the final landing page. Click a test link carrying UTM values and confirm they reach the page that holds the form.
  • Hidden fields that never arrive. Send a test enquiry through a tagged link and confirm the GCLID, UTM and first-visit values reach the inbox or CRM, because some form setups drop hidden fields on submission.
  • Untagged links. A Business Profile, email signature or social bio link with no UTM values arrives as plain organic search, referral or direct, and the register loses the distinction.
  • Mixed labels. Google and google, or fb and facebook, split one source into two rows.
  • Calls to the main number. A call to an untracked number arrives with no source except what the caller says.
  • Unmerged duplicates. One person who calls, then sends the form, then emails becomes three leads unless someone merges them under one ID.
Linkutm_sourceutm_mediumutm_campaignWhere GA4 files it
Business Profile website linkgoogleorganicgbp-listingOrganic Search, separated from other organic visits by the campaign value
Monthly email newsletternewsletteremailthe issue, such as 2026-11-newsletterEmail
Organic Facebook or Instagram postfacebook or instagramsocialthe post topic, such as hot-water-tipsOrganic Social
Google Ads, only if you add a final URL suffixgooglecpcthe campaign name, such as brandPaid Search; auto-tagging already supplies the GCLID
QR code on a van, flyer or printed quotevan, flyer or quoteprintthe print run, such as print-2026Unassigned, which is expected; the source value still identifies it

Worked example: one plumbing lead through every model

Say a plumbing business in Caloundra logs lead L-0217. The business, the journey and the splits are hypothetical; they exist to show the arithmetic of each model on one lead.

On Monday a homeowner searches why their hot water system is leaking from the relief valve, lands on the business's guide from an organic result and leaves. On Wednesday they search for a plumber nearby, open the business's Business Profile and tap its website link, which carries the gbp-listing tag. On Friday they search the business name, click the ad sitting above the organic listing and send the quote form. The form saves the GCLID, the current visit's source, the first visit the site stored, and the homeowner's answer to how they found the business: Google Maps.

GA4 now offers three models for key events: data-driven, paid and organic last click, and Google paid channels last click. Google's GA4 attribution help says first click, linear, time decay and position-based stopped being available in November 2023, and Google Ads Help says the same four are no longer supported there, leaving last click and data-driven. The retired models still matter because you'll meet them in other tools and older advice. Google's Campaign Manager 360 help describes how each works, and the table applies those rules to L-0217.

Every row adds up to one lead. Google Ads, meanwhile, records one conversion for the brand campaign, because the ad click is the only part of the journey it saw. The homeowner's own answer points to Google Maps, the middle step that no click-based model treats as special. The register keeps all of it against L-0217 and still counts one enquiry. Timing matters too: if the Monday visit had happened more than 90 days before the form, it would fall outside GA4's default lookback window for most key events, while the register's stored first visit would keep it.

ModelHow it splits creditWhere you'll find it nowCredit for L-0217
First clickAll credit to the first interactionRetired in GA4 and Google Ads; your register's stored first visit gives the same view1 to Monday's organic guide visit
Paid and organic last clickAll credit to the last channel clicked through before the enquiryGA41 to Friday's brand ad click
Google paid channels last clickAll credit to the last Google Ads channel clickedGA41 to Friday's brand ad click
LinearEqual credit to each interactionRetiredOne third to each visit. By GA4 channel, that's two thirds Organic Search and one third Paid Search, because the tagged profile visit is filed as Organic Search
Position-basedIn the common setup Campaign Manager 360 describes, 40 per cent each to the first and last interaction and 20 per cent to the restRetired0.4 to the guide visit, 0.2 to the profile visit, 0.4 to the ad click
Time decayMore credit to interactions nearer the enquiry; Campaign Manager 360 uses a 7-day half-lifeRetiredRoughly 0.27, 0.33 and 0.40 from Monday to Friday
Data-drivenShares set from your account's own converting and non-converting pathsThe default in GA4 and for most Google Ads conversion actionsA share to each click, set by the account's data, which you can't work out by hand

Worked example, continued: judge channels by booked jobs

One lead shows how the models work. A month shows why the number of leads is the wrong scoreboard. Stay with the same hypothetical Caloundra plumber: at the end of the month the register holds 40 lead IDs, each with a first-visit source, a last-click source and an outcome. The figures are illustrative only and are not a benchmark for any trade.

Switch the same 40 rows to last click and the picture moves. In this illustration, several people who first found the business through a guide or the profile finished on a brand ad click, so last click would hand Google Ads a bigger share of the month and organic search a smaller one. Neither view is wrong. The first-visit view shows which channels start conversations. The last-click view shows which channels people use when they're ready to act.

The decision comes from the outcome columns. Divide each channel's spend, or the hours it takes, by its booked jobs rather than its leads, and the generic campaign that wins on volume can lose on jobs. That's a prompt to check its search terms and landing page before cutting anything. For a service business the sale is the booked job, so a lead with no outcome recorded is only half a record.

First-visit sourceLeadsQualifiedBooked jobsWhat it suggests
Organic search (guides and service pages)964Finds people early, with real jobs attached
Business Profile (gbp-listing)864Strong local intent
Google Ads, generic searches1252Most leads, fewest bookings: check search terms and the form
Google Ads, brand searches332Small as a first visit; most brand clicks had an earlier visit
Friend, neighbour or builder (self-reported)543Invisible to every tracking tool
Unknown310Usually a call to an untracked number
Total402515One count, whatever the view
A glowing marketing funnel collecting contact profile cards and routing them through chat, email and phone icons to a checkmark, showing many enquiries narrowing to fewer booked jobs

Where paid and organic blur

Brand searches are where the overlap is easiest to see. Someone who already knows your name searches it, sees your ad above your own organic listing and clicks the ad. Google Ads records the conversion, and under its own rules that's correct. The business question is whether the lead would have arrived anyway through the organic result underneath. SEO vs Google Ads covers how the two channels fit together over time.

Google Ads has a report for this. Once you link Search Console, the paid and organic report shows searches where only your ad appeared, only your organic result appeared, or both, with clicks for each. Google notes on the same help page that spending on paid search has no effect on organic rankings. In the register, the matching check is how many brand-click leads had an organic first visit. If it's most of them, a short, planned pause of the brand campaign, judged on the register's total leads rather than the channel split, tells you more than any model. How to design a local visibility experiment covers running a test like that fairly.

Your Business Profile is the other blind spot. A tap on its call button goes straight to your phone, so GA4 never records a visit, and Google's performance report counts the tap, which isn't the same as a connected call. GA4 can link a Business Profile and show its calls and website clicks, though Google says those metrics can't be filtered or used in explorations, so they won't join to a lead ID. The tagged website link and the caller's answer are what tie the profile to the register. The Business Profile audit checklist covers the profile itself.

Pick the view before you look at the numbers, or every channel finds a reason to claim the month. Each common question has a view that answers it.

QuestionView to useWhy
How many enquiries did we get?The count of lead IDs in the registerEach person appears once, whatever the tools claim
Is organic search finding new customers?The register's stored first visit, or GA4's First user dimensionsGA4 keeps a user's first source the same on later visits
Which campaigns should Google Ads spend more on?Google Ads conversions, fed with qualified leads from the registerBidding learns from what Google Ads counts, so it should count real enquiries
Is the brand campaign finding extra leads?The paid and organic report, plus the first visit of brand-click leadsThe report shows how often your organic listing already appears and gets clicks on the same brand searches. The register shows how often a brand-click lead had an earlier organic visit
Which channel brings work worth having?Booked jobs by first visit and by last clickLead counts reward volume; booked jobs reward the enquiries that pay

A monthly attribution routine

Run it on the same dates each month, once the last enquiry of the month has an outcome. Calls get checked the same way, through the tracked number, and call tracking and conversion reconciliation walks through that part in detail. For what else belongs in the report you receive, see how to review a monthly SEO report.

  1. Test the trail. Click one tagged link, send one test form and make one call to each tracked number, then confirm every value lands in the register. Delete the test rows afterwards.
  2. Close the month in the register. Every call, form and email has an ID, a source and an outcome.
  3. Merge duplicates. Someone who called and then sent the form keeps one ID, with both contacts noted.
  4. Export Google Ads conversions with the "by conv. time" columns. Google Ads' standard columns date a conversion by the ad interaction, while your register dates it when the lead arrived.
  5. Segment those conversions by conversion action, then compare the form action alone with the month's register form leads that carry a GCLID. A small, steady gap is normal: Google models cross-device conversions, so a form sent from a laptop after an ad click on a phone counts in Google Ads, but that lead reaches your register with no GCLID. Look into a gap that jumps or keeps widening, and if Google Ads runs well ahead of the register, check that the form action counts one conversion per click, not every conversion.
  6. Report the register total once, then first visit and last click side by side, with qualified leads and booked jobs under each.
  7. Write down any setting you changed that month: attribution model, conversion window, a new form, a new tag or a new phone number. Next month's comparison depends on it.

Common questions

Which attribution model should a small service business use?

Use the model that fits the question, and keep data-driven, GA4's default for key events, for everyday reports. Check paid and organic last click beside it in GA4's attribution models report, and use your register's stored first visit to see which channels find new customers. Whatever you choose, keep it for monthly reporting, because GA4 applies a model change to historical data as well as future data, so past months shift when you switch.

What is 50/50 attribution?

It's a linear split across two touches: each gets half the credit for one lead. If a homeowner first visits from an organic result and later enquires after clicking an ad, a 50/50 view gives organic search and Google Ads half a lead each. GA4 and Google Ads no longer offer linear attribution, so a 50/50 view now has to be built in a spreadsheet from your register. The total is still one lead.

What does 7-day click, 1-day view attribution mean?

It's a lookback setting: the ad platform credits an enquiry to an ad if it happens within 7 days of someone clicking the ad, or within 1 day of someone seeing it without clicking. The view part is called a view-through conversion, and Google Ads sets its view-through window to 1 day by default. Leads credited on a view never carry a click ID, so your register will often credit them to another source.

What are the four types of attribution?

There's no official list of four. The rules fall into two groups: single-touch models give one interaction all the credit (first click and last click), and multi-touch models share it (linear, time decay, position-based and data-driven). Google Ads now offers last click and data-driven, and GA4 offers those plus Google paid channels last click. Each splits the credit differently, and none of them changes the number of leads in your register.

Why don't Google Ads, GA4 and my CRM agree?

Because each one counts by its own rules. Google Ads counts conversions only after its own ad interactions and dates them by the click, GA4 credits every channel under the model you set, and your CRM counts people. Modelled cross-device conversions, view-through conversions and counting settings widen the gap. Call tracking and conversion reconciliation walks through lining the numbers up month by month.

Do I need a CRM to track lead attribution?

No. A shared spreadsheet with one row per enquiry works while volume is low, as long as it's filled in on the day the lead arrives. A CRM or job system earns its place when several people take calls, or when you want to send qualified leads back to Google Ads, because an upload needs the click ID and contact details stored cleanly against each lead.

Can I store click IDs and source details against a customer's contact details?

It's common practice, but check your privacy obligations first. If the Privacy Act applies to your business, the Australian Privacy Principles cover how you collect, use and protect personal information, and APP 5 deals with telling people about the collection. The OAIC explains which small businesses the Act covers. Say in your privacy policy that you record how people found you, including any first-visit details your site stores, limit who can open the register, and get advice if you're unsure.

Why does GA4 show a fraction of a key event against a channel?

Because data-driven attribution shares the credit. When a key event follows visits from more than one channel, GA4's data-driven model gives each a portion of the credit, based on how much each interaction changed the estimated chance of the key event. So channel totals can show decimals. Your register still holds whole leads: use it for the count, and the fractions for comparing channels.

Keep exploring

Want the phones ringing?

Tell us your suburb and your trade. We'll show you which searches and suburbs we'd target first.