UTM Tracking for Business Listings: A Naming System You Can Maintain
Add consistent UTM parameters to the website link on a listing (where the platform allows it), send visitors to the most relevant page, and test that the labels reach your analytics. Then compare the visits you measured with the enquiries you received and the work you won.
A UTM describes the link someone used to arrive. It does not show that the visitor became a customer, that the directory introduced them for the first time, or that every contact can be traced back to it.
A small naming register and a repeatable test usually matter more than a complicated tracking dashboard.
What a tagged link contains
Google's campaign parameters identify a source, a medium and a campaign in supported reports. Optional parameters can separate placements or creative variations. The values you choose become your reporting vocabulary. Google's campaign URL guidance
Here is a demonstration link on the reserved example.com domain:
https://example.com/repairs/?utm_source=trade_directory&utm_medium=referral&utm_campaign=business_profile
The destination is the repairs page. The three labels name the originating platform, the acquisition route and the campaign or placement group. Swap the example domain for your own real page, because this one is not a live business destination.
A ? starts the query string and & separates values. If your destination already has a query string, join the parameters with & and do not add a second question mark. Use a reliable URL builder, or ask your website supplier to build the link when the destination is complicated.
Agree the reporting question before choosing names
A good first question is: how much measurable website activity comes through this listing link, and how much of that activity goes with received enquiries?
That is narrower than "which platform produced every sale". A customer can see a profile, phone directly, come back later through a search for your name or switch devices. UTMs cannot see any of that.
Decide whether you really need to tell apart the platform, a particular branch, a free profile and a sponsored placement. Do not stuff a branch or a service into every parameter when the landing page already supplies that context and the extra label serves no reporting purpose.
A workable naming register
Use short, stable values and write them down before you hand links to several people.
| Link | Source | Medium | Campaign | Optional content |
|---|---|---|---|---|
| Free directory profile | directory identifier | referral | business_profile | website_link |
| Agreed sponsored directory placement | same directory identifier | referral | sponsored_city_test | placement name |
| Google Business Profile website link | organic | business_profile | website_link | |
| Printed brochure QR destination | brochure identifier | offline | named distribution | QR position |
| An opted-in customer newsletter | newsletter identifier | edition or campaign name | link position |
These are editorial conventions, not values Google requires. A Google profile link can show up on several Google surfaces, so a campaign label for that profile does not prove the visit came from Maps specifically.
In this example, "referral" describes the directory link route for both free and sponsored placements. The campaign register must separately record which placement was paid for and what it cost. Do not expect the default channel group to work out your commercial arrangement from your labels. If you need another classification, agree it with whoever owns the reporting and test it before you change the register.
Keep case, spelling and separators identical everywhere. Switching a platform identifier to a new abbreviation can split a useful history across several rows.
Keep the link register practical
For each link, record the destination, the complete tagged URL, the public profile URL, the business or branch, its purpose, the date it was applied and the date it was last tested. Keep any fee or campaign agreement reference outside the public URL.
Whoever maintains the listing needs the full approved link. Whoever reads the reports needs the naming definitions. One register shared between the two stops well-meant edits from changing what the reports mean.
If you are an agency, keep each client's register separate. A naming convention can be reused. Another client's destinations, private references and results cannot.
Pick a landing page that can keep the promise
A correct tag cannot rescue the wrong destination. Someone who clicks through from a specialist repair listing should reach useful information about that repair work, including coverage and a clear way to make contact.
Check the page on a phone. Look for an understandable service name, the right branch or service area, and a next step that works without hunting through the site.
If one business profile covers several services, a well-organised service hub may suit better than an arbitrarily chosen specialist page. Use the destination that fits the context where the link appears.
The service-page guide explains what the destination should contain. Test tracking and page relevance together.
Test the whole route
Run a controlled test in a session where measurement is permitted and the real website tag is active.
- Open the approved tagged URL and confirm the intended page loads.
- Follow any normal redirect and check the campaign labels survive.
- Repeat through the real public listing link when the platform allows it.
- Confirm the expected source and campaign in the current analytics report, or in debug evidence.
- Make one authorised test enquiry and confirm its receipt separately in the business system.
- Record the device, date, consent context and what you observed.
Do not click a live advert repeatedly just to generate evidence. Use the platform's preview or test mechanism, and agree any billable check in advance.
A page that loads proves the destination works. It does not prove measurement. An analytics observation proves collection in that one test context, not that every future visitor will be collected.
Troubleshoot labels that vanish or look wrong
| Symptom | What to check |
|---|---|
| The destination loses its parameters | Website redirects, link shorteners and the link the platform stored |
| Several spellings appear in reports | The register, and links kept by different people |
| The visit appears but the enquiry event does not | Consent, the event implementation and whether the form really succeeded |
| A campaign lands in an unexpected channel | The literal source and medium values, and the current channel rules |
| A profile edit looks saved but the public link is old | The platform's edit status and which public record you are viewing |
| Reports show no test session | The right property, collection settings, test method and debug context |
Write a diagnostic note before you rewrite every label. A reporting configuration problem and a broken destination need different fixes.
Read the right report and dimension
GA4's Traffic acquisition report uses session-scoped acquisition information. Its User acquisition report covers how new users were acquired. Pick the report that matches your question, and do not compare similarly named numbers as if they describe the same group of people. Traffic acquisition documentation
To review a listing link, look at session source and medium plus the relevant campaign over a fixed date range. Use the report controls you currently have, because navigation can vary with the property's configuration and your permissions.
A literal source or campaign value helps when a default channel group is broad or surprising. Keep the stored labels distinct from any classification layered on top.
Why directory clicks and Analytics sessions differ
A directory can record an outbound click before your website finishes loading. One visitor can click twice. Browsers can block collection, visitors can decline it, and reporting systems can use different timezones or bot filters.
A gap is something to investigate. It is not automatic proof that a platform made up traffic, or that Analytics lost a known number of customers.
Compare definitions, periods and settings first. For a large unexplained difference, test the real route and check for recent website or campaign changes. Do not invent an exact correction factor from a small sample.
Worked example: a dog grooming studio
The figures here are fictional. A grooming studio tags two directory links: its free profile and a one-month sponsored placement. The campaign values tell the links apart, while a cost register records the paid agreement.
At month-end the directory reports 40 outbound clicks across both links. Analytics records 27 associated sessions and six measured accepted-enquiry events. The business system holds eight relevant enquiries marked with a directory source, recorded in different ways, including two customers who say they phoned after seeing the profile.
The owner keeps all three sets of numbers. Forty clicks do not become 40 leads. Six measured events do not cancel out two phone contacts. Eight attributed enquiries do not prove eight extra customers. The owner looks at how well the enquiries fit and at eventual bookings before deciding whether to renew the placement.
The way you record things is more useful than forcing the counts to agree.
Protect the meaning of your acquisition data
Use acquisition labels on links that bring a visitor from another channel. For links inside your own site, use ordinary links and proper interaction measurement. Tagging every service button as a new marketing source makes the journey harder to read.
Keep personal information out of campaign values. A customer's name, email, phone or private enquiry reference is not needed to identify a public listing placement. Google's PII guidance explicitly covers campaign dimensions and URL parameters. Analytics privacy guidance
When a website moves, a listing changes or a campaign ends, update the register and test it again. A maintained naming convention shows you what the link can and cannot establish, and leaves the business outcome to your enquiry and job records.