Measurement

Web Analytics for Service Businesses: What to Measure in GA4 and Tag Manager

By JCUpdated 7 min read

If you sell services, GA4 needs to answer three questions: where the people who contact you come from, what they read before contacting you, and at which step they leave. For that you need only a few well‑built events: a successful form submission (generate_lead), clicks to WhatsApp, phone and email, and, if possible, the stages from your CRM back to GA4 (qualify_lead and close_convert_lead). Tag Manager is where you set them up without asking a developer for a change each time.

The rest (heat maps, scroll depth, time on page) helps improve pages, but it does not tell you if you are selling.

What is web analytics and why does it matter for a service business?

It is measuring what people do on your site so you can decide on ads, content, and design. In an online store the sale happens on the site. In a service business it does not: the site generates the contact and the sale happens later, via WhatsApp, a phone call, or a meeting.

Because of that, web analytics for a service business does not end in GA4. It ends in the CRM. GA4 tells you which channel and which page generated the contact; the CRM tells you if that contact bought.

What should GA4 measure on a service site?

Visitor action Event How it’s measured Key event?
Views a page page_view Automatic No
Starts filling the form form_start Enhanced measurement or custom event No
Submits the form successfully generate_lead Recommended event, from Tag Manager Yes
Clicks WhatsApp link Custom event, e.g. contact_click with channel: whatsapp Tag Manager, click on links to wa.me Yes
Clicks phone or email link Same event with channel: phone or email Tag Manager, click on tel: and mailto: links Yes
Downloads a file file_download Enhanced measurement Only if the file is a quote or catalog
Lead becomes an opportunity qualify_lead From the CRM, no direct connection Yes
Lead makes a purchase close_convert_lead From the CRM, no direct connection Yes

In Mexico many people prefer to write on WhatsApp rather than fill out a form. If you do not measure that click, your reports underestimate what the site does and your ads learn with only half the information.

About the form: GA4’s enhanced measurement brings form_start and form_submit, but I do not count leads with form_submit. Whether it fires correctly depends on how the form is built. I prefer to fire generate_lead only when the success message appears.

Which events does Google recommend for measuring sales opportunities?

Google has a set of recommended events aimed at B2B sales and, in general, for conversions that happen off‑site. These are, with Google’s description:

Event Sent when the lead…
generate_lead submits an online form or sends offline information
qualify_lead meets the criteria to become a qualified sales opportunity
disqualify_lead is disqualified for any reason
working_lead contacts a representative, or vice versa
close_convert_lead becomes a customer
close_unconvert_lead is closed without becoming a customer

If you send these, GA4 fills the Potential Customer Acquisition report (under Reports › Acquisition), which shows by channel how many new leads, qualified leads, and converted leads you had. It is the most useful GA4 report for a service business, and almost nobody has it filled because it requires sending the stages from the CRM.

How to set this up in Google Tag Manager?

This is the order I follow. The names are taken from the Tag Manager help in Spanish.

  1. Load GA4. In Tags › New, create a Google Tag with your measurement ID and the trigger Initialization – All Initialization Events.

  2. Notify when the form is sent successfully. Ask your developer to add a line like this when the success message appears:

    dataLayer.push({event: 'generate_lead', form_name: 'contacto', service: 'crm'});

  3. Create the event tag. Choose Google Analytics: GA4 Event, enter your measurement ID, the Event name (generate_lead) and any parameters you want to send, such as the service chosen.

  4. Create the trigger. For the form, use a custom event trigger named generate_lead. For WhatsApp, use a click‑on‑link trigger with the condition that the clicked URL contains wa.me.

  5. Test. In Workspace, click Preview, enter your site URL and click Connect. Tag Assistant shows which tags fired and in what order. Submit a test form and verify that generate_lead appears only once.

  6. Publish. Click Submit, write a Version name that explains what you changed, and click Publish. That way, if something breaks, you know which version to revert to.

One detail to decide early: use the event names Google recommends when one exists for your case. If you invent formulario_ok, GA4 does not recognize it and will not fill its predefined reports.

How to mark an event as a key event?

In Admin › Data Settings › Events, find the event and click the star. If the event has not arrived yet, you can create it as a key event from there with + Create event.

Watch out for a common confusion: a GA4 key event is not the same as a Google Ads conversion. Google Ads conversions are set up in Google Ads and do not appear in GA4’s standard reports. If you import a GA4 key event into Google Ads, make sure you are not counting the same action twice with another tag.

Which GA4 settings should you check on day one?

Setting Where Recommendation
Enhanced measurement Admin › Data Collection › Data Streams, in your stream Turned on; review which options you need
Data retention Admin, under Data Retention 14 months (options are 2 or 14; affects explorations, not standard reports)
Attribution model Admin › Data Settings › Events › Attribution Settings Data‑driven, unless you have very few conversions
Key events Admin › Data Settings › Events Only those that represent a contact or a sales stage
Data import Admin › Data Collection › Data Import To upload CRM stages via CSV or SFTP if you do not send them automatically

About attribution: today GA4 offers three models (data‑driven, last click on paid and organic channels, and last click on Google paid channels). First‑click, linear, time‑decay, and position‑based models were removed in November 2023. The look‑back window for key events like a lead is 90 days and can be reduced to 60 or 30.

A recent change worth using: GA4’s default channel grouping now includes AI Assistant for visits that come from ChatGPT, Gemini, DeepSeek, Copilot, or Grok. It does not include AI‑generated views or Google’s AI Mode.

Which GA4 reports should you look at each month?

  • Traffic acquisition: sessions and key events by channel. Shows which channel generates contacts.
  • Potential customer acquisition: only if you send CRM stages. Shows which channel generates customers.
  • Advertising › Conversion paths: which channels people touched before contacting you. Useful when sales take weeks.
  • Landing page: which page the people who eventually contacted you entered through. Shows which service pages and articles actually work.

What GA4 will not tell you

GA4 does not know who bought unless you tell it. It also does not see who rejected cookies if your site asks for consent before loading tags, nor does it see who messages you on WhatsApp without going through the site.

Therefore GA4 numbers and your CRM numbers will never be identical. When they differ, report both figures and the difference, and let the CRM sale win. In how to know which channel brings you customers I explain how to cross‑reference them, and in marketing KPIs that actually matter I list the numbers to include in a report.

What I would do this week

  1. Open Tag Assistant in Preview mode, submit a test form, and see what fires.
  2. Measure WhatsApp clicks if they are not being measured.
  3. Mark only the form submission and contact clicks as key events, and unmark everything else.

I manage Google Ads and Meta Ads campaigns linked to sales. If your ads aim at forms instead of customers, schedule 30 minutes.