Skip to the content
App & Plugin Development

CM Visitor Tracker. Every enquiry knows where it came from.

Our own WordPress plugin that remembers how each visitor found the website, whether it was a Google ad and the words they searched, a Google search, an AI assistant such as ChatGPT, a social post, a newsletter or a printed leaflet, and adds it to every enquiry they send. The business sees it in the enquiry email itself, and month by month in a report, so its marketing can be judged by the enquiries it brings. It’s built into WS Form, the form builder on every website we make in Etch, and it waits for each visitor’s cookie choice.

Product
CM Visitor Tracker, a WordPress plugin
Made by
Clifton Media
Built for
WordPress, Etch and WS Form
Live on
We Love Teeth, Matlock Athletic Club and our own website
The Lead sources screen on a demo site: enquiries by channel for the last twelve months as coloured columns, a legend of channels such as paid search, organic search, AI assistant, social, email, referral and direct, and the latest enquiries with where each came from
An enquiry email on a phone, ending with a panel headed Where this enquiry came from

Lead sources, and the email that comes with every enquiry

Shown on a demo site with made-up enquiries.

  • Plugin
  • WS Form
  • Reports
  • 12Channels it sorts visitors into, from paid search to AI assistants
  • 7Kinds of ad click it recognises, from Google, Microsoft, Meta, TikTok and LinkedIn
  • 397Automated checks, all passing
  • 0Cookies written before the visitor says yes
01

Which marketing brings in the business?

A practice might run Google Ads, post on Facebook, send a newsletter and put leaflets through doors. Each of those has its own dashboard full of clicks, views and visits. None of them can say which one brought in the enquiry that arrived this morning.

So we made the enquiry say it. CM Visitor Tracker quietly follows each visitor from the moment they arrive, and when they send a form, the email the business receives ends with where they came from. Drag the divider to see the difference.

An ordinary enquiry email from the website: the visitor’s name, phone number, email and what the enquiry is about, and nothing moreThe same email with CM Visitor Tracker: under it a panel, Where this enquiry came from, showing paid search, the campaign, google / cpc, the page they landed on, their first visit, one visit, under a minute to enquire, the pages they saw and the ad click

A made-up enquiry on our demo site: she first found the practice through ChatGPT, then came back from a Google ad nine days later.

02

Every visit, remembered

People rarely enquire on their first visit. Someone might find a practice through a Google search on Monday, see a Facebook post on Wednesday and come back from an advert on Friday to book. The tracker remembers both ends of that story: how they first found the site, and what brought them back the time they enquired.

Google ad Google search ChatGPT Facebook post Newsletter Leaflet QR code The website First touchhow they first found the site Last touchwhat brought them back This visitthe pages they saw only after they accept cookies New enquiry WHERE IT CAME FROM Paid search google / cpc · implants 3 visits · 4 days to enquire

One visitor’s journey: found the practice on Google, came back from an advert, and enquired.

  • First touch and last touch. How they first found the site never changes. What brought them back is updated each time a campaign, an ad, a search, an AI assistant, social media or an email sends them, so a casual return visit doesn’t wipe out the advert that did the work.
  • The whole visit. The page they landed on, the pages they saw before enquiring, how many visits it took, and how long from their first visit to their enquiry.
  • Earlier enquiries. If the same person has enquired before, the email says so.
  • Works with page caching. Everything is worked out in the visitor’s browser and checked again by the website when the form is sent, so pages stay fast and cached.
03

It knows Google from ChatGPT

Campaign links tagged with UTM codes are read exactly as they were written. But most visits don’t come from tagged links, so the tracker also recognises where people came from on its own: Google, Bing and other search engines, AI assistants such as ChatGPT, Perplexity and Gemini, Facebook, Instagram, LinkedIn and the rest of social media, webmail, and every other website.

It knows the small things that trip up other tracking too. A link tapped in the Gmail app on Android is an email, not a Google search. An ad click is recognised from Google, Microsoft, Meta, TikTok and LinkedIn, and kept with the enquiry. And messy tags are tidied, so “fb”, “Facebook” and “facebook.com” all count as Facebook.

  • Paid searchGoogle and Microsoft ads
  • Organic searchGoogle, Bing, DuckDuckGo
  • AI assistantChatGPT, Perplexity, Gemini
  • Paid socialFacebook and Instagram ads
  • Organic socialPosts, bios and shares
  • EmailNewsletters and webmail
  • ReferralAny other website
  • DirectTyped in, or a bookmark
  • And moreDisplay, affiliates, other campaigns

The channels and their colours, as the reports show them. They follow the way Google Analytics groups traffic, so the two can be compared.

04

Built into the forms we build

Every website we make in Etch uses WS Form for its forms: bookings, enquiries, call-backs, referrals. CM Visitor Tracker was made for that one form builder and nothing else, so everything it records appears inside WS Form’s own screens, where the forms are already managed.

  • Two ready-made sets of hidden fields, Essentials and Everything, dragged into any form from WS Form’s own library.
  • A Visitor Tracker group in WS Form’s list of variables, so any detail can go into an email, a message or a field.
  • A setting on the Send Email action that adds the “Where this enquiry came from” panel.
  • The source of every enquiry in WS Form’s submissions, and in its spreadsheet export.
  • The panel is added only to the business’s own emails, never to the confirmation a customer receives.
  • The tracker never changes a form by itself. Nothing is added until someone drags it in.
A WS Form submission on a demo site, with its tracking panel listing where the visitor came from: channel, source, medium, campaign, landing page, visits and days to enquire

In every submission

WS Form’s own submission screen, with the visitor’s journey beside their message.

  • WS Form
The WS Form editor’s section library on a demo site, with Visitor Tracker – Essentials and Visitor Tracker – Everything ready to drag into the form

Drag it in

Essentials adds eight hidden fields, Everything adds nineteen.

  • Form editor
WS Form’s variable picker on a demo site, open at the Visitor Tracker group: lead channel, source, medium, campaign, landing page, first touch and more

A variable for everything

Pick any detail from WS Form’s own menu.

  • Variables
The settings of WS Form’s Send Email action on a demo site, with the option to add the Visitor Tracker report to the email

One setting for the email

Always, never, or automatic: team emails get the panel, customers never do.

  • Email
05

Remembering a visitor means a cookie, so the tracker does nothing until the visitor has said yes. It works with the cookie banner on our websites and with Google Consent Mode, and if someone says no, or changes their mind later, everything it stored about them is deleted at once.

  • First-party only. Its cookies belong to the business’s own website, and what it records stays on that website.
  • Personal details are never stored in addresses. If a link carries someone’s email address in it, that part is removed before anything is kept.
  • Remembered for a sensible time. Ninety days after the last visit, then forgotten. After an enquiry, the business can choose to keep remembering, forget after a few days, or forget straight away.
  • Each enquiry records the cookie choice. So an enquiry with no source says why: the visitor said no, rather than something going wrong.
  • Safari-proof. Safari forgets cookies written by a page’s scripts after a week, so the website re-issues them itself, and returning visitors are still recognised.
06

The best way to know a campaign worked is to tag its links. The tracker has a link builder of its own: choose where the link goes, say what it’s for, and it makes the tagged link and a QR code ready for a leaflet, a poster, a newsletter or a social media bio. The names are tidied as they’re typed, so every campaign is spelled the same way in the reports, and every link made is saved in a list to use again.

The Links tab on a demo site: fields for the page, source, medium and campaign of a leaflet campaign, the finished tagged link with a copy button, and its QR code ready to download

A leaflet’s link and QR code

Print it, and every enquiry from the leaflet says so. Shown on a demo site.

  • Links
  • QR codes
07

Reports that come to you

Every enquiry is a lead, and so is every tap on a phone number, an email address or a WhatsApp link, each with where that visitor came from. They all add up in the Lead sources report: twelve months by channel at a glance, then by source, campaign or landing page, with a spreadsheet download of the lot.

Nobody has to log in to see it. A monthly email can go to the business on the 1st, with last month’s leads by channel compared with the month before. And if the tracker ever stops recording, for any reason, an email and a notice in WordPress say so.

A twelve-month stacked column chart of leads by channel on a demo site, each month’s column split into paid search, organic search, AI assistant, social, email, referral and direct

Twelve months at a glance

Hover over a column for its numbers, or show them all as a table. Demo data.

  • Reports
The monthly report email on a demo site: last month’s leads by channel as bars, compared with the month before

The monthly email

Last month’s leads by channel, written for the business, not for analysts.

  • Email
The Check tab on a demo site: a list of checks with green ticks, that tracking is on, WS Form is active, the tracker is in the home page, it waits for consent, reports are added to team emails, taps are counted, the daily checks are scheduled and updates are signed, plus one warning that the demo site isn’t on HTTPS, then the last 30 days of enquiries

A health check

One screen that says whether everything’s working, and why not if it isn’t.

  • Check
08

Where it’s working

We Love Teeth runs Google Ads for emergency appointments, Invisalign and implants, each landing on a page of its own with a short call-back form. Every enquiry from those pages reaches the practice saying which campaign it came from, and the same goes for every other form on the site. There’s more on the practice’s new website in our We Love Teeth case study.

Matlock Athletic Club uses it on the club’s own forms, so each one that arrives says how its sender reached the club’s website. The club’s website is in our Matlock Athletic Club case study.

Our own website runs it too. Every “Website by Clifton Media” credit at the foot of our clients’ sites carries its own tags, so when someone enquires after admiring a client’s website, we know which one.

A client site’s footer credit, and what the enquiry says

clifton-media.co.uk/work/weloveteeth/
?utm_source=weloveteeth.co.uk&utm_medium=referral&utm_campaign=website-credit

Where this enquiry came from: Referral · weloveteeth.co.uk · website-credit
(the panel in the enquiry email, in short)

Results

Marketing judged by the enquiries it brings. Every enquiry on our clients’ websites can now say where it came from, in the email the business already reads, and the reports add them up month by month. It runs on the website itself, it waits for consent, and it’s looked after by the same team that built the site.

QuestionWhere the answer is
Where did this enquiry come from?At the foot of the enquiry email
Which campaign or ad was it?In the email, the submission and the report
How long did they take to enquire?Visits and days to enquire, in the email
Are phone calls from the website counted?Taps on phone, email and WhatsApp links count as leads
Did last month’s leaflet work?Its QR code’s leads, in the monthly email
Is it still working?The Check tab, and an alert if it ever stops

Built with

  • WordPress
  • WS Form
  • Etch
  • Google Consent Mode
  • PHP
  • JavaScript
  • First-party cookies
  • Signed releases
  • Automated tests

Want to know which of your marketing brings in the business? We’d like to hear about it.

NextCM ReviewsGoogle reviews collected every day, stored on the website and designed into every page.

Have a project in mind? We would like to hear about it.

  • Book a callThirty minutes on a video call, at a time that suits youBook a call
  • Phone07515 730686
  • Email
  • BasedMatlock, Derbyshire