Mavix Marketing Mavix Marketing, home +1 (510) 312-5086

Tracking and measurement

The tracking setup checklist, before you spend anything

What to set up before you spend on marketing, with a pass condition for each step, so a closed deal can be traced back to the click that produced it.

Set up tracking before you spend, because an analytics tool only records from the day it is installed and configured. The job is to be able to trace a paying customer back to the click that produced them, months later. In practice that means four linked Google accounts, a written definition of an enquiry, the source saved on the contact record in your CRM, and a test you repeat until the numbers agree.

The reason for the CRM step is a limit in the tools. Google Analytics 4 credits a key event to clicks inside a lookback window of 90 days at most (Google Analytics Help). A Google Ads conversion window runs to 90 days at most as well (Google Ads Help). If your sales take longer than that, the source has to be stored somewhere that keeps it.

The short version

  • Four accounts come first: Google Analytics 4, Search Console, Tag Manager and Google Ads, linked to each other before any budget is committed.
  • Decide what an enquiry is before you configure anything. Google Ads bids towards the actions you mark as primary conversions, so a newsletter signup marked as primary gets treated as a lead.
  • Save the source on the contact, in the CRM. GA4 looks back 90 days at most, so a deal that closes later can only be traced if the first click was stored with the enquiry.
  • Test with a real enquiry. One test form and one test call should each appear once in GA4, once in the ad platform, once in the inbox and once in the CRM, with the source attached.
  • Reconcile every month. Count the enquiries in the inbox and the CRM for the same dates and put them beside the conversions the platforms report. If the numbers drift apart, something broke.
  • Send closed deals back to the ad platform, so bidding learns from customers and not from form fills.

How to tell each part is working

This is the checklist as a set of pass conditions. Work down it once at setup, then again after any change to the site, the forms or the phone number.

CheckHow to test itIt passes when
GA4 is installedOpen your own site in a new tab and watch the Realtime reportYour visit appears in the report
Search Console covers the whole siteLook at the property type in the property selectorIt is a Domain property, verified by DNS record
Tags run through Tag ManagerOpen preview mode and load a pageEach tag you expect is listed as fired, once
Google Ads clicks carry an IDClick one of your own ads and read the landing page addressThe address contains a gclid parameter
Form conversion firesSubmit a test enquiry with preview mode and DebugView openOne event, with the form name, only after a successful submit
Call conversion firesRing the tracked number and stay on past the minimum lengthOne call conversion, and none for a call you hang up early
Source reaches the CRMOpen the test contact in the CRMSource, medium, campaign, landing page and click ID are filled in
Platform numbers match realityCount last month’s enquiries in the inbox and CRM, then compare with GA4 and the ad platformsYou can explain every gap between the counts

Which accounts need to exist before you spend?

Four: Google Analytics 4, Google Search Console, Google Tag Manager and Google Ads, linked to each other. Set them up in this order.

  • Install GA4 and confirm the Realtime report shows your own visit.
  • Verify the site in Search Console as a Domain property. A Domain property includes all subdomains and both http and https, and it can only be verified with a DNS record (Search Console Help). A URL-prefix property covers only addresses that start with that exact prefix.
  • Install Tag Manager and put every other tag inside it, so adding a new tool does not need a code deployment.
  • Link Search Console to GA4 so search queries sit beside on-site behaviour.
  • Link Google Ads to GA4 and check auto-tagging is on. Auto-tagging adds a click identifier, the gclid, to the landing page address of each ad click, and Google says it is on by default for new accounts (Google Ads Help).
  • Set GA4 data retention to 14 months. A standard property offers two months or 14 months for event data, and the setting affects explorations and funnel reports, not the standard aggregated reports (Google Analytics Help).
  • Exclude your own traffic and your agency’s. GA4 marks internal traffic by IP address and a data filter then removes it. Run the filter in testing mode first, because Google says the effect of an active filter on the data is permanent (Google Analytics Help).

What should count as a conversion?

Only an action that is a real enquiry: a submitted form, a phone call that lasted, a booked appointment. Write the list down before you configure anything, with a second list of actions that are only engagement.

The reason is how the bidding works. In Google Ads, primary conversion actions are the ones reported in the Conversions column and used for bidding (Google Ads Help). Whatever you mark as primary is what the system goes looking for more of.

  • Mark only the real enquiries as key events in GA4. Google defines a key event as an event that measures an action particularly important to the success of your business (Google Analytics Help).
  • Mark the same actions as primary conversions in the ad platforms, and everything else as secondary.
  • Set a minimum call length so a wrong number does not count. Google Ads counts a call as a conversion only when it lasts at least the length you set (Google Ads Help).
  • Attach a value to each conversion type where you can, even a rough one. Automated bid strategies use the conversion values you set (Google Ads Help).
  • Set the conversion window to fit your sales cycle. The Google Ads default is 30 days, and it can be set up to 90 days depending on the conversion source (Google Ads Help).
  • Check for duplicates, where the same enquiry is counted once by a tag and again by an import.

Hands typing on a laptop keyboard at a desk.

Photo: ANTONI SHKRABA production on Pexels.

Which events are worth recording?

Record the enquiry itself, plus the few steps around it that tell you where people give up. This is our working list. It is a recommendation from the accounts we set up, not a platform requirement.

  • Form start, which tells you whether the problem is the form or the page above it.
  • Form submission, with the form name and the page it was on.
  • Phone number click, separately for mobile and desktop.
  • Email address click.
  • WhatsApp or chat click, if you use one.
  • Calendar booking completed.
  • Any download or resource request.
  • Scroll depth at a few thresholds, which tells you whether long pages are being read.
  • Outbound clicks to your review profiles. Someone leaving to read your reviews is still weighing you up.

How do you trace a customer back to the first click?

Save the source with the enquiry, at the moment the enquiry is made, and keep it on the contact record. This is the section that gets skipped, and it is the one that lets you answer which campaign produced revenue.

  • Capture the first-touch source on the first page view and store it. That is the click that introduced the customer.
  • Capture the last touch separately. That is the visit on which they got in touch.
  • Keep UTM parameters and the click identifiers (gclid for Google Ads, fbclid for Meta, msclkid for Microsoft Advertising) through the whole visit.
  • Write all of it into every form as hidden fields, so it arrives with the enquiry and nobody has to guess afterwards.
  • Store it on the contact in the CRM as well as in analytics. GA4’s lookback window for key events is 30, 60 or 90 days (Google Analytics Help), so analytics alone cannot credit a deal that closes after that.
  • Record the landing page and the number of pages viewed before the enquiry.
  • Agree a UTM naming convention and write it down. Two spellings of one campaign become two rows in every report.

Do you need call tracking?

Only if calls are a real share of your enquiries. If they are, set it up like this.

  • Use a dynamic number that swaps by source, so a call can be tied to the campaign behind it.
  • Keep your normal number for direct and branded visits, so the number on your Google Business Profile and in directories stays consistent.
  • Record calls where the law allows it. The rules on telling callers differ by country and by US state, so check yours first. Use the recordings to judge lead quality, which a call count cannot show.
  • Send qualified calls back to the ad platform as conversions.

A man in an office talking on a mobile phone beside a laptop.

Photo: Vitaly Gariev on Pexels.

Closing the loop into the CRM

The CRM is where a click becomes a customer, so it is where the source has to end up.

  • Send every enquiry to the CRM automatically, with the source attached.
  • Make sure whoever answers enquiries can see the source without opening another tool.
  • Mark deals as won or lost, so the source can be read again at the end.
  • Send closed deals back to the ad platforms. Google Ads does this by matching the stored gclid to the sale. For accounts that have not set up offline conversion import yet, Google now recommends starting with enhanced conversions for leads (Google Ads Help).
  • Agree in writing what a qualified lead is before anyone measures lead quality.

How do you check the numbers against the CRM and the inbox?

Count the same month in four places and explain every difference. The inbox and the CRM show what actually arrived. GA4 and the ad platforms show what was recorded. We run this check monthly on the accounts we manage, and again after any change to the site.

  1. Count the enquiry emails that reached the inbox for the month, including the spam folder.
  2. Count the new contacts created in the CRM for the same dates.
  3. Read the key event count in GA4 and the conversion count in each ad platform.
  4. Put the four numbers side by side.

The inbox and the CRM should match each other. The platforms will read a little differently, because some visitors decline cookies and because each platform credits a conversion by its own rules. A small, steady gap is normal. Three patterns are worth acting on:

  • The platforms report more than the inbox holds. Look for a trigger that fires on a button click, or the same enquiry counted by two tags.
  • The inbox holds more than the platforms report. Look for a form that was rebuilt without its tag, or a consent setting that holds the tag back.
  • The CRM holds fewer than the inbox. The form-to-CRM connection is dropping records, which means leads are being lost and not only miscounted.

Why this list exists

Without the source stored against each customer, budget decisions are made on instinct. The failure we look for on an inherited account is this one. The source with the lowest cost per enquiry can also be the one whose customers stay the shortest time, and nobody can tell, because first touch was never saved.

Very little of this needs paid software. Call tracking and a CRM are the exceptions. The rest is configuration, and it takes about a day. It gets skipped because it produces nothing visible on the day it is done.

The bottom line

A tracking setup is finished when a test enquiry shows up once in each place, with its source, and the monthly counts agree with the inbox. Until then the reports are describing the tags, and the budget is being set on a guess.

Questions people ask about this

Is GA4 enough on its own?

For behaviour on the site, yes. For tracing a sale back to its source across a long sales cycle, no. GA4 looks back 90 days at most when it credits a key event, and its reports are built to show totals, not to follow one named customer from click to invoice. The source has to live on the contact record in your CRM as well.

Do I need paid call tracking?

Only if a meaningful share of your enquiries arrive by phone. If they do, then without it you cannot tell which campaign produced a call, and you are guessing. If almost everyone uses the form, it is an expense with little return.

What if I have been running for years with none of this?

Set it up now and accept that the past is not recoverable. Trying to reconstruct historic attribution from incomplete data produces confident answers that are wrong, which is worse than admitting you do not know. Start the clock today and make decisions on data from here.

How do I test that a conversion actually fires?

Submit a test enquiry yourself and watch three places: GA4 real-time or DebugView, the preview mode in Tag Manager, and the conversion diagnostics in the ad platform. The event should appear once, with the form name attached. Then check the thank-you email arrived. If the event fires without a submission, for example on clicking the button, the trigger is wrong. Repeat the test after every form change, because forms are rebuilt more often than tracking is.

What if my forms are built by a third-party tool?

Most form tools fire an event or redirect to a thank-you page on success, and either one can be the trigger. Use the success event where it exists, because a thank-you page can be reached without submitting. Check that the tool supports hidden fields for source and click identifiers, and that they arrive in the CRM. If the tool cannot pass them, the attribution section of the checklist breaks, and that matters more than the design of the form.

Which UTM convention should I use?

Any one that everybody follows. Decide on lowercase throughout and a fixed set of source names such as google, facebook and newsletter. Add a fixed set of mediums such as cpc, email and social, and a campaign name format with the date in it. Write it in a shared sheet and build every link from the sheet. Consistency matters more than the scheme. Two spellings of the same source become two rows nobody can add together.

How do I store first touch on the contact record?

Capture the source, medium, campaign, landing page and click identifiers on the first page view. Store them in a cookie or local storage, and write them into hidden fields on every form. Map those fields to properties on the contact in the CRM, and set the CRM to keep the first value it received rather than overwrite it on later submissions. Last touch can overwrite. First touch must not.

Do I need Tag Manager if I only use GA4?

We recommend it, and the checklist puts it in the first four accounts for that reason. Today it is one tag. Next quarter it is a Google Ads tag, a Meta pixel, a call tracking script and a chat tool, and each one would otherwise need a developer. Tag Manager also gives you preview mode, which is the easiest way to test that a conversion fires. Install it once and add later tags inside it.

What conversion value should I use for a lead?

A rough, honest one beats none. Take what an average customer is worth after margin and multiply by the share of enquiries that become customers. That is the value of one enquiry. Give higher values to enquiry types that close more often, such as phone calls over newsletter signups. Review the values quarterly against the CRM. The point is to let the platform weight the good enquiries, not to report revenue.

How do I import offline conversions back into Google Ads?

Store the gclid on the contact when the enquiry arrives, as the checklist describes. When the deal is marked won in the CRM, export the gclid, the conversion time and the value. Upload the file to Google Ads under offline conversion imports, or connect the CRM directly if it supports that. Do it at least weekly so bidding learns while the click is still inside the conversion window. Without the gclid stored, a click-based import has nothing to match. If you are setting this up for the first time, Google now recommends enhanced conversions for leads as the starting point.

Can I exclude my own visits without a fixed IP?

Yes. Set up a parameter, for example a query string you add when visiting your own site, that Tag Manager reads and stores in a cookie. Then add a GA4 filter for that traffic. Everyone on the team visits once with the parameter and is excluded from then on. Do the same for the agency. Check the exclusion is working by watching real-time reporting while you browse.

Share this

LinkedIn X

Free review

Want this looked at on your own site?

Send the address. A person reads it and writes back with the two or three things that would move your enquiry number first. Free, and yours to keep whether you hire us or not.

Next step

Now find out what yours needs.

The review looks at your live site and accounts and tells you what is actually wrong. Written by a person at Mavix Marketing, free, no obligation.

Free review

Send the address. We will tell you what it is costing you.

  • Search. What you rank for now, and the searches you should be winning.
  • Paid. What the spend is buying, and the campaigns quietly eating it.
  • Email. Whether the list is mailed at all, and what the missing flows are worth.
  • Tracking. Whether it measures anything real, or counts page views as sales.

The review is free, and yours to keep whether you hire us or not.

Send the site. We will say what we would fix first.

A minute to fill in. A written answer from a person, not a sequence.

Free, and yours whether you hire us or not.

Free review

A written plan for more enquiries from your site.

  • What you rank for, and what you should.
  • What the ad spend is buying, and what a lead really costs.
  • Which follow-up emails your list is missing.
  • Whether your tracking counts anything real.

Read by a person, written for your business, back within one working day. Yours to keep whether you hire us or not.

150+ businesses since 2019. No sequence, nobody chases you.

Free, and yours whether you hire us or not.

Book a call

Pick a time that suits you.

Fifteen minutes with the founder, who will have read your site before you speak.