Attribution starts with preserving what you know about a customer's path. Keep the campaign information available when someone enquires, ask how they first heard about the company, and connect the resulting contact to appointments and jobs. Leave the source unknown when the evidence is missing.
A homeowner may see an ad, read a project page, check reviews and return through a branded search. The last click describes one step in that journey. It should not erase an earlier source the homeowner reported or become proof that one channel did all the work.
Keep a small attribution record with the enquiry
Record the enquiry time, landing page, available campaign identifiers, submitted contact details and the homeowner's original source answer. Give the contact a stable internal identifier so later bookings and jobs can be linked without relying only on a matching name.
Keep raw answers separate from standardized reporting categories. A note that says a friend showed me your backyard project may be more useful than forcing the enquiry into direct traffic. The reporting category can be revised while the original statement remains available.
- First reported discovery: the homeowner's own explanation.
- Observed visit source: the information captured for that visit.
- Campaign identifiers: the available source, medium, campaign and ad details.
- Outcomes: qualification, booking, attendance and signed work, each with its own date.
Standardize the links you control
Google Analytics supports UTM parameters for identifying campaign traffic. Use a consistent naming convention on the referral and campaign links you control. Test that the parameters survive the route to the landing page and are available to the intake where needed.
Do not add personal customer details to public campaign URLs. Keep names, email addresses and project information inside the appropriate protected record. A short campaign identifier is enough to distinguish a source in the marketing report.
Connect the contact to later outcomes
A contact, an appointment and a sold project are different records. Decide how the systems connect them and what happens when the same person enquires twice. A rescheduled appointment should not automatically become a second acquired customer.
Use a visible reconciliation queue for uncertain matches. Ask the office to resolve a small number of ambiguous records rather than silently assigning every job to the latest campaign. Keep the distinction between an observed match and an inferred match available in the report.
Report the limits alongside the results
For a monthly review, state whether the numbers represent enquiries received in the period, appointments held in the period or contracts signed in the period. Those populations can overlap without being identical. A job sold this month may have originated several months earlier.
Use attribution to guide questions and budget decisions, while recognizing incomplete paths and changing conditions. A before-and-after result can suggest a useful pattern without proving that a particular ad, article or AI mention caused the sale.
Common questions
Is the last click always where the homeowner first found us?
- No. Preserve the observed visit source and the homeowner’s original discovery answer separately. They may describe different steps in the same journey.
Should an unknown lead source be assigned to the latest campaign?
- No. Keep unknown sources visible and resolve uncertain matches using the available record. A reporting gap should not become an invented campaign result.

