Website Lead Tracking: Which Ad Brought Each Inquiry

Website lead tracking means knowing which campaign, ad and channel produced every inquiry that reaches your team. If you buy traffic from Instagram, Google and Telegram channels but your CRM labels everything as “website”, budget decisions come down to guesswork. Here is how to fix that without a complicated setup.

Why ad dashboards alone mislead you

Every ad platform counts results by its own rules. One credits a lead if someone saw an ad and ordered two days later; another only counts clicks. Add them up and the total rarely matches what sits in your CRM. Phone calls from the number on your site and chats in Telegram never show up in those dashboards at all.

So the source has to be recorded on your side and stored next to the customer’s contact details. Then the question “what actually worked?” is answered by your own data rather than by platform reports.

Agree on UTM tags before the ads go live

UTM tags are parameters added to a page link that tell analytics where a visitor came from. What matters most is one shared convention: Latin letters, lowercase, no spaces. Otherwise “Instagram”, “instagram” and “insta” become three separate sources in your report.

Keep a shared sheet with link templates and give it to everyone who launches ads: your media buyer, an agency, the person running your channel. Dynamic parameters in ad accounts can fill in campaign names automatically.

  • utm_source: the platform, such as instagram, google or telegram
  • utm_medium: the traffic type, such as cpc, paid_social or post
  • utm_campaign: the campaign name, for example new_year_offer
  • utm_content: the specific ad or creative
  • utm_term: the search keyword

How website lead tracking carries the tag into the inquiry

Analytics sees a tagged visit, but the inquiry that lands in your inbox or CRM usually has no tags. Hidden form fields solve this: when the page loads, a script reads the link and writes the source, campaign and ad into invisible fields. They travel to the CRM together with the name and phone number.

There are two traps. First, a visitor lands on a product page from an ad, browses the catalog and only then submits the form, by which time the tags in the address are gone. Store them in cookies or browser storage. Second, someone leaves to think it over and comes back directly a week later. Decide in advance how long a tag is kept and whether the first or the last source counts as the main one, then stick to that rule.

Ad systems also add their own click identifiers, such as gclid for Google and fbclid for Meta. Save them with the inquiry so that real sales data can later be sent back to the platform.

Calls, Telegram and in-app lead forms

Many customers in Uzbekistan would rather call or message you in Telegram than fill in a form. If you only count forms, your warmest prospects drop out of the statistics.

Asking “how did you hear about us?” is the simplest method and also the least precise, because people forget or name the first thing that comes to mind. It is fine to start with; once the budget grows, automate it.

  • Calls: call tracking that swaps the number by source, or separate numbers for your biggest channels
  • Telegram bot: pass the source in the bot link’s start parameter and save it with the user
  • Messenger button without a bot: a pre-filled message that contains a source code
  • Instagram and Facebook lead forms: export them to the same CRM or sheet with the campaign and ad names

A weekly report you can act on

Each inquiry in your sheet should carry a date, channel, campaign, ad, status and, if a sale happened, its amount. Once a week, group rows by channel and campaign, add ad spend from the accounts in sums, and calculate the cost per inquiry and the cost per sale.

Look at sales, not just inquiries. One campaign may bring cheap leads that never buy, while another brings pricier ones who pay. Without a status field in the CRM, that difference stays invisible.

Common mistakes

A quick check takes minutes: open a campaign link with its tags, submit a test inquiry and confirm the source and campaign appear in the CRM. Repeat it after every launch and every site change.

  • Tags in mixed case or with typos
  • Some ads launched with no tags
  • A form on another page that drops the tags
  • A “source” field in the CRM that nobody fills in
  • Calls and messengers left out of the count
  • No one rechecks tracking after the site is edited

What this means for your website

Tracking is easiest to build in while the site is being made: hidden fields, analytics goals, one consistent form across pages and a link to your CRM or Telegram bot. A finished site can be adapted, but it usually takes longer and costs more.

At markdev we build turnkey websites with analytics set up from the start. If you want to work out what your business needs, write to us and we will go through the task together.

FAQ

Are UTM tags enough for website lead tracking?

No. Tags show where a visit came from, but they only reach the inquiry through hidden form fields and browser storage. Calls and messenger chats need separate tracking.

How can I count phone calls without expensive tools?

Have your manager ask how the customer found you and record the answer in a required CRM field. Later you can add call tracking or dedicated numbers for key channels.

Why do ad account numbers differ from my CRM?

Platforms use different attribution rules and cannot see some calls and chats. A CRM that stores the source with each inquiry is closer to reality.

How often should I check that tags reach the inquiry?

After every new campaign and every site edit. Open a tagged link, send a test inquiry and look at the CRM card.

Let’s look at your task for free

Leave your contact — in a 15-minute call we’ll show where leads get lost and what to fix first.